yangdamao 2 жил өмнө
parent
commit
2630474654
31 өөрчлөгдсөн 962 нэмэгдсэн , 175 устгасан
  1. 3 3
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/common/CommonController.java
  2. 21 0
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/order/TopOldOrderController.java
  3. 4 0
      zhongzheng-admin-saas/src/main/resources/application-dev.yml
  4. 3 0
      zhongzheng-api/src/main/resources/application-dev.yml
  5. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderAddBo.java
  6. 26 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/domain/Order.java
  7. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/mapper/OrderGoodsMapper.java
  8. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderGoodsService.java
  9. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsServiceImpl.java
  10. 111 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java
  11. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/mapper/TopCostTpItemMapper.java
  12. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/service/ITopCostTpItemService.java
  13. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/service/impl/TopCostTpItemServiceImpl.java
  14. 11 5
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopOldOrderAddBo.java
  15. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopOldOrderCheckBo.java
  16. 8 3
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopOldOrderEditBo.java
  17. 17 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopOldOrderStudyBo.java
  18. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopRefundOrderCheckBo.java
  19. 29 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopUpdateCostBo.java
  20. 4 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/domain/TopOldOrder.java
  21. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/ITopOldOrderService.java
  22. 534 149
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopOldOrderServiceImpl.java
  23. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopOldOrderGoodsListVo.java
  24. 25 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopOldOrderStudyVo.java
  25. 13 5
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopOldOrderVo.java
  26. 9 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopRefundOrderDetailVo.java
  27. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/wx/service/impl/WxPayServiceImpl.java
  28. 13 0
      zhongzheng-system/src/main/resources/mapper/modules/order/OrderGoodsMapper.xml
  29. 13 0
      zhongzheng-system/src/main/resources/mapper/modules/top/TopCostTpItemMapper.xml
  30. 4 2
      zhongzheng-system/src/main/resources/mapper/modules/top/TopOldOrderGoodsMapper.xml
  31. 76 6
      zhongzheng-system/src/main/resources/mapper/modules/top/TopOldOrderMapper.xml

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

@@ -111,9 +111,9 @@ public class CommonController extends BaseController {
     @ApiOperation("新增订单")
     @PostMapping("/save/order")
     public AjaxResult<Void> saveOrder(@RequestBody TopOldOrderAddBo bo) {
-        if(!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(),bo.getSign())){
-            throw new CustomException("签名错误");
-        }
+//        if(!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(),bo.getSign())){
+//            throw new CustomException("签名错误");
+//        }
         return toAjax(iTopOldOrderService.insertByAddBo(bo) ? 1 : 0);
     }
 }

+ 21 - 0
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/order/TopOldOrderController.java

@@ -7,6 +7,7 @@ import com.zhongzheng.common.core.page.TableDataInfo;
 import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.common.utils.poi.ExcelUtil;
 import com.zhongzheng.framework.web.service.TopTokenService;
+import com.zhongzheng.modules.top.financial.vo.TopCostTpVo;
 import com.zhongzheng.modules.top.goods.bo.*;
 import com.zhongzheng.modules.top.goods.service.ITopOldOrderService;
 import com.zhongzheng.modules.top.goods.vo.TopOldOrderGoodsListVo;
