diff --git a/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java b/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java index b7056748..5cfd0549 100644 --- a/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java +++ b/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java @@ -7,8 +7,6 @@ import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.sqx.common.utils.DateUtils; import com.sqx.modules.app.entity.InviteAchievement; import com.sqx.modules.app.entity.UserEntity; @@ -23,7 +21,6 @@ import com.sqx.modules.complet.entity.CompletAward; import com.sqx.modules.complet.service.CompletAwardService; import com.sqx.modules.course.service.CourseService; import com.sqx.modules.invite.dao.InviteDao; -import com.sqx.modules.invite.entity.Invite; import com.sqx.modules.invite.service.InviteService; import com.sqx.modules.orders.dao.OrdersDao; import com.sqx.modules.orders.entity.Orders; @@ -160,6 +157,7 @@ public class TempOrdersTask { order.setPayWay(9); order.setStatus(1); order.setPayTime(DateUtils.format(new Date())); + ordersService.fillSysUserId(order); ordersService.update(order, new LambdaQueryWrapper() .eq(Orders::getOrdersId, order.getOrdersId()).eq(Orders::getUserId, order.getUserId())); diff --git a/src/main/java/com/sqx/modules/orders/service/OrdersService.java b/src/main/java/com/sqx/modules/orders/service/OrdersService.java index 8a5594f5..28544e80 100644 --- a/src/main/java/com/sqx/modules/orders/service/OrdersService.java +++ b/src/main/java/com/sqx/modules/orders/service/OrdersService.java @@ -65,4 +65,9 @@ public interface OrdersService extends IService { Integer countOrderNum(Long userId, String time); + /** + * 填充渠道用户id + * @param orders + */ + void fillSysUserId(Orders orders); } diff --git a/src/main/java/com/sqx/modules/orders/service/impl/OrdersServiceImpl.java b/src/main/java/com/sqx/modules/orders/service/impl/OrdersServiceImpl.java index 40a2a5ff..0a9aa4fc 100644 --- a/src/main/java/com/sqx/modules/orders/service/impl/OrdersServiceImpl.java +++ b/src/main/java/com/sqx/modules/orders/service/impl/OrdersServiceImpl.java @@ -15,10 +15,7 @@ import com.github.pagehelper.PageInfo; import com.sqx.common.utils.DateUtils; import com.sqx.common.utils.PageUtils; import com.sqx.common.utils.Result; -import com.sqx.modules.app.entity.UserMoney; -import com.sqx.modules.app.entity.UserMoneyDetails; -import com.sqx.modules.app.entity.UserVip; -import com.sqx.modules.app.entity.VipDetails; +import com.sqx.modules.app.entity.*; import com.sqx.modules.app.service.*; import com.sqx.modules.common.service.CommonInfoService; import com.sqx.modules.course.dao.CourseDao; @@ -37,6 +34,8 @@ import com.sqx.modules.orders.service.OrdersService; import com.sqx.modules.pay.controller.app.AliPayController; import com.sqx.modules.pay.service.DyService; import com.sqx.modules.pay.service.WxService; +import com.sqx.modules.sys.dao.SysUserDao; +import com.sqx.modules.sys.entity.SysUserEntity; import com.sqx.modules.utils.AliPayOrderUtil; import com.sqx.modules.utils.InvitationCodeUtil; import com.sqx.modules.utils.TimeCompleteUtils; @@ -88,6 +87,9 @@ public class OrdersServiceImpl extends ServiceImpl implements @Autowired private CourseDetailsDao courseDetailsDao; + @Autowired + private SysUserDao sysUserDao; + private ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(true); @@ -319,7 +321,8 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setCreateTime(df.format(new Date())); //设置订单种类 orders.setOrdersType(1); - + // 填充系统用户id + fillSysUserId(orders); //不是会员或会员过期直接生成订单直接生成订单 int count = baseMapper.insert(orders); result.put("flag", 2); @@ -435,7 +438,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setCreateTime(df.format(new Date())); //设置订单种类 orders.setOrdersType(1); - + fillSysUserId(orders); //不是会员或会员过期直接生成订单直接生成订单 int count = baseMapper.insert(orders); result.put("flag", 2); @@ -483,6 +486,7 @@ public class OrdersServiceImpl extends ServiceImpl implements SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //设置创建时间 orders.setCreateTime(df.format(new Date())); + fillSysUserId(orders); //插入到订单表中 baseMapper.insert(orders); return Result.success().put("data", orders); @@ -563,6 +567,7 @@ public class OrdersServiceImpl extends ServiceImpl implements // orders.setSysUserId(Long.parseLong(String.valueOf(sysUserId))); // orders.setQdMoney(new BigDecimal(String.valueOf(map.get("qdMoney")))); // } + fillSysUserId(orders); baseMapper.updateById(orders); insertOrders(orders); return Result.success(); @@ -669,7 +674,7 @@ public class OrdersServiceImpl extends ServiceImpl implements List orders = baseMapper.selectOrdersByOrdersNo(ordersNo, status, userId, courseId, flag, time, userName, ordersType, TimeCompleteUtils.completeStartTime(startTime), TimeCompleteUtils.completeEndTime(endTime), sysUserId, qdCode, sysUserName); Set courseIds = orders.stream().map(Orders::getCourseId).collect(Collectors.toSet()); - if(CollUtil.isNotEmpty(courseIds)) { + if (CollUtil.isNotEmpty(courseIds)) { List courses = courseDao.selectBatchIds(courseIds); Map map = courses.stream().collect(Collectors.toMap(Course::getCourseId, Course::getTitle)); orders.parallelStream().forEach(s -> { @@ -779,4 +784,25 @@ public class OrdersServiceImpl extends ServiceImpl implements public Integer countOrderNum(Long userId, String time) { return baseMapper.countOrderNum(userId, time); } + + @Override + public void fillSysUserId(Orders orders) { + if (orders.getSysUserId() != null) { + return; + } + orders.setSysUserId(1L); + UserEntity userEntity = userService.selectUserById(orders.getUserId()); + if (userEntity == null) { + return; + } + String qdCode = userEntity.getQdCode(); + if (StrUtil.isBlank(qdCode)) { + return; + } + SysUserEntity sysUserEntity = sysUserDao.selectOne(Wrappers.lambdaQuery().eq(SysUserEntity::getQdCode, qdCode).last("LIMIT 1")); + if (sysUserEntity == null) { + return; + } + orders.setSysUserId(sysUserEntity.getSysUserId()); + } } diff --git a/src/main/java/com/sqx/modules/pay/service/impl/DyServiceImpl.java b/src/main/java/com/sqx/modules/pay/service/impl/DyServiceImpl.java index c7f28aca..a1996d5e 100644 --- a/src/main/java/com/sqx/modules/pay/service/impl/DyServiceImpl.java +++ b/src/main/java/com/sqx/modules/pay/service/impl/DyServiceImpl.java @@ -412,6 +412,7 @@ public class DyServiceImpl implements DyService { orders.setPayWay(7); orders.setStatus(1); orders.setPayTime(DateUtils.format(new Date())); + ordersService.fillSysUserId(orders); ordersService.updateById(orders); UserEntity user = userService.selectUserById(orders.getUserId()); UserEntity byUser = userService.queryByInvitationCode(user.getInviterCode()); @@ -431,6 +432,7 @@ public class DyServiceImpl implements DyService { orders.setSysUserId(Long.parseLong(String.valueOf(sysUserId))); orders.setQdMoney(new BigDecimal(String.valueOf(map.get("qdMoney")))); } + ordersService.fillSysUserId(orders); ordersService.insertOrders(orders); }else{ String remark = payDetails.getRemark(); @@ -502,6 +504,7 @@ public class DyServiceImpl implements DyService { if(StringUtils.isNotEmpty(currency) && "DIAMOND".equals(currency)){ orders.setDiamond(1); } + ordersService.fillSysUserId(orders); ordersService.updateById(orders); UserEntity user = userService.selectUserById(orders.getUserId()); UserEntity byUser = userService.queryByInvitationCode(user.getInviterCode()); @@ -521,6 +524,7 @@ public class DyServiceImpl implements DyService { orders.setSysUserId(Long.parseLong(String.valueOf(sysUserId))); orders.setQdMoney(new BigDecimal(String.valueOf(map.get("qdMoney")))); } + ordersService.fillSysUserId(orders); ordersService.insertOrders(orders); }else{ if(StringUtils.isNotEmpty(currency) && "DIAMOND".equals(currency)){ @@ -615,5 +619,4 @@ public class DyServiceImpl implements DyService { } - } diff --git a/src/main/java/com/sqx/modules/pay/service/impl/KsServiceImpl.java b/src/main/java/com/sqx/modules/pay/service/impl/KsServiceImpl.java index 2853e907..e177ff88 100644 --- a/src/main/java/com/sqx/modules/pay/service/impl/KsServiceImpl.java +++ b/src/main/java/com/sqx/modules/pay/service/impl/KsServiceImpl.java @@ -188,6 +188,7 @@ public class KsServiceImpl implements KsService { orders.setPayWay(8); orders.setStatus(1); orders.setPayTime(DateUtils.format(new Date())); + ordersService.fillSysUserId(orders); ordersService.updateById(orders); UserEntity user = userService.selectUserById(orders.getUserId()); UserEntity byUser = userService.queryByInvitationCode(user.getInviterCode()); @@ -207,6 +208,7 @@ public class KsServiceImpl implements KsService { orders.setSysUserId(Long.parseLong(String.valueOf(sysUserId))); orders.setQdMoney(new BigDecimal(String.valueOf(map.get("qdMoney")))); } + ordersService.fillSysUserId(orders); ordersService.insertOrders(orders); }else{ userMoneyService.updateMoney(1,payDetails.getUserId(),payDetails.getMoney()); diff --git a/src/main/java/com/sqx/modules/pay/service/impl/WxServiceImpl.java b/src/main/java/com/sqx/modules/pay/service/impl/WxServiceImpl.java index 0335b780..1d787041 100644 --- a/src/main/java/com/sqx/modules/pay/service/impl/WxServiceImpl.java +++ b/src/main/java/com/sqx/modules/pay/service/impl/WxServiceImpl.java @@ -303,6 +303,7 @@ public class WxServiceImpl implements WxService { orders.setSysUserId(Long.parseLong(String.valueOf(sysUserId))); orders.setQdMoney(new BigDecimal(String.valueOf(map.get("qdMoney")))); } + ordersService.fillSysUserId(orders); ordersService.updateById(orders); ordersService.insertOrders(orders); }else{ @@ -383,6 +384,7 @@ public class WxServiceImpl implements WxService { orders.setSysUserId(Long.parseLong(String.valueOf(sysUserId))); orders.setQdMoney(new BigDecimal(String.valueOf(map.get("qdMoney")))); } + ordersService.fillSysUserId(orders); ordersService.updateById(orders); ordersService.insertOrders(orders); }else{ diff --git a/src/main/resources/mapper/orders/OrdersDao.xml b/src/main/resources/mapper/orders/OrdersDao.xml index 233b12bc..9ddc921e 100644 --- a/src/main/resources/mapper/orders/OrdersDao.xml +++ b/src/main/resources/mapper/orders/OrdersDao.xml @@ -183,7 +183,7 @@ select sum(pay_money) from orders where 1=1 - + and sys_user_id=#{sysUserId} diff --git a/src/main/resources/mapper/pay/CashDao.xml b/src/main/resources/mapper/pay/CashDao.xml index 81fbb266..9e80b21f 100644 --- a/src/main/resources/mapper/pay/CashDao.xml +++ b/src/main/resources/mapper/pay/CashDao.xml @@ -26,7 +26,12 @@