yangdamao há 1 ano atrás
pai
commit
da27c9e858

+ 3 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/service/impl/TopInformSysUserServiceImpl.java

@@ -74,8 +74,9 @@ public class TopInformSysUserServiceImpl extends ServiceImpl<TopInformSysUserMap
         }
         informSysUserVos.forEach(item -> {
             if (ObjectUtils.isNotNull(item.getRemindId())){
-                TopInformRemind informRemind = iInformRemindService.getById(item.getRemindId());
-                item.setType(informRemind.getType());
+//                TopInformRemind informRemind = iInformRemindService.getById(item.getRemindId());
+//                item.setType(informRemind.getType());
+                item.setType(1);
             }else {
                 item.setType(1);
             }

+ 102 - 53
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopOldOrderServiceImpl.java

@@ -1156,66 +1156,115 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                     userCount = goodsList.stream().map(TopOldOrderGoods::getUserCard).collect(Collectors.toSet()).size();
                 }
                 if (query.getOrderFrom() != 4){
-                    // 老系统查询学习状态
-                    TopOldOrder order = getOne(new LambdaQueryWrapper<TopOldOrder>().eq(TopOldOrder::getOrderSn, query.getOrderSn()));
-                    BigDecimal bonus = BigDecimal.ZERO;
-                    if (ObjectUtils.isNotNull(order.getPretaxBrokerage()) && order.getPretaxBrokerage().compareTo(BigDecimal.ZERO) > 0){
-                        bonus = order.getPretaxBrokerage().divide(new BigDecimal(list.size()),BigDecimal.ROUND_CEILING);
-                    }
-                    Map<String, String> params = new HashMap<>();
-                    Long nowTime = DateUtils.getNowTime();
-                    String sign = ToolsUtils.EncoderByMd5(query.getOrderSn() + nowTime.toString() + "pubilc2022");
-                    params.put("stamp", nowTime.toString());
-                    params.put("sign", sign);
-                    params.put("orderSn", query.getOrderSn());
-                    params.put("type", order.getOrderType().toString());
-                    String respone = "";
-                    try {
-                        respone = HttpUtils.postFormBody(ORDER_STUDY, params);
-                        if (!respone.contains("\"Status\":true")) {
-                            throw new CustomException("旧系统订单学员学习情况接口请求错误");
-                        }
-                        JSONObject jsonObject = JSONObject.parseObject(respone);
-                        Object data = jsonObject.get("Data");
-                        if (ObjectUtils.isNull(data)) {
-                            //data 为空
-                            for (TopOldOrderGoodsListVo x : list) {
-                                x.setPretaxBrokerage(bonus);
-                                x.setStudyStatus("未开始");
-                                //分成模式
-                                if (ObjectUtils.isNotNull(x.getDivideType()) && x.getDivideType() == 1){
-                                    x.setDivideRateStr(x.getDivideRate()+"%");
-                                }else {
-                                    x.setDivideRateStr(x.getDivideRate().toString());
+                    //查询视图 v_top_order
+                    TopOldOrderVo orderVo = baseMapper.queryById(query.getOrderSn());
+                    if (orderVo.getOrderBase() == 1){
+                        list.forEach(item -> {
+                            User user = userService.getByCardNoTenant(EncryptHandler.decrypt(item.getUserCard()));
+                            if (ObjectUtils.isNotNull(user)){
+                                Order orderOne = orderService.getOne(new LambdaQueryWrapper<Order>()
+                                        .eq(Order::getInputOrderSn, orderVo.getInputOrderSn())
+                                        .eq(Order::getUserId,user.getUserId())
+                                        .last("limit 1"));
+                                if (ObjectUtils.isNotNull(orderOne)){
+                                    List<OrderGoods> orderGoodsList = orderGoodsService.list(new LambdaQueryWrapper<OrderGoods>()
+                                            .eq(OrderGoods::getOrderSn, orderOne.getOrderSn())
+                                            .eq(OrderGoods::getGoodsId, item.getGoodsId())
+                                            .ne(OrderGoods::getRefundStatus,2)
+                                            .ne(OrderGoods::getPayStatus,1));
+                                    if (CollectionUtils.isNotEmpty(orderGoodsList)){
+                                        orderGoodsList.forEach(goods -> {
+                                            Goods goodsById = goodsService.getById(goods.getGoodsId());
+                                            //学习状态
+                                            if (ObjectUtils.isNotNull(goodsById.getGoodsType()) && ObjectUtils.isNotNull(goods.getGradeId()) && goodsById.getGoodsType() == 1) {
+                                                int count = userPeriodService.count(new LambdaQueryWrapper<UserPeriod>()
+                                                        .eq(UserPeriod::getUserId, user.getUserId())
+                                                        .eq(UserPeriod::getGradeId, goods.getGradeId()));
+                                                if (count > 0) {
+                                                    //学完/未学完
+                                                    ClassGradeUser classGradeUser = classGradeUserService.getOne(new LambdaQueryWrapper<ClassGradeUser>()
+                                                            .eq(ClassGradeUser::getUserId, user.getUserId())
+                                                            .eq(ClassGradeUser::getGradeId, goods.getGradeId())
+                                                            .last("limit 1"));
+                                                    item.setStudyStatus(
+                                                            ObjectUtils.isNotNull(classGradeUser.getFinishStatus()) && classGradeUser.getFinishStatus() == 1 ? "已结束" : "学习中");
+                                                } else {
+                                                    item.setStudyStatus("未开始");
+                                                }
+                                            }
+                                        });
+                                    }
                                 }
                             }
-                        } else {
-                            List<TopOldOrderStudyVo> studyVos = JSONArray.parseArray(JSONObject.toJSONString(data), TopOldOrderStudyVo.class);
-                            for (TopOldOrderGoodsListVo item : list) {
-                                item.setPretaxBrokerage(bonus);
-                                item.setStudyStatus("未开始");
-                                TopOldOrderStudyVo studyVo = studyVos.stream().filter(x -> x.getUnderOrdeEnrollItemId().equals(item.getSignId())
-                                        && x.getIdNum().equals(item.getUserCard())).findFirst().orElse(null);
-                                if (ObjectUtils.isNotNull(studyVo) && ObjectUtils.isNotNull(studyVo.getStudyHours())) {
-                                    if (ObjectUtils.isNull(studyVo.getStudyHours()) && studyVo.getStudyHours() == 0) {
-                                        item.setStudyStatus("未开始");
-                                    } else if (studyVo.getStudyHours() < studyVo.getTotalHours()) {
-                                        item.setStudyStatus("学习中");
-                                    } else {
-                                        item.setStudyStatus("已结束");
+                            //分成模式
+                            if (ObjectUtils.isNotNull(item.getDivideType()) && item.getDivideType() == 1){
+                                item.setDivideRateStr(item.getDivideRate().multiply(new BigDecimal("100.00"))+"%");
+                            }else {
+                                item.setDivideRateStr(item.getDivideRate().toString());
+                            }
+                        });
+                    }else {
+                        // 老系统查询学习状态
+                        TopOldOrder order = getOne(new LambdaQueryWrapper<TopOldOrder>().eq(TopOldOrder::getOrderSn, query.getOrderSn()));
+                        BigDecimal bonus = BigDecimal.ZERO;
+                        if (ObjectUtils.isNotNull(order.getPretaxBrokerage()) && order.getPretaxBrokerage().compareTo(BigDecimal.ZERO) > 0){
+                            bonus = order.getPretaxBrokerage().divide(new BigDecimal(list.size()),BigDecimal.ROUND_CEILING);
+                        }
+                        Map<String, String> params = new HashMap<>();
+                        Long nowTime = DateUtils.getNowTime();
+                        String sign = ToolsUtils.EncoderByMd5(query.getOrderSn() + nowTime.toString() + "pubilc2022");
+                        params.put("stamp", nowTime.toString());
+                        params.put("sign", sign);
+                        params.put("orderSn", query.getOrderSn());
+                        params.put("type", order.getOrderType().toString());
+                        String respone = "";
+                        try {
+                            respone = HttpUtils.postFormBody(ORDER_STUDY, params);
+                            if (!respone.contains("\"Status\":true")) {
+                                throw new CustomException("旧系统订单学员学习情况接口请求错误");
+                            }
+                            JSONObject jsonObject = JSONObject.parseObject(respone);
+                            Object data = jsonObject.get("Data");
+                            if (ObjectUtils.isNull(data)) {
+                                //data 为空
+                                for (TopOldOrderGoodsListVo x : list) {
+                                    x.setPretaxBrokerage(bonus);
+                                    x.setStudyStatus("未开始");
+                                    //分成模式
+                                    if (ObjectUtils.isNotNull(x.getDivideType()) && x.getDivideType() == 1){
+                                        x.setDivideRateStr(x.getDivideRate().multiply(new BigDecimal("100.00"))+"%");
+                                    }else {
+                                        x.setDivideRateStr(x.getDivideRate().toString());
                                     }
                                 }
-                                //分成模式
-                                if (ObjectUtils.isNotNull(item.getDivideType()) && item.getDivideType() == 1){
-                                    item.setDivideRateStr(item.getDivideRate().multiply(new BigDecimal("100.00"))+"%");
-                                }else {
-                                    item.setDivideRateStr(item.getDivideRate().toString());
+                            } else {
+                                List<TopOldOrderStudyVo> studyVos = JSONArray.parseArray(JSONObject.toJSONString(data), TopOldOrderStudyVo.class);
+                                for (TopOldOrderGoodsListVo item : list) {
+                                    item.setPretaxBrokerage(bonus);
+                                    item.setStudyStatus("未开始");
+                                    TopOldOrderStudyVo studyVo = studyVos.stream().filter(x -> x.getUnderOrdeEnrollItemId().equals(item.getSignId())
+                                            && x.getIdNum().equals(item.getUserCard())).findFirst().orElse(null);
+                                    if (ObjectUtils.isNotNull(studyVo) && ObjectUtils.isNotNull(studyVo.getStudyHours())) {
+                                        if (ObjectUtils.isNull(studyVo.getStudyHours()) && studyVo.getStudyHours() == 0) {
+                                            item.setStudyStatus("未开始");
+                                        } else if (studyVo.getStudyHours() < studyVo.getTotalHours()) {
+                                            item.setStudyStatus("学习中");
+                                        } else {
+                                            item.setStudyStatus("已结束");
+                                        }
+                                    }
+                                    //分成模式
+                                    if (ObjectUtils.isNotNull(item.getDivideType()) && item.getDivideType() == 1){
+                                        item.setDivideRateStr(item.getDivideRate().multiply(new BigDecimal("100.00"))+"%");
+                                    }else {
+                                        item.setDivideRateStr(item.getDivideRate().toString());
+                                    }
                                 }
                             }
+                        } catch (IOException e) {
+                            log.error("旧系统订单学员学习情况接口请求错误" + respone);
+                            throw new CustomException("旧系统订单学员学习情况接口请求错误");
                         }
-                    } catch (IOException e) {
-                        log.error("旧系统订单学员学习情况接口请求错误" + respone);
-                        throw new CustomException("旧系统订单学员学习情况接口请求错误");
                     }
                 }
             }