@@ -109,6 +110,7 @@ public class TopOldOrderController extends BaseController {
     public AjaxResult<Void> checkOrder(@RequestBody TopOldOrderCheckBo bo) {
         TopLoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
         bo.setLoginId(loginUser.getUser().getUserId());
+        bo.setLoginName(loginUser.getUser().getUserName());
         return toAjax(iTopOldOrderService.checkOrder(bo) ? 1 : 0);
     }
 
@@ -158,6 +160,7 @@ public class TopOldOrderController extends BaseController {
     public AjaxResult<Void> refundOrderCheck(@RequestBody TopRefundOrderCheckBo bo) {
         TopLoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
         bo.setLoginId(loginUser.getUser().getUserId());
+        bo.setLoginName(loginUser.getUser().getUserName());
         return toAjax(iTopOldOrderService.refundOrderCheck(bo) ? 1 : 0);
     }
 
@@ -194,4 +197,22 @@ public class TopOldOrderController extends BaseController {
         return AjaxResult.success(iTopOldOrderService.countOrderNum(bo));
     }
 
+    /**
+     * 订单成本
+     */
+    @ApiOperation("获取订单成本设置")
+    @GetMapping("/cost/{orderSn}")
+    public AjaxResult<TopCostTpVo> getOrderCost(@PathVariable("orderSn") String orderSn) {
+        return AjaxResult.success(iTopOldOrderService.getOrderCost(orderSn));
+    }
+
+    /**
+     * 订单成本修改
+     */
+    @ApiOperation("批量订单成本修改")
+    @PostMapping("/update/cost")
+    public AjaxResult<Void> updateOrderCost(@RequestBody TopUpdateCostBo bo) {
+        return toAjax(iTopOldOrderService.updateOrderCost(bo) ? 1 : 0);
+    }
+
 }

+ 4 - 0
zhongzheng-admin-saas/src/main/resources/application-dev.yml

@@ -152,3 +152,7 @@ Nuonuo:
     host: https://sdk.nuonuo.com/open/v1/services
     APPkey: 39149760
     APPSecret: 07168A248B2844E0
+
+oldOrder:
+    studyRecord: http://gdxypx.xy.com/WitSystem/BussinessApi/GetStudyRecord
+    orderCheck: http://gdxypx.xy.com/WitSystem/BussinessApi/AuditUnderOrder

+ 3 - 0
zhongzheng-api/src/main/resources/application-dev.yml

@@ -155,3 +155,6 @@ Nuonuo:
     host: https://sandbox.nuonuocs.cn/open/v1/services
     APPkey: SD39149760
     APPSecret: SD168A248B2844E0
+
+oldOrder:
+    studyRecord: http://gdxypx.xy.com/WitSystem/BussinessApi/GetStudyRecord

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderAddBo.java

@@ -96,4 +96,6 @@ public class OrderAddBo {
     private String shareActivityCode;
     @ApiModelProperty("业务员名称")
     private String sellerName;
+    @ApiModelProperty("底单:1新系统,2旧系统")
+    private Integer orderBase;
 }

+ 26 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/domain/Order.java

@@ -138,5 +138,31 @@ private static final long serialVersionUID=1L;
     //38        晋建云学堂
     private Integer orderOrg;
 
+    /** 审核状态:0待审核,1已通过,2未通过,3已撤销 */
+    private Integer checkStatus;
+    /** 退款状态:0待审核,1正常,2未退款,3已完成,4未通过 */
+    private Integer refundStatus;
+    /** 账款状态:0未结清,1已结清 */
+    private Integer creditStatus;
+    /** 发票状态:0未开票,1已开票 */
+    private Integer invoiceStatus;
+    /** 完单状态:0未完单,1已完单 */
+    private Integer finishStatus;
+    /** 盈亏(元) */
+    private BigDecimal orderProfit;
+    /** 成本(元) */
+    private BigDecimal orderCost;
+    /** 退款(元) */
+    private BigDecimal orderRefund;
+    /** 已退(元) */
+    private BigDecimal orderRefunded;
+    /** 未收账款(元) */
+    private BigDecimal orderUncollected;
+    /** 实收账款(元) */
+    private BigDecimal orderReceived;
+    /** 成本设置 */
+    private String costJson;
+    /** 底单:1新系统,2旧系统 */
+    private Integer orderBase;
 
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/mapper/OrderGoodsMapper.java

@@ -64,4 +64,6 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
     OrderGoods getOrderByGoods(@Param("userId")Long userId,@Param("goodsId") Long goodsId);
 
     List<TopOldOrderGoodsListVo> listByOrderSn(TopOldOrderGoodsQuery query);
+
+    String getBusinessById(@Param("orderGoodsId") Long orderGoodsId);
 }

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

@@ -114,4 +114,6 @@ public interface IOrderGoodsService extends IService<OrderGoods> {
     OrderGoods getOrderByGoods(Long userId, Long goodsId);
 
     List<TopOldOrderGoodsListVo> listByOrderSn(TopOldOrderGoodsQuery query);
+
+    String getBusinessById(Long orderGoodsId);
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsServiceImpl.java

@@ -679,6 +679,11 @@ public class OrderGoodsServiceImpl extends ServiceImpl<OrderGoodsMapper, OrderGo
         return baseMapper.listByOrderSn(query);
     }
 
