Commit b2a0976d authored by hezhen's avatar hezhen

Merge branch 'dev' of http://113.105.137.151:22280/youjj/cloud-platform into dev

parents 2cbbf54d 419ba1c3
...@@ -31,4 +31,8 @@ public class CommonBaseController { ...@@ -31,4 +31,8 @@ public class CommonBaseController {
public String getCurrentUserName(){ public String getCurrentUserName(){
return BaseContextHandler.getUsername(); return BaseContextHandler.getUsername();
} }
public String getCurrentUserId(){
return BaseContextHandler.getUserID();
}
} }
...@@ -249,6 +249,18 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> { ...@@ -249,6 +249,18 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
return phoneAndUserIdMap; return phoneAndUserIdMap;
} }
public Map<String, Integer> findPhoneAndUserIdMapByPhonesForDel(List<String> phones) {
Example example = new Example(AppUserLogin.class);
Example.Criteria criteria = example.createCriteria();
criteria.andIn("username",phones);
List<AppUserLogin> appUserLogins = mapper.selectByExample(example);
Map<String, Integer> phoneAndUserIdMap = null;
if (CollectionUtils.isNotEmpty(appUserLogins)) {
phoneAndUserIdMap = appUserLogins.parallelStream().collect(Collectors.toMap(AppUserLogin::getUsername, AppUserLogin::getId));
}
return phoneAndUserIdMap;
}
public Map<Integer, AppUserLogin> findUserIdAndUserLoginMapByMemberIds(List<Integer> memberIds) { public Map<Integer, AppUserLogin> findUserIdAndUserLoginMapByMemberIds(List<Integer> memberIds) {
Map<Integer, AppUserLogin> userIdAndAppUserLoginMap = new HashMap<>(); Map<Integer, AppUserLogin> userIdAndAppUserLoginMap = new HashMap<>();
List<AppUserLogin> appUserLogins = mapper.selectByIdList(memberIds); List<AppUserLogin> appUserLogins = mapper.selectByIdList(memberIds);
......
...@@ -52,7 +52,7 @@ public class DataController { ...@@ -52,7 +52,7 @@ public class DataController {
@GetMapping("/clearwithphone") @GetMapping("/clearwithphone")
public ObjectRestResponse<Void> clearData(@RequestParam("phones") List<String> phons) { public ObjectRestResponse<Void> clearData(@RequestParam("phones") List<String> phons) {
Map<String, Integer> phoneAndUserIdMapByPhones = appUserLoginBiz.findPhoneAndUserIdMapByPhones(phons); Map<String, Integer> phoneAndUserIdMapByPhones = appUserLoginBiz.findPhoneAndUserIdMapByPhonesForDel(phons);
if (Objects.nonNull(phoneAndUserIdMapByPhones)) { if (Objects.nonNull(phoneAndUserIdMapByPhones)) {
Collection<Integer> userIds = phoneAndUserIdMapByPhones.values(); Collection<Integer> userIds = phoneAndUserIdMapByPhones.values();
//1.删除登录表信息 //1.删除登录表信息
...@@ -80,7 +80,7 @@ public class DataController { ...@@ -80,7 +80,7 @@ public class DataController {
@GetMapping("/clear_relation_withphone") @GetMapping("/clear_relation_withphone")
public ObjectRestResponse<Void> clearRelationphone(@RequestParam("phones") List<String> phons) { public ObjectRestResponse<Void> clearRelationphone(@RequestParam("phones") List<String> phons) {
Map<String, Integer> phoneAndUserIdMapByPhones = appUserLoginBiz.findPhoneAndUserIdMapByPhones(phons); Map<String, Integer> phoneAndUserIdMapByPhones = appUserLoginBiz.findPhoneAndUserIdMapByPhonesForDel(phons);
if (Objects.nonNull(phoneAndUserIdMapByPhones)) { if (Objects.nonNull(phoneAndUserIdMapByPhones)) {
Collection<Integer> userIds = phoneAndUserIdMapByPhones.values(); Collection<Integer> userIds = phoneAndUserIdMapByPhones.values();
appUserRelationBiz.deleteByMemberIds(userIds); appUserRelationBiz.deleteByMemberIds(userIds);
......
package com.github.wxiaoqi.security.admin.rpc.service; package com.github.wxiaoqi.security.admin.rpc.service;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.ace.cache.annotation.CacheClear;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.admin.biz.*; import com.github.wxiaoqi.security.admin.biz.*;
import com.github.wxiaoqi.security.admin.constant.RedisKey; import com.github.wxiaoqi.security.admin.constant.RedisKey;
...@@ -252,8 +251,15 @@ public class AppPermissionService { ...@@ -252,8 +251,15 @@ public class AppPermissionService {
if (StringUtils.isBlank(username) || StringUtils.isBlank(password) || StringUtils.isBlank(mobilecode)) { if (StringUtils.isBlank(username) || StringUtils.isBlank(password) || StringUtils.isBlank(mobilecode)) {
return JsonResultUtil.createFailedResult(ResultCode.NULL_CODE, "参数为空"); return JsonResultUtil.createFailedResult(ResultCode.NULL_CODE, "参数为空");
} }
if(StringUtils.isNotBlank(code)&&appUserDetailBiz.getUserByCode(code)==0){ if (StringUtils.isNotBlank(code)){
return JsonResultUtil.createFailedResult(ResultCode.NOTEXIST_CODE, "邀请人不存在"); //判断处理活动关键字
String[] codes = code.split("_");
if(codes.length > 1) {
String userCode = codes[0];
if(appUserDetailBiz.getUserByCode(userCode)==0) {
return JsonResultUtil.createFailedResult(ResultCode.NOTEXIST_CODE, "邀请人不存在");
}
}
} }
String redisLockKey = RedisKey.CONSTANT_CODE_PREFIX + username + mobilecode; String redisLockKey = RedisKey.CONSTANT_CODE_PREFIX + username + mobilecode;
String mobilecodeRedis = userRedisTemplate.opsForValue().get(redisLockKey) == null ? "" : userRedisTemplate.opsForValue().get(redisLockKey).toString(); String mobilecodeRedis = userRedisTemplate.opsForValue().get(redisLockKey) == null ? "" : userRedisTemplate.opsForValue().get(redisLockKey).toString();
......
...@@ -8,6 +8,7 @@ import tk.mybatis.mapper.code.IdentityDialect; ...@@ -8,6 +8,7 @@ import tk.mybatis.mapper.code.IdentityDialect;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Table; import javax.persistence.Table;
import javax.persistence.Transient;
import java.math.BigInteger; import java.math.BigInteger;
@Data @Data
...@@ -61,4 +62,7 @@ public class ActivityPopup { ...@@ -61,4 +62,7 @@ public class ActivityPopup {
@Column(name = "time_type") @Column(name = "time_type")
private Integer timeType; private Integer timeType;
@Column(name = "activity_id")
private Integer activityId;
} }
...@@ -36,7 +36,7 @@ import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TR ...@@ -36,7 +36,7 @@ import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TR
*/ */
@Service @Service
@Slf4j @Slf4j
public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper,ActivityPopularize> { public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper, ActivityPopularize> {
@Autowired @Autowired
ActivityPopularizeRelationBiz relationBiz; ActivityPopularizeRelationBiz relationBiz;
...@@ -66,16 +66,17 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper,Acti ...@@ -66,16 +66,17 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper,Acti
public static final Integer INVITE_ITEMID = 3; public static final Integer INVITE_ITEMID = 3;
public void handleRegister(RegisterQueueDTO registerQueueDTO) { public void handleRegister(RegisterQueueDTO registerQueueDTO) {
log.info("活动码注册成功:registerQueueDTO = {}", registerQueueDTO.toString());
if (StringUtils.isNotBlank(registerQueueDTO.getInParamDTO().getActivityCode())) { if (StringUtils.isNotBlank(registerQueueDTO.getInParamDTO().getActivityCode())) {
String activityCode = registerQueueDTO.getInParamDTO().getActivityCode().replace(PREFIX, ""); String activityCode = registerQueueDTO.getInParamDTO().getActivityCode().replace(PREFIX, "").replace("p", "");
AppUserDTO appUserDTO = userFeign.userDetailById(registerQueueDTO.getAppUserId()).getData(); AppUserDTO appUserDTO = userFeign.userDetailById(registerQueueDTO.getAppUserId()).getData();
//获取活动code,并且注册来源是app 并且 非普通登录 //获取活动code,并且注册来源是app 并且 非普通登录
if(!RegisterQueueDTO.SIGN_LOGIN.equals(registerQueueDTO.getSign()) && StringUtils.isNotBlank(activityCode)) { if (!RegisterQueueDTO.SIGN_LOGIN.equals(registerQueueDTO.getSign()) && StringUtils.isNotBlank(activityCode)) {
//查询出活动 //查询出活动
ActivityPopularize activityPopularize = popularizeBiz.selectOne(new ActivityPopularize(){{ ActivityPopularize activityPopularize = popularizeBiz.selectOne(new ActivityPopularize() {{
setCode(activityCode); setCode(activityCode);
}}); }});
log.info("活动邀请注册:activityPopularize = {}", activityPopularize.toString());
if (activityPopularize != null) { if (activityPopularize != null) {
List<ActivityPopularizeItem> activityPopularizeItems = activityPopularizeItemBiz.selectByPopularizeId(activityPopularize.getId()); List<ActivityPopularizeItem> activityPopularizeItems = activityPopularizeItemBiz.selectByPopularizeId(activityPopularize.getId());
ActivityPopularizeItem activityPopularizeItem = activityPopularizeItems.get(activityPopularizeItems.size() - 1); ActivityPopularizeItem activityPopularizeItem = activityPopularizeItems.get(activityPopularizeItems.size() - 1);
...@@ -84,13 +85,13 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper,Acti ...@@ -84,13 +85,13 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper,Acti
Date end = DateUtil.date(activityPopularize.getEndTime()); Date end = DateUtil.date(activityPopularize.getEndTime());
//判断是否活动超时 //判断是否活动超时
if(now.before(start) || now.after(end)) { if (now.before(start) || now.after(end)) {
log.error("不在活动范围内 入参Json:"+ JSONUtil.toJsonStr(registerQueueDTO)); log.error("不在活动范围内 入参Json:" + JSONUtil.toJsonStr(registerQueueDTO));
return; return;
} }
Integer majorUserId = Integer.valueOf(appUserDTO.getInviterAccount()); Integer majorUserId = Integer.valueOf(appUserDTO.getInviterAccount());
ActivityPopularizeRelation activityPopularizeRelation = new ActivityPopularizeRelation(){{ ActivityPopularizeRelation activityPopularizeRelation = new ActivityPopularizeRelation() {{
setMajorUserId(majorUserId); setMajorUserId(majorUserId);
setPopularizeId(activityPopularize.getId()); setPopularizeId(activityPopularize.getId());
}}; }};
...@@ -98,35 +99,36 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper,Acti ...@@ -98,35 +99,36 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper,Acti
//新增第几个邀请人和邀请金额字段 //新增第几个邀请人和邀请金额字段
Integer num = relationBiz.getByUserIdAndPopularizeId(activityPopularizeRelation); Integer num = relationBiz.getByUserIdAndPopularizeId(activityPopularizeRelation);
BigDecimal amount = new BigDecimal(0); double amount = 0;
JSONObject jsonObject = JSONObject.parseObject(activityPopularizeItem.getDetail()); JSONObject jsonObject = JSONObject.parseObject(activityPopularizeItem.getDetail());
if (jsonObject != null && StringUtils.isNotBlank(jsonObject.getString("detail"))) { if (jsonObject != null && StringUtils.isNotBlank(jsonObject.getString("detail"))) {
JSONArray jsonArray = JSONArray.parseArray(jsonObject.getString("detail")); JSONArray jsonArray = JSONArray.parseArray(jsonObject.getString("detail"));
if (jsonArray != null) { if (jsonArray != null) {
JSONObject jsonObject1 = jsonArray.getJSONObject(num - 1); JSONObject jsonObject1 = jsonArray.getJSONObject(num - 1);
if (jsonObject1 != null) { if (jsonObject1 != null) {
String amountString = jsonObject1.getString("amount"); double amountString = jsonObject1.getInteger("amount");
amount.add(new BigDecimal(amountString)); amount = amount + amountString;
} }
} }
} }
double a = amount;
//添加活动关系 //添加活动关系
relationBiz.insertSelective(new ActivityPopularizeRelation(){{ relationBiz.insertSelective(new ActivityPopularizeRelation() {{
setPopularizeId(activityPopularize.getId()); setPopularizeId(activityPopularize.getId());
setMajorUserId(majorUserId); setMajorUserId(majorUserId);
setMinorUserId(appUserDTO.getUserid()); setMinorUserId(appUserDTO.getUserid());
setNum(num); setNum(num);
setAmount(amount); setAmount(new BigDecimal(a));
}}); }});
ApLogDTO apLogDTO = popularizeLogBiz.selectOneApLogDTO(new ActivityPopularizeLog(){{ ApLogDTO apLogDTO = popularizeLogBiz.selectOneApLogDTO(new ActivityPopularizeLog() {{
setUserId(majorUserId); setUserId(majorUserId);
setItemId(activityPopularizeItem.getId()); setItemId(activityPopularizeItem.getId());
}}); }});
//生成任务项 //生成任务项
if(null == apLogDTO){ if (null == apLogDTO) {
popularizeLogBiz.insertSelectiveRe(new ActivityPopularizeLog(){{ popularizeLogBiz.insertSelectiveRe(new ActivityPopularizeLog() {{
setItemId(activityPopularizeItem.getId()); setItemId(activityPopularizeItem.getId());
setUserId(majorUserId); setUserId(majorUserId);
setStatus(SYS_FALSE); setStatus(SYS_FALSE);
...@@ -135,26 +137,36 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper,Acti ...@@ -135,26 +137,36 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper,Acti
} }
//查出majorUser参与活动信息 //查出majorUser参与活动信息
ActivityPopularizeUser activityPopularizeUser = popularizeUserBiz.selectOne(new ActivityPopularizeUser(){{ ActivityPopularizeUser activityPopularizeUser = popularizeUserBiz.selectOne(new ActivityPopularizeUser() {{
setUserId(majorUserId); setUserId(majorUserId);
setPopularizeId(activityPopularize.getId()); setPopularizeId(activityPopularize.getId());
}}); }});
double currentProgress = activityPopularizeUser.getCurrentProgress().doubleValue();
log.info("用户原活动进度:currentProgress = {}", currentProgress);
currentProgress += Double.parseDouble(a + "");
BigDecimal bigDecimal = new BigDecimal(currentProgress);
log.info("用户现活动进度:newCurrentProgress = {}", currentProgress);
if (activityPopularizeUser.getEndProgress().compareTo(bigDecimal) != 0) {
activityPopularizeUser.setStatus(0);
} else {
activityPopularizeUser.setStatus(1);
}
//修改当前进度 //修改当前进度
activityPopularizeUser.setCurrentProgress(activityPopularizeUser.getCurrentProgress().add(amount)); activityPopularizeUser.setCurrentProgress(bigDecimal);
popularizeUserBiz.updateSelectiveById(activityPopularizeUser);
//任务没有完成 //任务没有完成
if(!SYS_TRUE.equals(activityPopularizeUser.getStatus())) { if (!SYS_TRUE.equals(activityPopularizeUser.getStatus())) {
// AwardDTO awardDTO = JSONUtil.toBean(activityPopularize.getValue(), AwardDTO.class); // AwardDTO awardDTO = JSONUtil.toBean(activityPopularize.getValue(), AwardDTO.class);
//检查是否满足奖励 //检查是否满足奖励
if(relationBiz.selectList(new ActivityPopularizeRelation(){{ if (relationBiz.selectList(new ActivityPopularizeRelation() {{
setMajorUserId(majorUserId); setMajorUserId(majorUserId);
setPopularizeId(activityPopularize.getId()); setPopularizeId(activityPopularize.getId());
}}).size() >= 2) { }}).size() >= 10) {
apLogDTO.setStatus(SYS_TRUE); apLogDTO.setStatus(SYS_TRUE);
popularizeLogBiz.updateSelectiveById(BeanUtil.toBean(apLogDTO, ActivityPopularizeLog.class)); popularizeLogBiz.updateSelectiveById(BeanUtil.toBean(apLogDTO, ActivityPopularizeLog.class));
activityPopularizeUser.setStatus(SYS_TRUE); activityPopularizeUser.setStatus(SYS_TRUE);
activityPopularizeUser.setCurrentProgress(new BigDecimal(apLogDTO.getItem().getProgress()));
popularizeUserBiz.updateSelectiveById(activityPopularizeUser); popularizeUserBiz.updateSelectiveById(activityPopularizeUser);
mqSenderFeign.sendMessage(RabbitConstant.ADMIN_TOPIC, RabbitConstant.KEY_WALLET_ADD, JSONUtil.toJsonStr(new MyWalletDetail(){{ mqSenderFeign.sendMessage(RabbitConstant.ADMIN_TOPIC, RabbitConstant.KEY_WALLET_ADD, JSONUtil.toJsonStr(new MyWalletDetail() {{
setAmount(new BigDecimal("50")); setAmount(new BigDecimal("50"));
setSource(SOURCE_ACTIVITY); setSource(SOURCE_ACTIVITY);
setUserId(majorUserId); setUserId(majorUserId);
......
...@@ -30,7 +30,7 @@ public class ActivityPopularizeRelationBiz extends BaseBiz<ActivityPopularizeRel ...@@ -30,7 +30,7 @@ public class ActivityPopularizeRelationBiz extends BaseBiz<ActivityPopularizeRel
} }
public Integer getByUserIdAndPopularizeId(ActivityPopularizeRelation activityPopularizeRelation) { public Integer getByUserIdAndPopularizeId(ActivityPopularizeRelation activityPopularizeRelation) {
Integer num = mapper.getByUserIdAndPopularizeId(activityPopularizeRelation); Integer num = mapper.getByUserIdAndPopularizeId(activityPopularizeRelation);
return num == null ? 1 : num; return num == null ? 1 : num + 1 ;
} }
} }
\ No newline at end of file
package com.xxfc.platform.activity.biz; package com.xxfc.platform.activity.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import org.springframework.stereotype.Service; import com.google.common.collect.Maps;
import com.xxfc.platform.activity.entity.ActivityPopularizeUser; import com.xxfc.platform.activity.entity.ActivityPopularizeUser;
import com.xxfc.platform.activity.mapper.ActivityPopularizeUserMapper; import com.xxfc.platform.activity.mapper.ActivityPopularizeUserMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 用户与推广活动(邀请有礼)的关系表 * 用户与推广活动(邀请有礼)的关系表
...@@ -19,19 +20,39 @@ import java.util.List; ...@@ -19,19 +20,39 @@ import java.util.List;
* @date 2019-07-05 15:23:04 * @date 2019-07-05 15:23:04
*/ */
@Service @Service
public class ActivityPopularizeUserBiz extends BaseBiz<ActivityPopularizeUserMapper,ActivityPopularizeUser> { public class ActivityPopularizeUserBiz extends BaseBiz<ActivityPopularizeUserMapper, ActivityPopularizeUser> {
public ActivityPopularizeUser insertSelectiveReT(ActivityPopularizeUser entity) { public ActivityPopularizeUser insertSelectiveReT(ActivityPopularizeUser entity) {
if(insertSelectiveRe(entity) > 0) { if (insertSelectiveRe(entity) > 0) {
return selectById(entity.getId()); return selectById(entity.getId());
}else { } else {
throw new BaseException(ResultCode.DB_OPERATION_FAIL_CODE); throw new BaseException(ResultCode.DB_OPERATION_FAIL_CODE);
} }
} }
public void deleteByUserIds(List<Integer> userIds) {
Example example = new Example(ActivityPopularizeUser.class);
Example.Criteria criteria = example.createCriteria();
criteria.andIn("userId", userIds);
mapper.deleteByExample(example);
}
public void deleteByUserIds(List<Integer> userIds) { public Map<Integer, Boolean> getByUserIdAndPopularizeId(Integer userId, List<Integer> popularizeIds) {
Example example = new Example(ActivityPopularizeUser.class); Map<Integer, Boolean> activityIds = Maps.newHashMap();
Example.Criteria criteria = example.createCriteria(); if (userId == null || popularizeIds == null) {
criteria.andIn("userId",userIds); return activityIds;
mapper.deleteByExample(example); }
} popularizeIds.parallelStream().forEach(id -> {
Example example = new Example(ActivityPopularizeUser.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("userId", userId);
criteria.andEqualTo("popularizeId", id);
ActivityPopularizeUser activityPopularizeUsers = mapper.selectOneByExample(example);
if (activityPopularizeUsers != null) {
activityIds.put(id, true);
} else {
activityIds.put(id, false);
}
});
return activityIds;
}
} }
\ No newline at end of file
...@@ -7,6 +7,7 @@ import com.xxfc.platform.activity.entity.ActivityPopup; ...@@ -7,6 +7,7 @@ import com.xxfc.platform.activity.entity.ActivityPopup;
import com.xxfc.platform.activity.entity.ActivityPopupUser; import com.xxfc.platform.activity.entity.ActivityPopupUser;
import com.xxfc.platform.activity.mapper.ActivityPopupMapper; import com.xxfc.platform.activity.mapper.ActivityPopupMapper;
import com.xxfc.platform.activity.mapper.ActivityPopupUserMapper; import com.xxfc.platform.activity.mapper.ActivityPopupUserMapper;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -16,10 +17,8 @@ import tk.mybatis.mapper.weekend.WeekendSqls; ...@@ -16,10 +17,8 @@ import tk.mybatis.mapper.weekend.WeekendSqls;
import javax.swing.plaf.synth.SynthEditorPaneUI; import javax.swing.plaf.synth.SynthEditorPaneUI;
import java.math.BigInteger; import java.math.BigInteger;
import java.util.ArrayList; import java.time.Instant;
import java.util.Arrays; import java.util.*;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -38,6 +37,9 @@ public class ActivityPopupBiz extends BaseBiz<ActivityPopupMapper, ActivityPopup ...@@ -38,6 +37,9 @@ public class ActivityPopupBiz extends BaseBiz<ActivityPopupMapper, ActivityPopup
@Autowired @Autowired
private ActivityPopupUserBiz activityPopupUserBiz; private ActivityPopupUserBiz activityPopupUserBiz;
@Autowired
private ActivityPopularizeUserBiz activityPopularizeUserBiz;
/** /**
* 获取活动弹窗,根据是否登录 * 获取活动弹窗,根据是否登录
* *
...@@ -50,7 +52,7 @@ public class ActivityPopupBiz extends BaseBiz<ActivityPopupMapper, ActivityPopup ...@@ -50,7 +52,7 @@ public class ActivityPopupBiz extends BaseBiz<ActivityPopupMapper, ActivityPopup
if (activityPopups == null || activityPopups.size() == 0) { if (activityPopups == null || activityPopups.size() == 0) {
return activityPopups; return activityPopups;
} }
List<Integer> collect = activityPopups.parallelStream().map(ActivityPopup::getId).collect(Collectors.toList()); /* List<Integer> collect = activityPopups.parallelStream().map(ActivityPopup::getId).collect(Collectors.toList());
Example exaple = Example.builder(ActivityPopupUser.class) Example exaple = Example.builder(ActivityPopupUser.class)
.where(WeekendSqls.<ActivityPopupUser>custom() .where(WeekendSqls.<ActivityPopupUser>custom()
.andEqualTo(ActivityPopupUser::getUserId, userInfo.getUserid()) .andEqualTo(ActivityPopupUser::getUserId, userInfo.getUserid())
...@@ -60,13 +62,22 @@ public class ActivityPopupBiz extends BaseBiz<ActivityPopupMapper, ActivityPopup ...@@ -60,13 +62,22 @@ public class ActivityPopupBiz extends BaseBiz<ActivityPopupMapper, ActivityPopup
if (activityPopupUsers == null || activityPopupUsers.size() == 0) { if (activityPopupUsers == null || activityPopupUsers.size() == 0) {
return activityPopups; return activityPopups;
} }
Set<Integer> popupIdSet = activityPopupUsers.parallelStream().map(ActivityPopupUser::getPopupId).collect(Collectors.toSet()); Set<Integer> popupIdSet = activityPopupUsers.parallelStream().map(ActivityPopupUser::getPopupId).collect(Collectors.toSet());*/
List<ActivityPopup> result = new ArrayList<>(); List<ActivityPopup> result = new ArrayList<>();
List<Integer> activityIds = activityPopups.stream().map(ActivityPopup::getActivityId).collect(Collectors.toList());
activityIds = CollectionUtils.isEmpty(activityIds)? Collections.EMPTY_LIST:activityIds;
Map<Integer, Boolean> activityPopularizeUserMap = activityPopularizeUserBiz.getByUserIdAndPopularizeId(userInfo.getUserid(), activityIds);
for (ActivityPopup activityPopup : activityPopups) { for (ActivityPopup activityPopup : activityPopups) {
if (popupIdSet.add(activityPopup.getId())) { /*if (popupIdSet.add(activityPopup.getId())) {*/
result.add(activityPopup); boolean flag = activityPopularizeUserMap.isEmpty() ||
} activityPopularizeUserMap.get(activityPopup.getActivityId()) == null ||
activityPopularizeUserMap.get(activityPopup.getActivityId()).equals(Boolean.FALSE);
if (flag) {
result.add(activityPopup);
}
// }
} }
return result; return result;
} else { } else {
...@@ -85,17 +96,34 @@ public class ActivityPopupBiz extends BaseBiz<ActivityPopupMapper, ActivityPopup ...@@ -85,17 +96,34 @@ public class ActivityPopupBiz extends BaseBiz<ActivityPopupMapper, ActivityPopup
private List<ActivityPopup> getActivityPopupByTypes(String Types) { private List<ActivityPopup> getActivityPopupByTypes(String Types) {
long timeMillis = System.currentTimeMillis(); long timeMillis = System.currentTimeMillis();
//获取有期限的弹窗timeType=1 //获取有期限的弹窗timeType=1
Example exa = Example.builder(ActivityPopup.class) Example exa = new Example(ActivityPopup.class);
.where( /* .where(
WeekendSqls.<ActivityPopup>custom() WeekendSqls.<ActivityPopup>custom()
.andEqualTo(ActivityPopup::getTimeType, 1) .andEqualTo(ActivityPopup::getTimeType, 1)
.andGreaterThanOrEqualTo(ActivityPopup::getEndTime, BigInteger.valueOf(timeMillis)) .andGreaterThanOrEqualTo(ActivityPopup::getStartTime, BigInteger.valueOf(timeMillis))
.andLessThanOrEqualTo(ActivityPopup::getStartTime, BigInteger.valueOf(timeMillis)) .andLessThanOrEqualTo(ActivityPopup::getEndTime, BigInteger.valueOf(timeMillis))
.andIn(ActivityPopup::getType, Arrays.asList(Types.split(","))) .andIn(ActivityPopup::getType, Arrays.asList(Types.split(",")))
.andEqualTo(ActivityPopup::getStatus, 1) .andEqualTo(ActivityPopup::getStatus, 1)
.andEqualTo(ActivityPopup::getIsDel, 0) .andEqualTo(ActivityPopup::getIsDel, 0)
).orderByAsc("sort").build(); ).orderByAsc("sort").build();*/
Example.Criteria criteria = exa.createCriteria();
exa.orderBy("sort").asc();
criteria.andEqualTo("timeType",1);
criteria.andIn("type",Arrays.asList(Types.split(",")));
criteria.andEqualTo("status",1);
criteria.andEqualTo("isDel",0);
criteria.orLessThanOrEqualTo("endTime",BigInteger.valueOf(timeMillis));
Example.Criteria exaCriteria = exa.createCriteria();
exa.orderBy("sort").asc();
criteria.andEqualTo("timeType",1);
criteria.andIn("type",Arrays.asList(Types.split(",")));
criteria.andEqualTo("status",1);
criteria.andEqualTo("isDel",0);
criteria.orGreaterThanOrEqualTo("startTime",BigInteger.valueOf(timeMillis));
exa.or(exaCriteria);
List<ActivityPopup> activityPopups = mapper.selectByExample(exa); List<ActivityPopup> activityPopups = mapper.selectByExample(exa);
//获取永久的弹窗timeType=0 //获取永久的弹窗timeType=0
......
...@@ -27,6 +27,6 @@ ...@@ -27,6 +27,6 @@
</select> </select>
<select id="getByUserIdAndPopularizeId" parameterType="com.xxfc.platform.activity.entity.ActivityPopularizeRelation" resultType="Integer"> <select id="getByUserIdAndPopularizeId" parameterType="com.xxfc.platform.activity.entity.ActivityPopularizeRelation" resultType="Integer">
select num from activity_popularize_relation where major_user_id = #{majorUserId} and popularize_id = #{popularizeId} ORDER BY crt_time DESC LIMIT 1 select MAX(num) from activity_popularize_relation where major_user_id = #{majorUserId} and popularize_id = #{popularizeId} ORDER BY crt_time DESC LIMIT 1
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -3,6 +3,7 @@ package com.xxfc.platform.im.biz; ...@@ -3,6 +3,7 @@ package com.xxfc.platform.im.biz;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.bean.copier.CopyOptions;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.admin.entity.AppUserLogin; import com.github.wxiaoqi.security.admin.entity.AppUserLogin;
...@@ -13,6 +14,7 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; ...@@ -13,6 +14,7 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.RandomUtil; import com.github.wxiaoqi.security.common.util.RandomUtil;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.google.common.collect.Lists;
import com.mongodb.client.result.DeleteResult; import com.mongodb.client.result.DeleteResult;
import com.mongodb.client.result.UpdateResult; import com.mongodb.client.result.UpdateResult;
import com.xxfc.platform.im.dto.CommentVo; import com.xxfc.platform.im.dto.CommentVo;
...@@ -88,9 +90,7 @@ public class MsgBiz { ...@@ -88,9 +90,7 @@ public class MsgBiz {
goodPageInfo.setPageSize(totalSize % limit == 0 ? totalSize / limit : totalSize / limit + 1); goodPageInfo.setPageSize(totalSize % limit == 0 ? totalSize / limit : totalSize / limit + 1);
return ObjectRestResponse.succ(goodPageInfo); return ObjectRestResponse.succ(goodPageInfo);
} else { } else {
List<Integer> ids = new ArrayList<>(); List<Integer> ids = getType();
ids.add(2);
ids.add(4);
query = new Query(Criteria.where("body.type").in(ids).and("visible").is(1)); query = new Query(Criteria.where("body.type").in(ids).and("visible").is(1));
int totalSize = mongoTemplate.find(query, Msg.class, "s_msg").size(); int totalSize = mongoTemplate.find(query, Msg.class, "s_msg").size();
query.with(pageable); query.with(pageable);
...@@ -113,9 +113,7 @@ public class MsgBiz { ...@@ -113,9 +113,7 @@ public class MsgBiz {
page = page == null ? 1 : page; page = page == null ? 1 : page;
limit = limit == null ? 10 : limit; limit = limit == null ? 10 : limit;
Pageable pageable = PageRequest.of(--page, limit); Pageable pageable = PageRequest.of(--page, limit);
List<Integer> ids = new ArrayList<>(); List<Integer> ids = getType();
ids.add(2);
ids.add(4);
Query query = new Query(Criteria.where("body.type").in(ids).and("count.praise").gt(getNumber()).and("visible").is(1)); Query query = new Query(Criteria.where("body.type").in(ids).and("count.praise").gt(getNumber()).and("visible").is(1));
int totalSize = mongoTemplate.find(query, Msg.class, "s_msg").size(); int totalSize = mongoTemplate.find(query, Msg.class, "s_msg").size();
query.with(pageable); query.with(pageable);
...@@ -370,6 +368,17 @@ public class MsgBiz { ...@@ -370,6 +368,17 @@ public class MsgBiz {
} }
public List<Integer> getType() {
List<Integer> list = Lists.newArrayList();
Dictionary dictionary = thirdFeign.findDictionaryByTypeAndCode(IM_TYPE, DictionaryKey.IM_MSG_TYPE_LIST);
if (dictionary != null && StringUtils.isNotBlank(dictionary.getDetail())) {
log.info("查询IM限制数为字典表的结果为: dictionary = {}", dictionary.toString());
list = JSONArray.parseArray( dictionary.getDetail(), Integer.class);
}
return list;
}
/** /**
* 后台管理接口 * 后台管理接口
*/ */
...@@ -427,9 +436,7 @@ public class MsgBiz { ...@@ -427,9 +436,7 @@ public class MsgBiz {
goodPageInfo.setTotal(totalSize); goodPageInfo.setTotal(totalSize);
return ObjectRestResponse.succ(goodPageInfo); return ObjectRestResponse.succ(goodPageInfo);
} else { } else {
List<Integer> ids = new ArrayList<>(); List<Integer> ids = getType();
ids.add(2);
ids.add(4);
query = new Query(Criteria.where("body.type").in(ids)); query = new Query(Criteria.where("body.type").in(ids));
int totalSize = mongoTemplate.find(query, Msg.class, "s_msg").size(); int totalSize = mongoTemplate.find(query, Msg.class, "s_msg").size();
query.with(pageable); query.with(pageable);
......
...@@ -357,21 +357,17 @@ public class OrderRentVehicleDetail implements Serializable { ...@@ -357,21 +357,17 @@ public class OrderRentVehicleDetail implements Serializable {
@ApiModelProperty(value = "延期结束时间") @ApiModelProperty(value = "延期结束时间")
private Long delayAddEndTime; private Long delayAddEndTime;
public Long obtainRealEndTime() { @Column(name = "meta_end_time")
if(null != getDelayAddEndTime()) { @ApiModelProperty(value = "原结束时间")
return getDelayAddEndTime(); private Long metaEndTime;
}else {
return getEndTime(); public Long getEndTime() {
} return endTime;
} }
// public Integer obtainRealDayNum() { public void setEndTime(Long endTime) {
// if(null != getDelayAddDays()) { this.endTime = endTime;
// return (getDelayAddDays() + getDayNum()); }
// }else {
// return getDayNum();
// }
// }
public Integer obtainRealDayNum() { public Integer obtainRealDayNum() {
return this.dayNum + this.delayAddDays; return this.dayNum + this.delayAddDays;
......
...@@ -341,7 +341,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements ...@@ -341,7 +341,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
DedDetailDTO dedDetailDTO = new DedDetailDTO(); DedDetailDTO dedDetailDTO = new DedDetailDTO();
//提前还车,结束时间大于当前时间 //提前还车,结束时间大于当前时间
Long nowTime = System.currentTimeMillis(); Long nowTime = System.currentTimeMillis();
Long endTime = orderPageVO.getOrderRentVehicleDetail().obtainRealEndTime(); Long endTime = orderPageVO.getOrderRentVehicleDetail().getEndTime();
Long startTime = orderPageVO.getOrderRentVehicleDetail().getStartTime(); Long startTime = orderPageVO.getOrderRentVehicleDetail().getStartTime();
//设置使用天数 //设置使用天数
......
...@@ -237,7 +237,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -237,7 +237,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
OrderRentVehicleDetail orderRentVehicleDetail = orderRentVehicleBiz.selectById(baseOrder.getDetailId()); OrderRentVehicleDetail orderRentVehicleDetail = orderRentVehicleBiz.selectById(baseOrder.getDetailId());
if (orderVehicleCrosstownDto.getType() == CrosstownTypeEnum.DEPARTURE.getCode()) { if (orderVehicleCrosstownDto.getType() == CrosstownTypeEnum.DEPARTURE.getCode()) {
boolean flag = getTodayTime(orderRentVehicleDetail.getStartTime(), orderRentVehicleDetail.obtainRealEndTime()); boolean flag = getTodayTime(orderRentVehicleDetail.getStartTime(), orderRentVehicleDetail.getEndTime());
if (!flag) { if (!flag) {
return ObjectRestResponse.createFailedResult(3502, "已超过预定还车时间,不能进行交车操作!"); return ObjectRestResponse.createFailedResult(3502, "已超过预定还车时间,不能进行交车操作!");
} }
......
...@@ -2,9 +2,6 @@ package com.xxfc.platform.order.biz.inner; ...@@ -2,9 +2,6 @@ package com.xxfc.platform.order.biz.inner;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
...@@ -12,18 +9,13 @@ import com.github.wxiaoqi.security.common.exception.BaseException; ...@@ -12,18 +9,13 @@ import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.activity.feign.ActivityFeign; import com.xxfc.platform.activity.feign.ActivityFeign;
import com.xxfc.platform.order.biz.*; import com.xxfc.platform.order.biz.*;
import com.xxfc.platform.order.contant.enumerate.*; import com.xxfc.platform.order.contant.enumerate.ItemTypeEnum;
import com.xxfc.platform.order.entity.*; import com.xxfc.platform.order.contant.enumerate.OrderLogEnum;
import com.xxfc.platform.order.pojo.account.OrderAccountDeduction; import com.xxfc.platform.order.entity.OrderItem;
import com.xxfc.platform.order.pojo.account.OrderAccountDetail; import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.pojo.calculate.InProgressVO;
import com.xxfc.platform.order.pojo.mq.OrderMQDTO;
import com.xxfc.platform.order.pojo.order.DelayRentOrderDTO; import com.xxfc.platform.order.pojo.order.DelayRentOrderDTO;
import com.xxfc.platform.order.pojo.order.OrderPageVO; import com.xxfc.platform.order.pojo.order.OrderPageVO;
import com.xxfc.platform.order.pojo.order.VehicleItemDTO; import com.xxfc.platform.order.pojo.order.VehicleItemDTO;
import com.xxfc.platform.order.pojo.price.CancelNoStartVO;
import com.xxfc.platform.order.pojo.price.CancelStartedVO;
import com.xxfc.platform.order.pojo.price.CostDetailExtend;
import com.xxfc.platform.order.pojo.price.DelayAddPriceVO; import com.xxfc.platform.order.pojo.price.DelayAddPriceVO;
import com.xxfc.platform.tour.feign.TourFeign; import com.xxfc.platform.tour.feign.TourFeign;
import com.xxfc.platform.universal.constant.DictionaryKey; import com.xxfc.platform.universal.constant.DictionaryKey;
...@@ -33,23 +25,18 @@ import com.xxfc.platform.vehicle.common.RestResponse; ...@@ -33,23 +25,18 @@ import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.feign.VehicleFeign; import com.xxfc.platform.vehicle.feign.VehicleFeign;
import com.xxfc.platform.vehicle.pojo.BookVehicleVO; import com.xxfc.platform.vehicle.pojo.BookVehicleVO;
import com.xxfc.platform.vehicle.pojo.dto.order.VMCalendarPriceCostDTO; import com.xxfc.platform.vehicle.pojo.dto.order.VMCalendarPriceCostDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.mockito.internal.util.collections.Sets; import org.mockito.internal.util.collections.Sets;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.Column;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_JSON_TRUE;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE; import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE;
import static com.xxfc.platform.universal.constant.DictionaryKey.*; import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER;
/** /**
* 订单退款记录表 * 订单退款记录表
...@@ -172,13 +159,15 @@ public class OrderDelayBiz { ...@@ -172,13 +159,15 @@ public class OrderDelayBiz {
//根据订单号获取订单 //根据订单号获取订单
RestResponse restResponse = vehicleFeign.updateOrderBookRecord(new BookVehicleVO() {{ RestResponse restResponse = vehicleFeign.updateOrderBookRecord(new BookVehicleVO() {{
setVehicleId(orderPageVO.getOrderRentVehicleDetail().getVehicleId()); setVehicleId(orderPageVO.getOrderRentVehicleDetail().getVehicleId());
setBookStartDate(dto.getBookStartDate()); setVehicleBookRecordId(orvd.getBookRecordId());
setBookEndDate(dto.getBookEndDate()); setBookStartDate(dto.getBookStartDateTime());
setBookEndDate(dto.getBookEndDateTime());
setBookStartDateTime(dto.getBookStartDateTime()); setBookStartDateTime(dto.getBookStartDateTime());
setBookEndDateTime(dto.getBookEndDateTime()); setBookEndDateTime(dto.getBookEndDateTime());
setBookType(BOOK_TYPE_RENT);
}}); }});
if( !SYS_TRUE.equals(restResponse.getCode())) { if( !SYS_JSON_TRUE.equals(restResponse.getStatus())) {
throw new BaseException(ResultCode.FAILED_CODE, Sets.newSet("延期失败")); throw new BaseException(ResultCode.FAILED_CODE, Sets.newSet("延期失败"));
} }
cloudTransact = 1; cloudTransact = 1;
...@@ -203,6 +192,8 @@ public class OrderDelayBiz { ...@@ -203,6 +192,8 @@ public class OrderDelayBiz {
orvd.setDelayAddDays(delayAddDays); orvd.setDelayAddDays(delayAddDays);
orvd.setDelayAddFreeDays(delayAddFreeDays); orvd.setDelayAddFreeDays(delayAddFreeDays);
orvd.setDelayAddEndTime(dto.getDelayEndTime()); orvd.setDelayAddEndTime(dto.getDelayEndTime());
//修改还车时间
orvd.setEndTime(dto.getDelayEndTime());
DelayAddPriceVO delayAddPriceVO = new DelayAddPriceVO(){{ DelayAddPriceVO delayAddPriceVO = new DelayAddPriceVO(){{
setDamageSafePrice(new BigDecimal(dictionaryMap.get(APP_ORDER+ "_"+ DictionaryKey.DAMAGE_SAFE).getDetail())); setDamageSafePrice(new BigDecimal(dictionaryMap.get(APP_ORDER+ "_"+ DictionaryKey.DAMAGE_SAFE).getDetail()));
setDelayAddDays(orvd.getDelayAddDays()); setDelayAddDays(orvd.getDelayAddDays());
......
...@@ -506,7 +506,7 @@ public class OrderMsgBiz { ...@@ -506,7 +506,7 @@ public class OrderMsgBiz {
private void handelSmsParam(OrderRentVehicleDetail orvd, BaseOrder baseOrder, List<String> smsParams, AppUserDTO appUserDTO, int handelType) { private void handelSmsParam(OrderRentVehicleDetail orvd, BaseOrder baseOrder, List<String> smsParams, AppUserDTO appUserDTO, int handelType) {
if(RENT_DELIVERY == handelType) { if(RENT_DELIVERY == handelType) {
smsParams.add(appUserDTO.obtainRealname()); smsParams.add(appUserDTO.obtainRealname());
smsParams.add(DateUtil.formatDateTime(DateUtil.date(orvd.obtainRealEndTime()))); smsParams.add(DateUtil.formatDateTime(DateUtil.date(orvd.getEndTime())));
smsParams.add(orvd.getEndAddr()); smsParams.add(orvd.getEndAddr());
smsParams.add(baseOrder.getName()); smsParams.add(baseOrder.getName());
smsParams.add(appUserDTO.getUsername()); smsParams.add(appUserDTO.getUsername());
...@@ -516,7 +516,7 @@ public class OrderMsgBiz { ...@@ -516,7 +516,7 @@ public class OrderMsgBiz {
smsParams.add(orvd.getStartAddr()); smsParams.add(orvd.getStartAddr());
smsParams.add(orvd.getEndAddr()); smsParams.add(orvd.getEndAddr());
smsParams.add(DateUtil.formatDateTime(DateUtil.date(orvd.getStartTime()))); smsParams.add(DateUtil.formatDateTime(DateUtil.date(orvd.getStartTime())));
smsParams.add(DateUtil.formatDateTime(DateUtil.date(orvd.obtainRealEndTime()))); smsParams.add(DateUtil.formatDateTime(DateUtil.date(orvd.getEndTime())));
smsParams.add(orvd.obtainRealDayNum().toString()); smsParams.add(orvd.obtainRealDayNum().toString());
smsParams.add(appUserDTO.getUsername()); smsParams.add(appUserDTO.getUsername());
} }
......
...@@ -434,9 +434,9 @@ public class BackStageOrderController extends CommonBaseController implements Us ...@@ -434,9 +434,9 @@ public class BackStageOrderController extends CommonBaseController implements Us
bo.setOrder(orderPageVO); bo.setOrder(orderPageVO);
bo.setBookVehicleVO(new BookVehicleVO() {{ bo.setBookVehicleVO(new BookVehicleVO() {{
setBookStartDate(YMR_SLASH_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(bo.getStartTime()), ZoneOffset.ofHours(8)))); setBookStartDate(YMR_SLASH_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(bo.getStartTime()), ZoneOffset.ofHours(8))));
setBookEndDate(YMR_SLASH_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(bo.obtainRealEndTime()), ZoneOffset.ofHours(8)))); setBookEndDate(YMR_SLASH_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(bo.getEndTime()), ZoneOffset.ofHours(8))));
setBookStartDateTime(DATE_TIME_LINE_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(bo.getStartTime()), ZoneOffset.ofHours(8)))); setBookStartDateTime(DATE_TIME_LINE_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(bo.getStartTime()), ZoneOffset.ofHours(8))));
setBookEndDateTime(DATE_TIME_LINE_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(bo.obtainRealEndTime()), ZoneOffset.ofHours(8)))); setBookEndDateTime(DATE_TIME_LINE_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(bo.getEndTime()), ZoneOffset.ofHours(8))));
}}); }});
List<OrderAccompanyDTO> oads = JSONUtil.toList(JSONUtil.parseArray(orderItemBiz.selectOne(new OrderItem() {{ List<OrderAccompanyDTO> oads = JSONUtil.toList(JSONUtil.parseArray(orderItemBiz.selectOne(new OrderItem() {{
...@@ -457,12 +457,13 @@ public class BackStageOrderController extends CommonBaseController implements Us ...@@ -457,12 +457,13 @@ public class BackStageOrderController extends CommonBaseController implements Us
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
@ApiOperation("修改租车订单延") @ApiOperation("修改租车订单延长时间")
@RequestMapping(value = "/baseOrder/bg/delay-rent-order", method = RequestMethod.POST) @RequestMapping(value = "/baseOrder/bg/delay-rent-order", method = RequestMethod.POST)
@IgnoreClientToken @IgnoreClientToken
@ResponseBody @ResponseBody
public ObjectRestResponse<OrderPageVO> delayRentOrder(@RequestBody DelayRentOrderDTO dto) { public ObjectRestResponse<OrderPageVO> delayRentOrder(@RequestBody DelayRentOrderDTO dto) {
checkAdminUser(); checkAdminUser();
dto.setOperateId(Integer.valueOf("-1"+ getCurrentUserId()));
Query query = baseOrderBiz.initBgQuery(dto.getNo()); Query query = baseOrderBiz.initBgQuery(dto.getNo());
......
...@@ -207,6 +207,8 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -207,6 +207,8 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
bo.getOrder().setCrtUser(bo.getCrtUser()); bo.getOrder().setCrtUser(bo.getCrtUser());
} }
//
bo.setMetaEndTime(bo.getEndTime());
super.handleDetail(bo); super.handleDetail(bo);
}catch (Exception e) { }catch (Exception e) {
//事务补偿处理 //事务补偿处理
......
...@@ -37,6 +37,12 @@ public class DictionaryKey { ...@@ -37,6 +37,12 @@ public class DictionaryKey {
* IM限制条数 * IM限制条数
*/ */
public static final String MSG_LIMIT_NUMBER = "MSG_LIMIT_NUMBER"; public static final String MSG_LIMIT_NUMBER = "MSG_LIMIT_NUMBER";
/**
*
*/
public static final String IM_MSG_TYPE_LIST = "IM_MSG_TYPE_LIST";
/** /**
* 支付 * 支付
*/ */
......
...@@ -186,4 +186,8 @@ public class VehicleModel implements Serializable { ...@@ -186,4 +186,8 @@ public class VehicleModel implements Serializable {
@Column(name = "app_show") @Column(name = "app_show")
@ApiModelProperty("是否在App展示") @ApiModelProperty("是否在App展示")
private Integer appShow; private Integer appShow;
@Column(name = "panorama_url")
@ApiModelProperty("全景vr链接")
private String panoramaUrl;
} }
...@@ -7,24 +7,30 @@ import java.util.Map; ...@@ -7,24 +7,30 @@ import java.util.Map;
@Data @Data
public class BookVehicleVO { public class BookVehicleVO {
//用途
public static final int BOOK_TYPE_RENT = 1;
/** /**
* 车辆id * 车辆id
*/ */
@ApiModelProperty("车辆id") @ApiModelProperty("车辆id")
private String vehicleId; private String vehicleId;
/**
* 填写RecordId 修改日期
*/
private Long vehicleBookRecordId; private Long vehicleBookRecordId;
/** /**
* 预定目标日期(开始) * 预定目标日期(开始)
*/ */
@ApiModelProperty("预定目标日期(开始)") @ApiModelProperty("预定目标日期(开始) yyyy-MM-dd HH:mm:ss")
private String bookStartDate; private String bookStartDate;
/** /**
* 预定目标日期(结束) * 预定目标日期(结束)
*/ */
@ApiModelProperty("预定目标日期(结束)") @ApiModelProperty("预定目标日期(结束) yyyy-MM-dd HH:mm:ss")
private String bookEndDate; private String bookEndDate;
/** /**
......
...@@ -74,4 +74,10 @@ public class UsableVeicleDTO extends PageParam { ...@@ -74,4 +74,10 @@ public class UsableVeicleDTO extends PageParam {
this.endDate = DEFAULT_DATE_TIME_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(endDateTamp), ZoneOffset.ofHours(8))); this.endDate = DEFAULT_DATE_TIME_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(endDateTamp), ZoneOffset.ofHours(8)));
this.endDateExtend = DEFAULT_DATE_TIME_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(endDateTamp), ZoneOffset.ofHours(8)).plusDays(1L)); this.endDateExtend = DEFAULT_DATE_TIME_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(endDateTamp), ZoneOffset.ofHours(8)).plusDays(1L));
} }
// private Boolean isTest;
//
// private Integer testCompanyId;
//
// private Integer testModelId;
} }
\ No newline at end of file
...@@ -402,7 +402,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -402,7 +402,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
DateTime startDay = DateTime.parse(bookVehicleVo.getBookStartDate(), DATE_TIME_FORMATTER); DateTime startDay = DateTime.parse(bookVehicleVo.getBookStartDate(), DATE_TIME_FORMATTER);
DateTime endDay = DateTime.parse(bookVehicleVo.getBookEndDate(), DATE_TIME_FORMATTER); DateTime endDay = DateTime.parse(bookVehicleVo.getBookEndDate(), DATE_TIME_FORMATTER);
//转换日期范围为列表,并检查是否合法 //转换日期范围为列表,并检查是否合法
fillDateList4DatePeriod(yearMonthAndDate, DateTime.parse(startDay.toString(DEFAULT_DATE_TIME_FORMATTER), DEFAULT_DATE_TIME_FORMATTER), DateTime.parse(endDay.toString(DEFAULT_DATE_TIME_FORMATTER), DEFAULT_DATE_TIME_FORMATTER)); fillDateList4DatePeriod(yearMonthAndDate, DateTime.parse(startDay.toString(DEFAULT_DATE_TIME_FORMATTER), DEFAULT_DATE_TIME_FORMATTER), DateTime.parse(endDay.toString(DEFAULT_DATE_TIME_FORMATTER), DEFAULT_DATE_TIME_FORMATTER), bookVehicleVo.getNotCheckTimeLegal());
if (yearMonthAndDate.size() > 3) {//连续的日期最多夸3个月 if (yearMonthAndDate.size() > 3) {//连续的日期最多夸3个月
throw new BaseException(ResultCode.ONLY_BOOK_TWO_MONTH); throw new BaseException(ResultCode.ONLY_BOOK_TWO_MONTH);
} }
...@@ -705,7 +705,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -705,7 +705,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
DateTime startDay = DateTime.parse(bookVehicleVo.getBookStartDate(), DATE_TIME_FORMATTER); DateTime startDay = DateTime.parse(bookVehicleVo.getBookStartDate(), DATE_TIME_FORMATTER);
DateTime endDay = DateTime.parse(bookVehicleVo.getBookEndDate(), DATE_TIME_FORMATTER); DateTime endDay = DateTime.parse(bookVehicleVo.getBookEndDate(), DATE_TIME_FORMATTER);
//转换日期范围为列表,并检查是否合法 //转换日期范围为列表,并检查是否合法
fillDateList4DatePeriod(yearMonthAndDate, DateTime.parse(startDay.toString(DEFAULT_DATE_TIME_FORMATTER), DEFAULT_DATE_TIME_FORMATTER), DateTime.parse(endDay.toString(DEFAULT_DATE_TIME_FORMATTER), DEFAULT_DATE_TIME_FORMATTER)); fillDateList4DatePeriod(yearMonthAndDate, DateTime.parse(startDay.toString(DEFAULT_DATE_TIME_FORMATTER), DEFAULT_DATE_TIME_FORMATTER), DateTime.parse(endDay.toString(DEFAULT_DATE_TIME_FORMATTER), DEFAULT_DATE_TIME_FORMATTER), bookVehicleVo.getNotCheckTimeLegal());
if (yearMonthAndDate.size() > 3) {//连续的日期最多夸3个月 if (yearMonthAndDate.size() > 3) {//连续的日期最多夸3个月
throw new BaseException(ResultCode.ONLY_BOOK_TWO_MONTH); throw new BaseException(ResultCode.ONLY_BOOK_TWO_MONTH);
} }
...@@ -827,11 +827,14 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -827,11 +827,14 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
* @param startDay * @param startDay
* @param endDay * @param endDay
*/ */
private void fillDateList4DatePeriod(Map<String, List<String>> yearMonthAndDate, DateTime startDay, DateTime endDay) { private void fillDateList4DatePeriod(Map<String, List<String>> yearMonthAndDate, DateTime startDay, DateTime endDay, Boolean notCheckTimeLegal) {
for (DateTime curDate = startDay; curDate.compareTo(endDay) <= 0; curDate = curDate.plusDays(1)) { for (DateTime curDate = startDay; curDate.compareTo(endDay) <= 0; curDate = curDate.plusDays(1)) {
String curDateStr = curDate.toString(DEFAULT_DATE_TIME_FORMATTER); String curDateStr = curDate.toString(DEFAULT_DATE_TIME_FORMATTER);
if (curDateStr.compareTo(DateTime.now().toString(DEFAULT_DATE_TIME_FORMATTER)) < 0) { if (!Boolean.TRUE.equals(notCheckTimeLegal)) {
throw new BaseException(ResultCode.ONLY_BOOK_FROM_TODAY); //判定时间是否合法
if (curDateStr.compareTo(DateTime.now().toString(DEFAULT_DATE_TIME_FORMATTER)) < 0) {
throw new BaseException(ResultCode.ONLY_BOOK_FROM_TODAY);
}
} }
String curYearMonth = curDate.toString(YEARMONTH_DATE_TIME_FORMATTER); String curYearMonth = curDate.toString(YEARMONTH_DATE_TIME_FORMATTER);
if (!yearMonthAndDate.containsKey(curYearMonth)) { if (!yearMonthAndDate.containsKey(curYearMonth)) {
......
...@@ -240,7 +240,7 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use ...@@ -240,7 +240,7 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use
Integer operatorId = Integer.parseInt(BaseContextHandler.getUserID()); Integer operatorId = Integer.parseInt(BaseContextHandler.getUserID());
String userName = BaseContextHandler.getName(); String userName = BaseContextHandler.getName();
bookVehicleVo.setStatus(VehicleBookRecordStatus.APPROVE.getCode()); bookVehicleVo.setStatus(VehicleBookRecordStatus.APPROVE.getCode());
bookVehicleVo.setNotCheckTimeLegal(Boolean.FALSE); bookVehicleVo.setNotCheckTimeLegal(Boolean.TRUE);
baseBiz.applyVehicle(operatorId, bookVehicleVo, userName); baseBiz.applyVehicle(operatorId, bookVehicleVo, userName);
return RestResponse.suc(); return RestResponse.suc();
} }
......
package com.xxfc.platform.vehicle.rest; package com.xxfc.platform.vehicle.rest;
import com.alibaba.fastjson.JSONArray;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO; import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken; import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
...@@ -172,7 +171,7 @@ public class VehicleDepartureController { ...@@ -172,7 +171,7 @@ public class VehicleDepartureController {
public ObjectRestResponse<OrderPageVO> getOrderDetail() { public ObjectRestResponse<OrderPageVO> getOrderDetail() {
Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData(); Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData();
String reserveType = dictionaryMap.get(VEHICE_ORDER + "_" + RESERVE).getDetail(); String reserveType = dictionaryMap.get(VEHICE_ORDER + "_" + RESERVE).getDetail();
return ObjectRestResponse.succ(JSONArray.parse(reserveType)); return ObjectRestResponse.succ(reserveType);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment