yangdamao 2 years ago
parent
commit
d860ccdd4e
22 changed files with 444 additions and 30 deletions
  1. 19 4
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/order/TopOldOrderController.java
  2. 1 1
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/UserServiceImpl.java
  3. 0 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java
  4. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/mapper/OrderMapper.java
  5. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderService.java
  6. 6 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java
  7. 9 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/sdk/service/impl/TopNuoMplatformLogServiceImpl.java
  8. 6 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/domain/TopOldOrder.java
  9. 9 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/domain/TopOldOrderGoods.java
  10. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/mapper/TopOldOrderMapper.java
  11. 6 4
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/ITopOldOrderService.java
  12. 187 16
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopOldOrderServiceImpl.java
  13. 52 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopOldOrderInvoiceVo.java
  14. 32 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopOldOrderUpVo.java
  15. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopOldOrderVo.java
  16. 59 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopOrderGoodsUpVo.java
  17. 12 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopOrderStatisticsVo.java
  18. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserMapper.java
  19. 15 0
      zhongzheng-system/src/main/resources/mapper/modules/order/OrderMapper.xml
  20. 6 2
      zhongzheng-system/src/main/resources/mapper/modules/top/TopOldOrderGoodsMapper.xml
  21. 13 0
      zhongzheng-system/src/main/resources/mapper/modules/top/TopOldOrderMapper.xml
  22. 1 1
      zhongzheng-system/src/main/resources/mapper/modules/user/UserMapper.xml

+ 19 - 4
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/order/TopOldOrderController.java

@@ -15,10 +15,7 @@ import com.zhongzheng.modules.top.financial.vo.TopCostTpVo;
 import com.zhongzheng.modules.top.financial.vo.TopOrderLogVo;
 import com.zhongzheng.modules.top.goods.bo.*;
 import com.zhongzheng.modules.top.goods.service.ITopOldOrderService;
-import com.zhongzheng.modules.top.goods.vo.TopOldOrderGoodsListVo;
-import com.zhongzheng.modules.top.goods.vo.TopOldOrderVo;
-import com.zhongzheng.modules.top.goods.vo.TopOrderStatisticsVo;
-import com.zhongzheng.modules.top.goods.vo.TopRefundOrderDetailVo;
+import com.zhongzheng.modules.top.goods.vo.*;
 import com.zhongzheng.modules.top.order.vo.TopOldOrderCommissionExportVo;
 import com.zhongzheng.modules.top.order.vo.TopOldOrderCompanyExportVo;
 import com.zhongzheng.modules.top.order.vo.TopOldOrderSellerExportVo;
@@ -92,6 +89,24 @@ public class TopOldOrderController extends BaseController {
         return getDataTable(list);
     }
 
+    /**
+     * 订单学员审核列表
+     */
+    @ApiOperation("订单学员审核列表")
+    @GetMapping("/goods/apply/list/{orderSn}")
+    public AjaxResult<TopOldOrderUpVo> getOrderGoodsApplyList(@PathVariable("orderSn" ) String orderSn) {
+        return AjaxResult.success(iTopOldOrderService.getOrderGoodsApplyList(orderSn));
+    }
+
+    /**
+     * 订单发票信息
+     */
+    @ApiOperation("订单发票信息")
+    @GetMapping("/invoice/list/{orderSn}")
+    public AjaxResult<List<TopOldOrderInvoiceVo>> getOrderInvoiceList(@PathVariable("orderSn" ) String orderSn) {
+        return AjaxResult.success(iTopOldOrderService.getOrderInvoiceList(orderSn));
+    }
+
     /**
      * 订单学员信息导出
      */

+ 1 - 1
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/UserServiceImpl.java