+    @Override
+    public String getBusinessById(Long orderGoodsId) {
+        return baseMapper.getBusinessById(orderGoodsId);
+    }
+
     private boolean checkUnique(Long GoodsId,Long UserId) {
         ShoppingCart info = iShoppingCartService.getOne(new LambdaQueryWrapper<ShoppingCart>()
                 .eq(ShoppingCart::getUserId,UserId).eq(ShoppingCart::getGoodsId,GoodsId).last("limit 1"));

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

@@ -5,7 +5,9 @@ import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -68,6 +70,16 @@ import com.zhongzheng.modules.order.vo.OrderPayVo;
 import com.zhongzheng.modules.order.vo.OrderVo;
 import com.zhongzheng.modules.system.domain.SysOldOrg;
 import com.zhongzheng.modules.system.service.ISysOldOrgService;
+import com.zhongzheng.modules.top.financial.domain.TopCostTp;
+import com.zhongzheng.modules.top.financial.domain.TopCostTpItem;
+import com.zhongzheng.modules.top.financial.service.ITopCostTpItemService;
+import com.zhongzheng.modules.top.financial.service.ITopCostTpService;
+import com.zhongzheng.modules.top.financial.vo.TopCostTpItemVo;
+import com.zhongzheng.modules.top.financial.vo.TopCostTpVo;
+import com.zhongzheng.modules.top.goods.bo.TopOldOrderGoodsAddBo;
+import com.zhongzheng.modules.top.goods.domain.TopCourseBusiness;
+import com.zhongzheng.modules.top.goods.domain.TopCourseEducationType;
+import com.zhongzheng.modules.top.goods.domain.TopCourseProjectType;
 import com.zhongzheng.modules.user.domain.User;
 import com.zhongzheng.modules.user.domain.UserExamGoods;
 import com.zhongzheng.modules.user.service.IUserExamGoodsService;
@@ -169,6 +181,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
     @Autowired
     private IActivityGoodsPriceService iActivityGoodsPriceService;
 
+    @Autowired
+    private ITopCostTpService topCostTpService;
+    @Autowired
+    private ITopCostTpItemService topCostTpItemService;
+
 
     @Override
     public OrderVo queryById(Long orderId) {
@@ -699,6 +716,13 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
             }
             add.setStatus(1);
         }
+        if (ObjectUtils.isNotNull(bo.getCreateSysUserId()) && bo.getCreateSysUserId() == -1){
+            //todo 旧系统订单
+
+
+        }else {
+            orderCostHandle(add);
+        }
         this.save(add);
         //处理收费商品,生成计费单
         Map<String, Object> billRs = null;
@@ -910,6 +934,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
             payAddBo.setPayPrice(payPrice);
             iOrderPayService.insertByAddBo(payAddBo);
         }
+        //C端订单成本处理
+        orderCostHandle(add);
         this.save(add);
 
         //判断是否红包活动订单
@@ -943,6 +969,87 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         return payResult;
     }
 
+    private void orderCostHandle(Order add) {
+        add.setCheckStatus(1);//C端订单不需要审核
+        add.setRefundStatus(0);
+        add.setInvoiceStatus(0);
+        add.setCreditStatus(0);
+        add.setOrderRefund(BigDecimal.ZERO);
+        add.setOrderRefunded(BigDecimal.ZERO);
+        add.setOrderUncollected(add.getPayPrice());
+        add.setOrderReceived(BigDecimal.ZERO);
+        add.setOrderCost(BigDecimal.ZERO);
+        add.setOrderProfit(BigDecimal.ZERO);
+
+        String TenantId = ServletUtils.getRequest().getHeader("TenantId");
+        //成本和盈亏
+        // 获取企业默认成本模板
+        TopCostTp costTp = topCostTpService.getOne(new LambdaQueryWrapper<TopCostTp>()
+                .eq(TopCostTp::getTenantId, TenantId).eq(TopCostTp::getDefaultStatus, 1).last("limit 1"));
+        if (ObjectUtils.isNotNull(costTp)){
+            List<OrderGoods> orderGoodsList = iOrderGoodsService
+                    .list(new LambdaQueryWrapper<OrderGoods>()
+                            .eq(OrderGoods::getOrderSn, add.getOrderSn())
+                            .eq(OrderGoods::getStatus, 1));
+
+            TopCostTpVo topCostTpVo = BeanUtil.toBean(costTp, TopCostTpVo.class);
+            List<TopCostTpItemVo> itemVoList = new ArrayList<>();
+            //成本项
+            BigDecimal costTotal = new BigDecimal("0.00");//成本
+            BigDecimal profitTotal = new BigDecimal("0.00"); //盈亏
+            for (OrderGoods orderGoods : orderGoodsList) {
+                BigDecimal goodsPrice = orderGoods.getGoodsRealPrice();
+                //商品业务层 新系统默认是学校业务
+                String businessName = iOrderGoodsService.getBusinessById(orderGoods.getOrderGoodsId());
+                List<TopCostTpItem> items = topCostTpItemService.getCostByBusiness(businessName, costTp.getTpId());
+                if (CollectionUtils.isEmpty(items)) {
+                    //匹配不到成本项
+                    continue;
+                }
+                //根据订单金额匹配成本阶梯
+                List<TopCostTpItem> tpItems = items.stream().filter(x ->
+                        (ObjectUtils.isNull(x.getMinValue()) && ObjectUtils.isNull(x.getMaxValue()))
+                                || (goodsPrice.compareTo(x.getMinValue()) > 0 && goodsPrice.compareTo(x.getMaxValue()) < 0)
+                                || (goodsPrice.compareTo(x.getMinValue()) == 0 && goodsPrice.compareTo(x.getMaxValue()) == 0)).collect(Collectors.toList());
+                if (CollectionUtils.isEmpty(tpItems)) {
+                    //匹配不到成本项阶梯值
+                    continue;
+                }
+                if (tpItems.size() > 1) {
+                    //匹配到多个成本项
+                    throw new CustomException(String.format("成本项阶梯匹配有误!(有多个)请检查【%s,价格:%s】", businessName, goodsPrice.toString()));
+                }
+                //换算订单成本和盈亏
+                TopCostTpItem topCostTpItem = tpItems.stream().findFirst().get();
+                BigDecimal cost = new BigDecimal("0.00");//成本
+                BigDecimal profit = new BigDecimal("0.00"); //盈亏
+                BigDecimal bigDecimal = new BigDecimal("100");
+                switch (topCostTpItem.getItemType()) {
+                    case 1://百分比
+                        BigDecimal divide = topCostTpItem.getTypeValue().divide(bigDecimal);
+                        cost = goodsPrice.multiply(divide);
+                        profit = goodsPrice.subtract(cost);
+                        break;
+                    case 2://固定金额
+                        cost = topCostTpItem.getTypeValue();
+                        profit = goodsPrice.subtract(cost);
+                        break;
+                    default:
+                        break;
+                }
+                costTotal = costTotal.add(cost);
+                profitTotal = profitTotal.add(profit);
+                itemVoList.add(BeanUtil.toBean(topCostTpItem, TopCostTpItemVo.class));
+                topCostTpVo.setItemList(itemVoList);
+            }
+
+            add.setOrderCost(costTotal);
+            add.setOrderProfit(profitTotal);
+            add.setCostJson(JSONObject.toJSONString(topCostTpVo));
+        }
+
+    }
+
     @Override
     public Map<String, String> placeGzhOrder(OrderAddBo bo) {
         String key = "ORDER-" + "-" + bo.getUserId();
@@ -1101,6 +1208,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
             payAddBo.setPayPrice(payPrice);
             iOrderPayService.insertByAddBo(payAddBo);
         }
