yangdamao 1 年之前
父節點
當前提交
34e062472d

+ 3 - 3
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/common/CommonController.java

@@ -282,9 +282,9 @@ public class CommonController extends BaseController {
     @ApiOperation("获取订单商品信息")
     @PostMapping("/order/goods/list")
     public AjaxResult<TopOrderOrgVo> getOrderGoodsList(@RequestBody TopOldOrderQueryBo bo) {
-//        if(!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(),bo.getSign())){
-//            throw new CustomException("签名错误");
-//        }
+        if(!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(),bo.getSign())){
+            throw new CustomException("签名错误");
+        }
         return AjaxResult.success(iTopOldOrderService.getTopOrderGoodsList(bo));
     }
 }

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

@@ -77,6 +77,7 @@ import com.zhongzheng.modules.top.user.service.ITopSysUserRoleService;
 import com.zhongzheng.modules.top.user.service.ITopSysUserService;
 import com.zhongzheng.modules.user.domain.User;
 import com.zhongzheng.modules.user.service.IUserService;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -2098,46 +2099,94 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         topOldOrderUpVo.setOrderSn(orderSn);
 
         List<TopOldOrderStudyVo> studyVos = new ArrayList<>();
+        List<TopOrderGoodsUpVo> goodsUpVos = new ArrayList<>();
+        Set<String> business = new HashSet<>();
         // 老系统查询学习状态
-        Map<String, String> params = new HashMap<>();
-        Long nowTime = DateUtils.getNowTime();
-        String sign = ToolsUtils.EncoderByMd5(orderSn + nowTime.toString() + "pubilc2022");
-        params.put("stamp", nowTime.toString());
-        params.put("sign", sign);
-        params.put("orderSn", orderSn);
-        params.put("type", orderVo.getOrderType().toString());
-        String respone = "";
-        try {
-            respone = HttpUtils.postFormBody(ORDER_STUDY, params);
-            if (!respone.contains("\"Status\":true")) {
+        if (orderVo.getOrderBase() == 2){
+            Map<String, String> params = new HashMap<>();
+            Long nowTime = DateUtils.getNowTime();
+            String sign = ToolsUtils.EncoderByMd5(orderSn + nowTime.toString() + "pubilc2022");
+            params.put("stamp", nowTime.toString());
+            params.put("sign", sign);
+            params.put("orderSn", orderSn);
+            params.put("type", orderVo.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.isNotNull(data)) {
+                    studyVos = JSONArray.parseArray(JSONObject.toJSONString(data), TopOldOrderStudyVo.class);
+                }
+            } catch (IOException e) {
+                log.error("旧系统订单学员学习情况接口请求错误" + respone);
                 throw new CustomException("旧系统订单学员学习情况接口请求错误");
             }
-            JSONObject jsonObject = JSONObject.parseObject(respone);
-            Object data = jsonObject.get("Data");
-            if (ObjectUtils.isNotNull(data)) {
-                studyVos = JSONArray.parseArray(JSONObject.toJSONString(data), TopOldOrderStudyVo.class);
-            }
-        } catch (IOException e) {
-            log.error("旧系统订单学员学习情况接口请求错误" + respone);
-            throw new CustomException("旧系统订单学员学习情况接口请求错误");
-        }
-        List<TopOrderGoodsUpVo> goodsUpVos = new ArrayList<>();
-        Set<String> business = new HashSet<>();
-        for (TopOldOrderGoods orderGoods : orderGoodsList) {
-            business.add(orderGoods.getBusinessFullName());
-            goodsUpVos.add(getGoodsUp(orderGoods,studyVos));
-            //获取修改前的数据
-            List<TopOldOrderGoods> list = topOrderGoodsService.list(new LambdaQueryWrapper<TopOldOrderGoods>()
-                    .eq(TopOldOrderGoods::getOrderSn, orderGoods.getOrderSn())
-                    .eq(TopOldOrderGoods::getSignId, orderGoods.getRelSignId())
-                    .eq(TopOldOrderGoods::getCheckStatus, -1));
-            if (CollectionUtils.isNotEmpty(list)){
-                for (TopOldOrderGoods goods : list) {
-                    business.add(orderGoods.getBusinessFullName());
-                    goodsUpVos.add(getGoodsUp(goods,studyVos));
+            for (TopOldOrderGoods orderGoods : orderGoodsList) {
+                business.add(orderGoods.getBusinessFullName());
+                goodsUpVos.add(getGoodsUp(orderGoods,studyVos));
+                //获取修改前的数据
+                List<TopOldOrderGoods> list = topOrderGoodsService.list(new LambdaQueryWrapper<TopOldOrderGoods>()
+                        .eq(TopOldOrderGoods::getOrderSn, orderGoods.getOrderSn())
+                        .eq(TopOldOrderGoods::getSignId, orderGoods.getRelSignId())
+                        .eq(TopOldOrderGoods::getCheckStatus, -1));
+                if (CollectionUtils.isNotEmpty(list)){
+                    for (TopOldOrderGoods goods : list) {
+                        business.add(orderGoods.getBusinessFullName());
+                        goodsUpVos.add(getGoodsUp(goods,studyVos));
+                    }
                 }
             }
+        }else {
+            //底单在新系统
+            orderGoodsList.forEach(item -> {
+                business.add(item.getBusinessFullName());
+                TopOrderGoodsUpVo topOrderGoodsUpVo = BeanUtil.toBean(item, TopOrderGoodsUpVo.class);
+                topOrderGoodsUpVo.setUserCard(EncryptHandler.decrypt(item.getUserCard()));
+                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> goodsList = 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(goodsList)){
+                            goodsList.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"));
+                                        topOrderGoodsUpVo.setStudyStatus(
+                                                ObjectUtils.isNotNull(classGradeUser.getFinishStatus()) && classGradeUser.getFinishStatus() == 1 ? "已结束" : "学习中");
+                                    } else {
+                                        topOrderGoodsUpVo.setStudyStatus("未开始");
+                                    }
+                                }
+                            });
+
+                        }
+                    }
+                }
+            });
+
         }
+
         topOldOrderUpVo.setBusinessName(business.stream().collect(Collectors.joining(",")));
         topOldOrderUpVo.setOrderGoodsList(goodsUpVos);
         return topOldOrderUpVo;

+ 2 - 2
zhongzheng-system/src/main/resources/mapper/modules/top/TopOldOrderMapper.xml

@@ -1958,9 +1958,9 @@
             resultType="java.lang.Long">
 
         SELECT
-        IFNULL(COUNT( og.order_goods_id ),0)+ (
+        IFNULL(COUNT( DISTINCT og.order_sn ),0)+ (
                 SELECT
-        IFNULL(COUNT( otg.order_goods_id ),0) order_num
+        IFNULL(COUNT( DISTINCT otg.order_sn ),0) order_num
                 FROM
                     `top_old_order_goods` `otg`
                         LEFT JOIN top_old_order oo ON otg.order_sn = oo.order_sn