@@ -264,7 +264,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
     @Override
     public List<UserExportVo> selectListExport(UserQueryBo bo) {
         bo.setGetOrderNum(1L);
-        List<UserVo> list = entity2UserVo(userMapper.selectList(bo));
+        List<UserVo> list = entity2UserVo(userMapper.selectListByBo(bo));
         List<UserExportVo> listExport = new ArrayList<>();
         for (UserVo userVo : list) {
             userVo.setStudentCode(userVo.getUserAccount());

File diff suppressed because it is too large
+ 0 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java


+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/mapper/OrderMapper.java

@@ -9,6 +9,7 @@ import com.zhongzheng.modules.order.bo.OrderQueryBo;
 import com.zhongzheng.modules.order.domain.Order;
 import com.zhongzheng.modules.order.vo.OrderGoodsVo;
 import com.zhongzheng.modules.order.vo.OrderListVo;
+import com.zhongzheng.modules.top.goods.vo.TopOldOrderInvoiceVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -61,4 +62,6 @@ public interface OrderMapper extends BaseMapper<Order> {
 
     @InterceptorIgnore(tenantLine = "true")
     Integer getStudeCountByCodeNoTenant(String sevenCode);
+
+    List<TopOldOrderInvoiceVo> getOrderInvoiceList(String orderSn);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderService.java

@@ -10,6 +10,7 @@ import com.zhongzheng.modules.order.domain.Order;
 import com.zhongzheng.modules.order.vo.OrderGoodsVo;
 import com.zhongzheng.modules.order.vo.OrderListVo;
 import com.zhongzheng.modules.order.vo.OrderVo;
+import com.zhongzheng.modules.top.goods.vo.TopOldOrderInvoiceVo;
 
 import java.util.Collection;
 import java.util.List;
@@ -122,4 +123,5 @@ public interface IOrderService extends IService<Order> {
 
 	QuestionOpenImportVo questionGoodsOpenImport(List<QuestionOpenImportBo> importBoList,Long userId,String userName);
 
+    List<TopOldOrderInvoiceVo> getOrderInvoiceList(String orderSn);
 }

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -77,6 +77,7 @@ import com.zhongzheng.modules.top.goods.domain.TopOldOrderCheckLog;
 import com.zhongzheng.modules.top.goods.service.ITopOldOrderCheckLogService;
 import com.zhongzheng.modules.top.goods.service.ITopOldOrderCheckService;
 import com.zhongzheng.modules.top.goods.service.ITopOldOrderService;
+import com.zhongzheng.modules.top.goods.vo.TopOldOrderInvoiceVo;
 import com.zhongzheng.modules.top.settle.domian.TopInstSettle;
 import com.zhongzheng.modules.top.settle.service.ITopInstSettleService;
 import com.zhongzheng.modules.user.domain.User;
@@ -2953,6 +2954,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         return importVo;
     }
 
+    @Override
+    public List<TopOldOrderInvoiceVo> getOrderInvoiceList(String orderSn) {
+        return baseMapper.getOrderInvoiceList(orderSn);
+    }
+
     private void questionOpen(User user, QuestionMerchant merchant,UserSubscribe userSubscribe,Long loginId,String loginName) {
         //商家商品
         Goods merGoods = iGoodsService.getOne(new LambdaQueryWrapper<Goods>()

+ 9 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/sdk/service/impl/TopNuoMplatformLogServiceImpl.java

@@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.zhongzheng.common.core.redis.RedisCache;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
@@ -26,6 +27,7 @@ import com.zhongzheng.modules.sdk.mapper.TopNuoMplatformLogMapper;
 import com.zhongzheng.modules.sdk.service.ITopNuoMplatformLogService;
 import com.zhongzheng.modules.sdk.service.NuonuoService;
 import com.zhongzheng.modules.sdk.vo.TopNuoMplatformLogVo;
+import com.zhongzheng.modules.top.goods.domain.TopOldOrder;
 import com.zhongzheng.modules.top.goods.service.ITopOldOrderService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -242,6 +244,13 @@ public class TopNuoMplatformLogServiceImpl extends ServiceImpl<TopNuoMplatformLo
                             iTopOldOrderService.orderInvoice(orderNo);
                         }
                         else if(mplatformLog.getFromPlat()==2){
+                            //B端同步发票状态
+                            TopOldOrder oldOrder = iTopOldOrderService.getOne(new LambdaQueryWrapper<TopOldOrder>()
+                                    .eq(TopOldOrder::getOrderSn, orderNo));
+                            if (ObjectUtils.isNotNull(oldOrder)){
+                                oldOrder.setInvoiceStatus(1);//已开票
+                                iTopOldOrderService.updateById(oldOrder);
+                            }
                             //旧系统
                             Map<String, String> params = new HashMap<>();
                             Long nowTime = DateUtils.getNowTime();

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/domain/TopOldOrder.java

@@ -162,4 +162,10 @@ private static final long serialVersionUID=1L;
     private Integer operationType;
     @ApiModelProperty("补款金额")
     private BigDecimal repairMoneyTotal;
+    /** 对应客户Id */
+    private Integer oldCompanyId;
+    /** 客户ID */
+    private Integer oldCustomerId;
+    /** 订单所属机构 */
+    private Integer oldInstitutionId;
 }

+ 9 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/domain/TopOldOrderGoods.java

@@ -75,6 +75,10 @@ private static final long serialVersionUID=1L;
     private String businessFullName;
     /** 学习状态:0未开始,1学习中,2已结束 */
     private Integer checkStatus;
+    /** 学申请修改时间 */
+    private Long applyUpTime;
+    /** 申请修改原因 */
+    private String applyUpReason;
     @ApiModelProperty("旧系统自增ID")
     private Long signId;
     @ApiModelProperty("学员名称")
@@ -94,5 +98,10 @@ private static final long serialVersionUID=1L;
     private BigDecimal divideMoney;
     @ApiModelProperty("补款金额")
     private BigDecimal repairMoney;
+    @ApiModelProperty("补款证明")
+    private String repairProve;
+    @ApiModelProperty("订单课程所属机构")
+    private String ownInstitutionId;
+
 
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/mapper/TopOldOrderMapper.java

@@ -6,6 +6,7 @@ import com.zhongzheng.modules.top.financial.bo.RefundOrderBo;
 import com.zhongzheng.modules.top.financial.vo.TopOrderLogVo;
 import com.zhongzheng.modules.top.goods.bo.TopOldOrderQueryBo;
 import com.zhongzheng.modules.top.goods.domain.TopOldOrder;
+import com.zhongzheng.modules.top.goods.vo.TopOldOrderInvoiceVo;
 import com.zhongzheng.modules.top.goods.vo.TopOldOrderRefundVo;
 import com.zhongzheng.modules.top.goods.vo.TopOldOrderVo;
 import org.apache.ibatis.annotations.Param;
@@ -55,4 +56,5 @@ public interface TopOldOrderMapper extends BaseMapper<TopOldOrder> {
 
     List<String> getOrderSnByBusiness(@Param("businessName")String businessName);
 
+    List<TopOldOrderInvoiceVo> getOrderInvoiceList(String orderSn);
 }

+ 6 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/ITopOldOrderService.java

@@ -6,10 +6,7 @@ import com.zhongzheng.modules.top.financial.bo.*;
 import com.zhongzheng.modules.top.financial.vo.*;
 import com.zhongzheng.modules.top.goods.bo.*;
 import com.zhongzheng.modules.top.goods.domain.TopOldOrder;
-import com.zhongzheng.modules.top.goods.vo.TopOldOrderGoodsListVo;
-import com.zhongzheng.modules.top.goods.vo.TopOldOrderVo;
-import com.zhongzheng.modules.top.goods.vo.TopOrderStatisticsVo;
-import com.zhongzheng.modules.top.goods.vo.TopRefundOrderDetailVo;
+import com.zhongzheng.modules.top.goods.vo.*;
 import com.zhongzheng.modules.top.order.bo.PayOrderCallBackBo;
 import com.zhongzheng.modules.top.order.vo.TopOldOrderCommissionExportVo;
 import com.zhongzheng.modules.top.order.vo.TopOldOrderCompanyExportVo;
@@ -134,4 +131,9 @@ public interface ITopOldOrderService extends IService<TopOldOrder> {
 	void informRemindOrderCheck(String result);
 
 	boolean updateFinanceRemark(TopUpdateRemarkBo bo);
+
+	TopOldOrderUpVo getOrderGoodsApplyList(String orderSn);
+
+	List<TopOldOrderInvoiceVo> getOrderInvoiceList(String orderSn);
+
 }

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

@@ -34,6 +34,8 @@ import com.zhongzheng.modules.inform.bo.InformSysUserAddBo;
 import com.zhongzheng.modules.inform.service.IInformRemindService;
 import com.zhongzheng.modules.inform.service.IInformSysUserService;
 import com.zhongzheng.modules.inform.vo.InformRemindVo;
+import com.zhongzheng.modules.order.bo.OrderInvoiceBo;
+import com.zhongzheng.modules.order.bo.OrderInvoiceHostBo;
 import com.zhongzheng.modules.order.domain.*;
 import com.zhongzheng.modules.order.service.*;
 import com.zhongzheng.modules.order.vo.OrderGoodsVo;
@@ -155,6 +157,9 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
     @Autowired
     private IOrderService orderService;
 
+    @Autowired
+    private IOrderInvoiceOrderService orderInvoiceOrderService;
+
     @Autowired
     private IUserService userService;
 
@@ -325,6 +330,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         if (CollectionUtils.isNotEmpty(orderVoList)) {
             //订单业务类型
             orderVoList.forEach(item -> {
+                item.setUserCheckStatus(1);
                 List<String> businessNames = baseMapper.queryBusinessBySn(item.getOrderSn());
                 item.setBusinessNames(businessNames);
                 //订单转账凭证
@@ -347,6 +353,14 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                     BigDecimal add = orderCost.add(cost).add(instCost);
                     item.setOrderCost(add);
                 }
+                //学员审核状态
+                int userCount = topOrderGoodsService.count(new LambdaQueryWrapper<TopOldOrderGoods>()
+                        .eq(TopOldOrderGoods::getCheckStatus, 0)
+                        .eq(TopOldOrderGoods::getOrderSn, item.getOrderSn())
+                        .eq(TopOldOrderGoods::getStatus, 1));
+                if (userCount > 0){
+                    item.setUserCheckStatus(0);
+                }
                 //退款审核角色
                 if (Arrays.asList(0, 2).contains(item.getRefundStatus())) {
                     String refundSn = "";
@@ -918,6 +932,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                         oldOrderGoods.setUserCard(EncryptHandler.encrypt(oldOrderGoods.getUserCard()));
                         oldOrderGoods.setStatus(1);
                         oldOrderGoods.setTenantId(order.getTenantId());
+                        oldOrderGoods.setApplyUpTime(DateUtils.getNowTime());
                         add.add(oldOrderGoods);
                         break;
                     case -1://删除
@@ -1994,6 +2009,137 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         return true;
     }
 
+    @Override
+    public TopOldOrderUpVo getOrderGoodsApplyList(String orderSn) {
+        //查询视图 v_top_order
+        TopOldOrderVo orderVo = baseMapper.queryById(orderSn);
+        if (ObjectUtils.isNull(orderVo)) {
+            throw new CustomException("订单号错误!");
+        }
+        if (orderVo.getOrderFrom() == 1){return new TopOldOrderUpVo();}
+
+        //订单是否存在修改
+        List<TopOldOrderGoods> orderGoodsList = topOrderGoodsService
+                .list(new LambdaQueryWrapper<TopOldOrderGoods>()
+                .eq(TopOldOrderGoods::getCheckStatus, 0)
+                .eq(TopOldOrderGoods::getStatus, 1));
+        if (CollectionUtils.isEmpty(orderGoodsList)){
+            return new TopOldOrderUpVo();
+        }
+
+        TopOldOrderUpVo topOldOrderUpVo = new TopOldOrderUpVo();
+        topOldOrderUpVo.setApplyUpTime(orderGoodsList.get(0).getApplyUpTime());
+        topOldOrderUpVo.setApplyUpName(orderVo.getPurchaseOrg());
+        topOldOrderUpVo.setOrderSn(orderSn);
+
+        List<TopOldOrderStudyVo> studyVos = new ArrayList<>();
+        // 老系统查询学习状态
+        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("旧系统订单学员学习情况接口请求错误");
+        }
+        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.getSignId())
+                    .eq(TopOldOrderGoods::getCheckStatus, -1));
+            if (CollectionUtils.isNotEmpty(list)){
+                for (TopOldOrderGoods goods : list) {
+                    business.add(orderGoods.getBusinessFullName());
+                    goodsUpVos.add(getGoodsUp(goods,studyVos));
+                }
+            }
+        }
+        topOldOrderUpVo.setBusinessName(business.stream().collect(Collectors.joining(",")));
+        topOldOrderUpVo.setOrderGoodsList(goodsUpVos);
+        return topOldOrderUpVo;
+    }
+
+    @Override
+    public List<TopOldOrderInvoiceVo> getOrderInvoiceList(String orderSn) {
+        //查询视图 v_top_order
+        TopOldOrderVo orderVo = baseMapper.queryById(orderSn);
+        if (ObjectUtils.isNull(orderVo)) {
+            throw new CustomException("订单号错误!");
+        }
+        List<TopOldOrderInvoiceVo> resultList = new ArrayList<>();
+        if (orderVo.getOrderFrom() == 1){
+            //新系统
+            resultList = orderService.getOrderInvoiceList(orderSn);
+        }else {
+            resultList = baseMapper.getOrderInvoiceList(orderSn);
+        }
+        if (CollectionUtils.isEmpty(resultList)){
+            return new ArrayList<>();
+        }
+        for (TopOldOrderInvoiceVo invoiceVo : resultList) {
+            if (StringUtils.isNotBlank(invoiceVo.getContent())){
+                OrderInvoiceHostBo hostBo = JSONObject.parseObject(invoiceVo.getContent(), OrderInvoiceHostBo.class);
+                if (ObjectUtils.isNull(hostBo.getOrder())){
+                    continue;
+                }
+                OrderInvoiceBo order = hostBo.getOrder();
+                invoiceVo.setBuyerName(order.getBuyerName());
+                invoiceVo.setBuyerTaxNum(order.getBuyerTaxNum());
+                invoiceVo.setEmail(order.getEmail());
+                invoiceVo.setRemark(order.getRemark());
+                invoiceVo.setInvoiceType(
+                        StringUtils.isNotBlank(order.getInvoiceLine()) && order.getInvoiceLine().equals("bs")?"专票":"普票"
+                );
+                if (ObjectUtils.isNotNull(order.getInvoiceDetail())){
+                    invoiceVo.setPrice(order.getInvoiceDetail().getPrice());
+                    invoiceVo.setApplyPrice(order.getInvoiceDetail().getPrice());
+                }
+            }
+        }
+
+        return resultList;
+    }
+
+    private TopOrderGoodsUpVo getGoodsUp(TopOldOrderGoods orderGoods,List<TopOldOrderStudyVo> studyVos){
+        TopOrderGoodsUpVo vo = BeanUtil.toBean(orderGoods, TopOrderGoodsUpVo.class);
+        //学习状态
+        if (CollectionUtils.isEmpty(studyVos)) {
+            vo.setStudyStatus("未开始");
+        } else {
+            TopOldOrderStudyVo studyVo = studyVos.stream().filter(x -> x.getUnderOrdeEnrollItemId().equals(vo.getSignId())
+                    && x.getIdNum().equals(vo.getUserCard())).findFirst().orElse(null);
+            if (ObjectUtils.isNotNull(studyVo) && ObjectUtils.isNotNull(studyVo.getStudyHours())) {
+                if (ObjectUtils.isNull(studyVo.getStudyHours()) && studyVo.getStudyHours() == 0) {
+                    vo.setStudyStatus("未开始");
+                } else if (studyVo.getStudyHours() < studyVo.getTotalHours()) {
+                    vo.setStudyStatus("学习中");
+                } else {
+                    vo.setStudyStatus("已结束");
+                }
+            }
+        }
+        return vo;
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean orderRefundApply(TopOrderRefundApplyBo bo) {
@@ -3032,26 +3178,51 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         BigDecimal cost = vos.stream().filter(x -> ObjectUtils.isNotNull(x.getOrderCost())).map(TopOldOrderVo::getOrderCost).reduce(BigDecimal.ZERO, BigDecimal::add);
         //订单学员数
         Set<String> userCard = new HashSet<>();
+        Map<Integer,List<TopOldOrderVo>> orderMap = new HashMap<>();
+        List<TopOldOrderVo> orderSn = new ArrayList<>();
+        Set<String> userCheckOrderSn = new HashSet<>();
+        Integer key = 1;
         for (TopOldOrderVo orderVo : vos) {
-            if (orderVo.getOrderFrom() != 1) {
-                //旧系统订单
-                List<TopOldOrderGoods> list = topOrderGoodsService
-                        .list(new LambdaQueryWrapper<TopOldOrderGoods>()
-                                .eq(TopOldOrderGoods::getOrderSn, orderVo.getOrderSn())
-                                .eq(TopOldOrderGoods::getStatus, 1)
-                                .ne(TopOldOrderGoods::getCheckStatus, -1));
-                if (CollectionUtils.isNotEmpty(list)) {
-                    list.forEach(x -> userCard.add(x.getUserCard()));
-                }
-            } else {
-                //新系统订单
-                User user = userService.getById(orderVo.getUserId());
-                if (ObjectUtils.isNotNull(user)) {
-                    userCard.add(user.getIdCard());
-                }
+            orderSn.add(orderVo);
+            if (orderSn.size() == 1000){
+                orderMap.put(key,orderSn);
+                orderSn = new ArrayList<>();
+                key ++;
             }
         }
+        orderMap.forEach((k,v) -> {
+            Map<Integer, List<TopOldOrderVo>> collect = v.stream().collect(Collectors.groupingBy(TopOldOrderVo::getOrderFrom));
+            collect.forEach((m,l) -> {
+                if (m != 1){
+                    //旧系统订单
+                    List<TopOldOrderGoods> list = topOrderGoodsService
+                            .list(new LambdaQueryWrapper<TopOldOrderGoods>()
+                                    .in(TopOldOrderGoods::getOrderSn, l.stream().map(TopOldOrderVo::getOrderSn).collect(Collectors.toList()))
+                                    .eq(TopOldOrderGoods::getStatus, 1)
+                                    .ne(TopOldOrderGoods::getCheckStatus, -1));
+                    if (CollectionUtils.isNotEmpty(list)) {
+                        list.forEach(x -> userCard.add(x.getUserCard()));
+                        Set<String> collect1 = list.stream().filter(x -> x.getCheckStatus() == 0).map(TopOldOrderGoods::getOrderSn).collect(Collectors.toSet());
+                        userCheckOrderSn.addAll(collect1);
+                    }
+                }else {
+                    //新系统订单
+                    List<User> list = userService.list(new LambdaQueryWrapper<User>().in(User::getUserId, l.stream().map(TopOldOrderVo::getUserId).collect(Collectors.toList())));
+                    if (CollectionUtils.isNotEmpty(list)){
+                        userCard.addAll(list.stream().map(x -> EncryptHandler.decrypt(x.getIdCard())).collect(Collectors.toList()));
+                    }
+                }
+
+            });
+        });
         Integer orderNum = vos.size();
+        Integer count = vos.stream().filter(x -> ObjectUtils.isNotNull(x.getCheckStatus()) && x.getCheckStatus() == 0).collect(Collectors.toList()).size();
+        Integer count2 = vos.stream().filter(x -> ObjectUtils.isNotNull(x.getRefundStatus()) && x.getRefundStatus() == 0).collect(Collectors.toList()).size();
+        Integer count3 = vos.stream().filter(x -> ObjectUtils.isNotNull(x.getFinishStatus()) && x.getFinishStatus() == 0).collect(Collectors.toList()).size();
+        vo.setCheckOrderNum(count);
+        vo.setCheckRefundNum(count2);
+        vo.setCheckFinishNum(count3);
+        vo.setCheckUserNum(userCheckOrderSn.size());
         vo.setOrderProfitTotal(profit);
         vo.setOrderPriceTotal(price);
         vo.setOrderReceivedTotal(received);

+ 52 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopOldOrderInvoiceVo.java

@@ -0,0 +1,52 @@
+package com.zhongzheng.modules.top.goods.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @author yangdamao
+ * @date 2023年10月18日 10:31
+ */
+@Data
+public class TopOldOrderInvoiceVo implements Serializable {
+
+    @ApiModelProperty("申请时间")
+    private Long applyUpTime;
+
+    @ApiModelProperty("发票类型")
+    private String invoiceType;
+
+    @ApiModelProperty("1开票中 0关闭  2开票完成 -1失效 -2推送失败")
+    private Integer invoiceStatus;
+
+    @ApiModelProperty("抬头")
+    private String buyerName;
+
+    @ApiModelProperty("信用代码")
+    private String buyerTaxNum;
+
+    @ApiModelProperty("收票信息")
+    private String email;
+
+    @ApiModelProperty("申请金额")
+    private BigDecimal applyPrice;
+
+    @ApiModelProperty("开票金额")
+    private BigDecimal price;
+
+    @ApiModelProperty("开票时间")
+    private Long invoiceTime;
+
+    @ApiModelProperty("发票PDF路径")
+    private String ossPdfUrl;
+
+    @ApiModelProperty("发票备注")
+    private String remark;
+
+    private String content;
+
+}

+ 32 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopOldOrderUpVo.java

@@ -0,0 +1,32 @@
+package com.zhongzheng.modules.top.goods.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author yangdamao
+ * @date 2023年10月18日 10:31
+ */
+@Data
+public class TopOldOrderUpVo implements Serializable {
+
+    @ApiModelProperty("申请时间")
+    private Long applyUpTime;
+
+    @ApiModelProperty("申请人")
+    private String applyUpName;
+
+    @ApiModelProperty("订单号")
+    private String orderSn;
+
+    @ApiModelProperty("业务层次")
+    private String businessName;
+
+    @ApiModelProperty("订单学员修改信息")
+    private List<TopOrderGoodsUpVo> orderGoodsList;
+
+}

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopOldOrderVo.java

@@ -95,6 +95,9 @@ public class TopOldOrderVo {
 	/** 审核状态:0待审核,1已通过,2未通过,3已撤销 */
 	@ApiModelProperty("审核状态:0待审核,1已通过,2未通过,3已撤销")
 	private Integer checkStatus;
+	/** 学员审核:0待审核,1已通过,2未通过,3已撤销 */
+	@ApiModelProperty("审核状态:0待审核,1已通过")
+	private Integer userCheckStatus;
 	/** 审核意见 */
 	@ApiModelProperty("审核意见")
 	private String checkReason;

+ 59 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopOrderGoodsUpVo.java

@@ -0,0 +1,59 @@
+package com.zhongzheng.modules.top.goods.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @author yangdamao
+ * @date 2023年10月18日 10:31
+ */
+@Data
+public class TopOrderGoodsUpVo implements Serializable {
+
+    private Long orderGoodsId;
+
+    @ApiModelProperty("修改状态:0改后 -1改前")
+    private Integer checkStatus;
+
+    @ApiModelProperty("学员姓名")
+    private String userName;
+
+    @ApiModelProperty("学员身份证")
+    private String userCard;
+
+    @ApiModelProperty("学员手机号")
+    private String userPhone;
+
+    @ApiModelProperty("商品名称")
+    private String goodsName;
+
+    @ApiModelProperty("商品年份")
+    private String goodsYear;
+
+    @ApiModelProperty("商品标准价格")
+    private BigDecimal goodsPrice;
+
+    @ApiModelProperty("商品成交价格")
+    private BigDecimal goodsRealPrice;
+
+    @ApiModelProperty("学习状态:0未开始,1学习中,2已结束")
+    private String studyStatus;
+
+    @ApiModelProperty("补款金额")
+    private BigDecimal repairMoney;
+    @ApiModelProperty("补款证明")
+    private String repairProve;
+    @ApiModelProperty("申请修改原因")
+    private String applyUpReason;
+    @ApiModelProperty("申请修改时间")
+    private Long applyUpTime;
+
+    @ApiModelProperty("数据ID")
+    private Integer signId;
+
+
+
+}

+ 12 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopOrderStatisticsVo.java

@@ -44,4 +44,16 @@ public class TopOrderStatisticsVo {
     @ApiModelProperty("订单数")
     private Integer orderNum;
 
+    @ApiModelProperty("待审订单数量")
+    private Integer checkOrderNum;
+
+    @ApiModelProperty("待审退款")
+    private Integer checkRefundNum;
+
+    @ApiModelProperty("待审学员")
+    private Integer checkUserNum;
+
+    @ApiModelProperty("待审完单")
+    private Integer checkFinishNum;
+
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserMapper.java

@@ -30,7 +30,7 @@ public interface UserMapper extends BaseMapper<User> {
 
     Integer selectUserNum(Integer grade);
 
-    List<User> selectList(UserQueryBo bo);
+    List<User> selectListByBo(UserQueryBo bo);
 
     @InterceptorIgnore(tenantLine = "true")
     List<User> selectListNoTenant(UserQueryBo bo);

+ 15 - 0
zhongzheng-system/src/main/resources/mapper/modules/order/OrderMapper.xml

@@ -508,6 +508,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         WHERE cg.`status` = 1 AND  cg.seven_code = #{sevenCode}
     </select>
 
+    <select id="getOrderInvoiceList" resultType="com.zhongzheng.modules.top.goods.vo.TopOldOrderInvoiceVo" parameterType="java.lang.String">
+        SELECT
+            tnm.create_time as applyUpTime,
+            tnm.`status` as invoiceStatus,
+            tnm.update_time as invoiceTime,
+            tnm.oss_pdf_url as ossPdfUrl,
+            tnm.content
+        FROM
+            order_goods og
+                LEFT JOIN order_invoice_order oio ON og.order_goods_id = oio.order_goods_id
+                LEFT JOIN order_invoice oi ON oio.invoice_id = oi.invoice_id
+                LEFT JOIN top_nuo_mplatform_log tnm ON oi.serial_number = tnm.order_no
+        WHERE og.order_sn = #{orderSn}
+    </select>
+
     <select id="getClassNameByGoods" resultType="com.zhongzheng.modules.grade.domain.ClassGrade" parameterType="java.lang.Long">
         SELECT
             cg.*

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

@@ -62,12 +62,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             divide_type,
             divide_rate,
             divide_money,
-            check_status
+            check_status,
+            divide_type,
+            divide_rate,
+            divide_money
         FROM
             top_old_order_goods
         WHERE
             order_sn = #{orderSn}
-          AND `status` = 1
+            AND `status` = 1
+            AND check_status != -1
 --           AND refund_status != 2
 -- 	      AND pay_status IN (2,3,4)
         <if test="userCard != null and userCard != ''">

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

@@ -598,4 +598,17 @@
         WHERE INSTR(business_full_name, #{businessName}) > 0
     </select>
 
+    <select id="getOrderInvoiceList" parameterType="com.zhongzheng.modules.top.goods.vo.TopOldOrderInvoiceVo" resultType="java.lang.String">
+        SELECT
+            create_time AS applyUpTime,
+            `status` AS invoiceStatus,
+            update_time AS invoiceTime,
+            oss_pdf_url AS ossPdfUrl,
+            content
+        FROM
+            top_nuo_mplatform_log
+        WHERE
+            INSTR(order_no_list,#{orderSn})
+    </select>
+
 </mapper>

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/user/UserMapper.xml

@@ -146,7 +146,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         WHERE 1=1 and user_level = #{grade}
     </select>
 
-    <select id="selectList" parameterType="com.zhongzheng.modules.user.bo.UserQueryBo" resultMap="UserResult">
+    <select id="selectListByBo" parameterType="com.zhongzheng.modules.user.bo.UserQueryBo" resultMap="UserResult">
         SELECT DISTINCT
         u.*,
         (case WHEN u.union_id is null then 0 ELSE 1 end) as user_bind_wx

Some files were not shown because too many files changed in this diff