+        //C端订单成本处理
+        orderCostHandle(add);
         this.save(add);
         //处理免费商品
         for (OrderGoods orderGoods : freeList) {
@@ -1254,6 +1363,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
             payAddBo.setPayPrice(payPrice);
             iOrderPayService.insertByAddBo(payAddBo);
         }
+        //C端订单成本处理
+        orderCostHandle(add);
         this.save(add);
 
         //处理免费商品

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/mapper/TopCostTpItemMapper.java

@@ -2,6 +2,9 @@ package com.zhongzheng.modules.top.financial.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.top.financial.domain.TopCostTpItem;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * 成本模板子项Mapper接口
@@ -11,4 +14,5 @@ import com.zhongzheng.modules.top.financial.domain.TopCostTpItem;
  */
 public interface TopCostTpItemMapper extends BaseMapper<TopCostTpItem> {
 
+    List<TopCostTpItem> getCostByBusiness(@Param("businessFullName") String businessFullName,@Param("costId")Long costId);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/service/ITopCostTpItemService.java

@@ -49,4 +49,6 @@ public interface ITopCostTpItemService extends IService<TopCostTpItem> {
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    List<TopCostTpItem> getCostByBusiness(String businessFullName,Long costId);
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/service/impl/TopCostTpItemServiceImpl.java

@@ -109,4 +109,9 @@ public class TopCostTpItemServiceImpl extends ServiceImpl<TopCostTpItemMapper, T
         }
         return this.removeByIds(ids);
     }
+
+    @Override
+    public List<TopCostTpItem> getCostByBusiness(String businessFullName,Long costId) {
+        return baseMapper.getCostByBusiness(businessFullName,costId);
+    }
 }

+ 11 - 5
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopOldOrderAddBo.java

@@ -66,6 +66,9 @@ public class TopOldOrderAddBo {
     /** 订单类型   1线上,2线下 */
     @ApiModelProperty("订单类型   1线上,2线下")
     private Integer orderType;
+    /** 底单:1新系统,2旧系统  */
+    @ApiModelProperty("底单:1新系统,2旧系统")
+    private Integer orderBase;
     /** 支付价格(成交价) */
     @ApiModelProperty("支付价格(成交价)")
     private BigDecimal payPrice;
@@ -135,15 +138,15 @@ public class TopOldOrderAddBo {
     /** 订单来源系统名称 */
     @ApiModelProperty("订单来源系统名称")
     private String orderOrg;
-    /** 业务员机构 */
-    @ApiModelProperty("业务员机构")
-    private Integer createOrg;
+    /** 课程机构ID */
+    @ApiModelProperty("课程机构ID")
+    private Long courseOrg;
     /** 预收款时间 */
     @ApiModelProperty("预收款时间")
-    private Integer predictReceiveTime;
+    private Long predictReceiveTime;
     /** 预付款时间 */
     @ApiModelProperty("预付款时间")
-    private Integer predictPayTime;
+    private Long predictPayTime;
 
     @ApiModelProperty("订单商品")
     private List<TopOldOrderGoodsAddBo> orderGoodsList;
@@ -154,6 +157,9 @@ public class TopOldOrderAddBo {
     @Excel(name = "下单时间")
     @ApiModelProperty("下单时间")
     private Long buyTime;
+
+    @ApiModelProperty("机构ID")
+    private Long TenantId;
     /** 分成模式 1机构分成 2业务员分成 */
     @ApiModelProperty("分成模式 1机构分成 2业务员分成")
     private Integer divideModel;

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopOldOrderCheckBo.java

@@ -34,4 +34,6 @@ public class TopOldOrderCheckBo {
 
     private Long loginId;
 
+    private String loginName;
+
 }

+ 8 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopOldOrderEditBo.java

@@ -78,6 +78,10 @@ public class TopOldOrderEditBo {
     @ApiModelProperty("订单来源 1新系统C端订单,2旧系统C端订单,3旧系统B端订单 ")
     private Integer orderFrom;
 
+    /** 底单:1新系统,2旧系统  */
+    @ApiModelProperty("底单:1新系统,2旧系统")
+    private Integer orderBase;
+
     /** 业务员名称 */
     @ApiModelProperty("业务员名称")
     private String createUsername;
@@ -161,9 +165,10 @@ public class TopOldOrderEditBo {
     /** 订单来源系统名称 */
     @ApiModelProperty("订单来源系统名称")
     private String orderOrg;
-    /** 业务员机构 */
-    @ApiModelProperty("业务员机构")
-    private Integer createOrg;
+
+    /** 课程机构ID */
+    @ApiModelProperty("课程机构ID")
+    private Long courseOrg;
 
     /** 预收款时间 */
     @ApiModelProperty("预收款时间")

+ 17 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopOldOrderStudyBo.java

@@ -0,0 +1,17 @@
+package com.zhongzheng.modules.top.goods.bo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author yangdamao
+ * @date 2023年04月27日 18:57
+ */
+@Data
+public class TopOldOrderStudyBo implements Serializable {
+
+    private String orderSn;
+
+    private Integer type;
+}

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopRefundOrderCheckBo.java

@@ -25,6 +25,8 @@ public class TopRefundOrderCheckBo {
 
     private Long loginId;
 
+    private String loginName;
+
     @ApiModelProperty("审核意见")
     private String checkReason;
 

+ 29 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopUpdateCostBo.java

@@ -0,0 +1,29 @@
+package com.zhongzheng.modules.top.goods.bo;
+
+import com.zhongzheng.modules.top.financial.vo.TopCostTpVo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 订单编辑对象 top_order
+ *
+ * @author ruoyi
+ * @date 2023-04-20
+ */
+@Data
+@ApiModel("订单成本对象")
+public class TopUpdateCostBo {
+
+    @ApiModelProperty("$column.columnComment")
+    private List<Long> orderIdList;
+
+    @ApiModelProperty("订单编号")
+    private List<String> orderSnList;
+
+    @ApiModelProperty("成本设置")
+    private TopCostTpVo costTpVo;
+
+}

+ 4 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/domain/TopOldOrder.java

@@ -60,6 +60,8 @@ private static final long serialVersionUID=1L;
     private BigDecimal payPrice;
     /** 订单来源 1新系统C端订单,2旧系统C端订单,3旧系统B端订单  */
     private Integer orderFrom;
+    /** 底单:1新系统,2旧系统  */
+    private Integer orderBase;
     /** 业务员名称 */
     private String createUsername;
     /** 1有效 0无效 */
@@ -104,8 +106,8 @@ private static final long serialVersionUID=1L;
     private String costJson;
     /** 订单来源系统名称 */
     private String orderOrg;
-    /** 业务员机构 */
-    private Integer createOrg;
+    /** 课程机构ID */
+    private Integer courseOrg;
     /** 预收款时间 */
     private Integer predictReceiveTime;
     /** 预付款时间 */

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

@@ -2,6 +2,7 @@ package com.zhongzheng.modules.top.goods.service;
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhongzheng.modules.top.financial.vo.TopCostTpVo;
 import com.zhongzheng.modules.top.goods.bo.*;
 import com.zhongzheng.modules.top.goods.domain.TopOldOrder;
 import com.zhongzheng.modules.top.goods.vo.TopOldOrderGoodsListVo;
@@ -81,4 +82,7 @@ public interface ITopOldOrderService extends IService<TopOldOrder> {
 
 	TopOrderStatisticsVo statisticsOrder();
 
+	TopCostTpVo getOrderCost(String orderSn);
+
+	boolean updateOrderCost(TopUpdateCostBo bo);
 }

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 534 - 149
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopOldOrderServiceImpl.java


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

@@ -64,4 +64,7 @@ public class TopOldOrderGoodsListVo {
 	private String userPhone;
 	@ApiModelProperty("学员数量")
 	private Integer userCount;
+
+	private Long signId;
+
 }

+ 25 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopOldOrderStudyVo.java

@@ -0,0 +1,25 @@
+package com.zhongzheng.modules.top.goods.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author yangdamao
+ * @date 2023年04月27日 18:57
+ */
+@Data
+public class TopOldOrderStudyVo implements Serializable {
+
+    private Long underOrdeEnrollItemId;
+
+    private String name;
+
+    private String idNum;
+
+    private String mobile;
+
+    private Integer totalHours;
+
+    private Integer studyHours;
+}

+ 13 - 5
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopOldOrderVo.java

@@ -29,11 +29,10 @@ public class TopOldOrderVo {
 	@ApiModelProperty("订单编号")
 	private String orderSn;
 	/** 用户ID */
-	@Excel(name = "用户ID")
 	@ApiModelProperty("用户ID")
 	private Long userId;
 	/** 订单标准价格 */
-	@Excel(name = "订单标准价格")
+	@Excel(name = "合同价格")
 	@ApiModelProperty("订单标准价格")
 	private BigDecimal orderPrice;
 	/** 支付订单号 */
@@ -76,6 +75,9 @@ public class TopOldOrderVo {
 	@Excel(name = "订单来源 1新系统C端订单,2旧系统C端订单,3旧系统B端订单 ")
 	@ApiModelProperty("订单来源 1新系统C端订单,2旧系统C端订单,3旧系统B端订单 ")
 	private Integer orderFrom;
+	/** 底单:1新系统,2旧系统  */
+	@ApiModelProperty("底单:1新系统,2旧系统")
+	private Integer orderBase;
 	/** 业务员名称 */
 	@Excel(name = "业务员名称")
 	@ApiModelProperty("业务员名称")
@@ -146,6 +148,9 @@ public class TopOldOrderVo {
 	@Excel(name = "已收账款" , readConverterExp = "元=")
 	@ApiModelProperty("已收账款(元)")
 	private BigDecimal orderReceived;
+	@Excel(name = "实际账款" , readConverterExp = "元=")
+	@ApiModelProperty("实际账款(元)")
+	private BigDecimal orderPractical;
 	/** 备注 */
 	@Excel(name = "备注")
 	@ApiModelProperty("备注")
@@ -161,9 +166,9 @@ public class TopOldOrderVo {
 	/** 订单来源系统名称 */
 	@ApiModelProperty("订单来源系统名称")
 	private String orderOrg;
-	/** 业务员机构 */
-	@ApiModelProperty("业务员机构")
-	private Integer createOrg;
+	/** 课程机构ID */
+	@ApiModelProperty("课程机构ID")
+	private Long courseOrg;
 	/** 预收款时间 */
 	@ApiModelProperty("预收款时间")
 	private Long predictReceiveTime;
@@ -221,4 +226,7 @@ public class TopOldOrderVo {
 	@Excel(name = "分成审核状态 1正常 2待审核 3审核中  4审核不通过 5审核通过待支付 6已支付")
 	@ApiModelProperty("分成审核状态 1正常 2待审核 3审核中  4审核不通过 5审核通过待支付 6已支付")
 	private Integer divideStatus;
+
+	@ApiModelProperty("退款审核角色名称")
+	private String refundName;
 }

+ 9 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopRefundOrderDetailVo.java

@@ -35,4 +35,13 @@ public class TopRefundOrderDetailVo {
     @ApiModelProperty("审核进度")
     private List<TopOldOrderCheckLogVo> checkLogVos;
 
+    @ApiModelProperty("申请人")
+    private String applyName;
+
+    @ApiModelProperty("申请时间")
+    private Long applyTime;
+
+    @ApiModelProperty("流程类型:1审核,2支付")
+    private Integer checkType;
+
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/wx/service/impl/WxPayServiceImpl.java

@@ -457,6 +457,11 @@ public class WxPayServiceImpl implements IWxPayService {
             order.setTransid(transaction_id);
             order.setOrderGeneral(out_trade_no);
             order.setStatus(1);
+            //C端订单处理
+            BigDecimal payPrice = order.getPayPrice();
+            order.setOrderUncollected(order.getOrderUncollected().subtract(payPrice));//未收
+            order.setOrderReceived(payPrice);//实收
+            order.setCreditStatus(1);
             if (iOrderService.updateById(order)) {
                 Map<String, Object> map = new HashMap<>();
                 map.put("order_sn", out_trade_no);

+ 13 - 0
zhongzheng-system/src/main/resources/mapper/modules/order/OrderGoodsMapper.xml

@@ -834,4 +834,17 @@
             AND u.realname LIKE CONCAT( '%', #{userName}, '%' )
         </if>
     </select>
+    <select id="getBusinessById" parameterType="java.lang.Long" resultType="java.lang.String">
+        SELECT
+            CONCAT( '学校业务', cet.education_name, cb.business_name, cpt.project_name ) AS businessName
+        FROM
+            order_goods og
+                LEFT JOIN goods g ON og.goods_id = g.goods_id
+                LEFT JOIN course_education_type cet ON g.education_type_id = cet.id
+                LEFT JOIN course_project_type cpt ON g.project_id = cpt.id
+                LEFT JOIN course_business cb ON g.business_id = cb.id
+        WHERE
+            og.`status` = 1
+          AND og.order_goods_id = #{orderGoodsId}
+    </select>
 </mapper>

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

@@ -21,5 +21,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="minValue" column="min_value"/>
     </resultMap>
 
+    <select id="getCostByBusiness" parameterType="map" resultType="com.zhongzheng.modules.top.financial.domain.TopCostTpItem">
+        SELECT
+            fct.*
+        FROM
+            top_cost_tp_item fct
+                LEFT JOIN top_course_education_type cet ON fct.education_type_id = cet.id
+                LEFT JOIN top_course_project_type cpt ON fct.project_id = cpt.id
+                LEFT JOIN top_course_business cb ON fct.business_id = cb.id
+        WHERE
+            fct.`status` = 1
+          AND fct.tp_id = #{costId}
+          AND CONCAT( cet.scheme_name, cet.education_name, cb.business_name, cpt.project_name ) = #{businessFullName}
+    </select>
 
 </mapper>

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

@@ -38,6 +38,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="businessName" column="business_name"/>
         <result property="goodsPrice" column="goods_price"/>
         <result property="goodsRealPrice" column="goods_real_price"/>
+        <result property="signId" column="sign_id"/>
     </resultMap>
 
     <select id="getListByQuery" parameterType="com.zhongzheng.modules.top.goods.bo.TopOldOrderGoodsQuery" resultMap="getlist">
@@ -50,9 +51,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             major_name,
             business_name,
             goods_price,
-            goods_real_price
+            goods_real_price,
+            sign_id
         FROM
-            top_order_goods
+            top_old_order_goods
         WHERE
             order_sn = ''
           AND `status` = 1

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

@@ -82,8 +82,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 #{item}
             </foreach>
         </if>
-        <if test="creditStatus != null and creditStatus != ''">
-            AND vto.check_staus = #{checkStaus}
+        <if test="creditStatus != null and creditStatus != '' and creditStatus == 0">
+            AND vto.order_received <![CDATA[ < ]]> vto.pay_price
+        </if>
+        <if test="creditStatus != null and creditStatus != '' and creditStatus == 1">
+            AND vto.pay_price = vto.order_received
         </if>
         <if test="invoiceStatus != null and invoiceStatus != ''">
             AND vto.invoice_status = #{invoiceStatus}
@@ -94,15 +97,82 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="endTime != null and endTime != ''">
             AND vto.create_time <![CDATA[ <= ]]> #{endTime}
         </if>
+        <if test="orderSn != null and orderSn != ''">
+            AND vto.order_sn = #{orderSn}
+        </if>
         <if test="keyword != null and keyword != ''">
             AND (
             vto.create_org LIKE CONCAT( '%', #{keyword}, '%' )
-            OR vto.order_sn LIKE CONCAT( '%', #{keyword}, '%' )
-            OR vto.create_no LIKE CONCAT( '%', #{keyword}, '%' )
+--             OR vto.course_org LIKE CONCAT( '%', #{keyword}, '%' )
             OR vto.order_org LIKE CONCAT( '%', #{keyword}, '%' ))
         </if>
     </select>
 
+
+<!--    <select id="queryList_COUNT" resultType="Long">-->
+<!--        SELECT-->
+<!--        count(distinct vto.order_id )-->
+<!--        FROM-->
+<!--        ( SELECT DISTINCT order_sn-->
+<!--        <if test="businessFullName != null and businessFullName != '' and (userCard == null or userCard == '')">-->
+<!--            FROM `v_top_order_business`  where business_full_name = #{businessFullName}-->
+<!--        </if>-->
+<!--        <if test="userCard != null and userCard != '' and (businessFullName == null and businessFullName == '')">-->
+<!--            FROM `v_top_order_card`  where user_card = #{userCard,typeHandler=com.zhongzheng.common.type.EncryptHandler}-->
+<!--        </if>-->
+<!--        <if test="userCard != null and userCard != '' and businessFullName != null and businessFullName != ''">-->
+<!--            FROM (-->
+<!--            SELECT-->
+<!--            DISTINCT order_sn-->
+<!--            FROM-->
+<!--            ( SELECT order_sn FROM v_top_order_business WHERE business_full_name = #{businessFullName} UNION ALL SELECT order_sn FROM v_top_order_card-->
+<!--            WHERE user_card = #{userCard,typeHandler=com.zhongzheng.common.type.EncryptHandler}) b-->
+<!--            ) m-->
+<!--        </if>-->
+<!--        <if test="(userCard == null or userCard == '') and (businessFullName == null or businessFullName == '')">-->
+<!--            FROM (-->
+<!--            SELECT-->
+<!--            DISTINCT order_sn-->
+<!--            FROM-->
+<!--            ( SELECT order_sn FROM v_top_order_business UNION ALL SELECT order_sn FROM v_top_order_card) b-->
+<!--            ) m-->
+<!--        </if>-->
+<!--        ) a-->
+<!--        LEFT JOIN v_top_order vto ON a.order_sn = vto.order_sn-->
+<!--        WHERE vto.`status` = 1-->
+<!--        <if test="checkStatus != null and checkStatus != ''">-->
+<!--            AND vto.check_status = #{checkStatus}-->
+<!--        </if>-->
+<!--        <if test="refundStatusList != null and refundStatusList.size()!=0 ">-->
+<!--            AND vto.refund_status in-->
+<!--            <foreach collection="refundStatusList" item="item" index="index" open="(" close=")" separator=",">-->
+<!--                #{item}-->
+<!--            </foreach>-->
+<!--        </if>-->
+<!--        <if test="creditStatus != null and creditStatus != '' and creditStatus == 0">-->
+<!--            AND vto.order_received <![CDATA[ < ]]> vto.pay_price-->
+<!--        </if>-->
+<!--        <if test="creditStatus != null and creditStatus != '' and creditStatus == 1">-->
+<!--            AND vto.pay_price = vto.order_received-->
+<!--        </if>-->
+<!--        <if test="invoiceStatus != null and invoiceStatus != ''">-->
+<!--            AND vto.invoice_status = #{invoiceStatus}-->
+<!--        </if>-->
+<!--        <if test="startTime != null and startTime != ''">-->
+<!--            AND vto.create_time <![CDATA[ >= ]]> #{startTime}-->
+<!--        </if>-->
+<!--        <if test="endTime != null and endTime != ''">-->
+<!--            AND vto.create_time <![CDATA[ <= ]]> #{endTime}-->
+<!--        </if>-->
+<!--        <if test="keyword != null and keyword != ''">-->
+<!--            AND (-->
+<!--            vto.create_org LIKE CONCAT( '%', #{keyword}, '%' )-->
+<!--            OR vto.order_sn LIKE CONCAT( '%', #{keyword}, '%' )-->
+<!--            OR vto.create_no LIKE CONCAT( '%', #{keyword}, '%' )-->
+<!--            OR vto.order_org LIKE CONCAT( '%', #{keyword}, '%' ))-->
+<!--        </if>-->
+<!--    </select>-->
+
     <select id="queryById" parameterType="java.lang.String" resultType="com.zhongzheng.modules.top.goods.vo.TopOldOrderVo">
         SELECT * FROM v_top_order WHERE order_sn = #{orderSn}
     </select>
@@ -112,7 +182,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </select>
 
     <select id="queryByOrderSns" parameterType="java.lang.String" resultType="com.zhongzheng.modules.top.goods.vo.TopOldOrderVo">
-        SELECT business_name FROM v_top_order_business WHERE 1 =1
+        SELECT * FROM v_top_order WHERE 1 =1
         <if test="orderSnList != null and orderSnList.size()!=0 ">
             AND order_sn in
             <foreach collection="orderSnList" item="item" index="index" open="(" close=")" separator=",">
@@ -237,7 +307,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </select>
 
     <select id="getOrderBySn" parameterType="java.lang.String" resultType="com.zhongzheng.modules.top.goods.domain.TopOldOrder">
-        SELECT * FROM top_old_order WHERE order_sn = #{orderSn}
+        SELECT * FROM v_top_order WHERE order_sn = #{orderSn}
     </select>
 
 

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно