yangdamao 2 жил өмнө
parent
commit
7091977a99
28 өөрчлөгдсөн 791 нэмэгдсэн , 112 устгасан
  1. 3 0
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/order/TopOldOrderController.java
  2. 19 3
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/system/SysTenantController.java
  3. 3 0
      zhongzheng-admin-saas/src/main/resources/application-dev.yml
  4. 23 0
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/common/CommonController.java
  5. 2 0
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/order/OrderGoodsRefundController.java
  6. 3 0
      zhongzheng-admin/src/main/resources/application-dev.yml
  7. 3 0
      zhongzheng-api/src/main/resources/application-dev.yml
  8. 4 0
      zhongzheng-common/src/main/java/com/zhongzheng/common/utils/ServletUtils.java
  9. 2 0
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/config/SecurityConfig.java
  10. 37 1
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/SysTenantServiceImpl.java
  11. 69 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/TopOldOrderRefundBo.java
  12. 6 5
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderGoodsRefundService.java
  13. 65 12
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsRefundServiceImpl.java
  14. 29 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/system/bo/SysTopTenantAccountBo.java
  15. 46 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/system/bo/SysTopTenantAddBo.java
  16. 41 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/system/bo/SysTopTenantEditBo.java
  17. 27 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/system/bo/SysTopTenantInvoiceBo.java
  18. 6 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/system/domain/SysTenant.java
  19. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/system/service/ISysTenantService.java
  20. 18 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/system/vo/SysTenantVo.java
  21. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopCourseBusinessAddBo.java
  22. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopCourseBusinessEditBo.java
  23. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopOldOrderAddBo.java
  24. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/domain/TopCourseBusiness.java
  25. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/domain/TopOldOrder.java
  26. 364 76
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopOldOrderServiceImpl.java
  27. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopCourseBusinessVo.java
  28. 1 14
      zhongzheng-system/src/main/resources/mapper/modules/top/TopCostTpItemMapper.xml

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

@@ -25,6 +25,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
+import javax.servlet.ServletRequest;
+import javax.servlet.http.HttpServletRequest;
+import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 

+ 19 - 3
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/system/SysTenantController.java

@@ -3,9 +3,7 @@ package com.zhongzheng.controller.system;
 import java.util.List;
 import java.util.List;
 import java.util.Arrays;
 import java.util.Arrays;
 
 
-import com.zhongzheng.modules.system.bo.SysTenantAddBo;
-import com.zhongzheng.modules.system.bo.SysTenantEditBo;
-import com.zhongzheng.modules.system.bo.SysTenantQueryBo;
+import com.zhongzheng.modules.system.bo.*;
 import com.zhongzheng.modules.system.service.ISysTenantService;
 import com.zhongzheng.modules.system.service.ISysTenantService;
 import com.zhongzheng.modules.system.vo.SysTenantBankAccountVo;
 import com.zhongzheng.modules.system.vo.SysTenantBankAccountVo;
 import com.zhongzheng.modules.system.vo.SysTenantVo;
 import com.zhongzheng.modules.system.vo.SysTenantVo;
@@ -99,6 +97,15 @@ public class SysTenantController extends BaseController {
         return toAjax(iSysTenantService.insertByAddBo(bo) ? 1 : 0);
         return toAjax(iSysTenantService.insertByAddBo(bo) ? 1 : 0);
     }
     }
 
 
+    /**
+     * 总平台新增系统商户
+     */
+    @ApiOperation("总平台新增系统商户")
+    @PostMapping("/add")
+    public AjaxResult<Void> addTopTenant(@Validated @RequestBody SysTopTenantAddBo bo) {
+        return toAjax(iSysTenantService.addTopTenant(bo) ? 1 : 0);
+    }
+
     /**
     /**
      * 修改系统商户
      * 修改系统商户
      */
      */
@@ -110,6 +117,15 @@ public class SysTenantController extends BaseController {
         return toAjax(iSysTenantService.updateByEditBo(bo) ? 1 : 0);
         return toAjax(iSysTenantService.updateByEditBo(bo) ? 1 : 0);
     }
     }
 
 
+    /**
+     * 总平台修改系统商户
+     */
+    @ApiOperation("总平台修改系统商户")
+    @PostMapping("/edit/top")
+    public AjaxResult<Void> editTopTenant(@RequestBody SysTopTenantEditBo bo) {
+        return toAjax(iSysTenantService.editTopTenant(bo) ? 1 : 0);
+    }
+
     /**
     /**
      * 删除系统商户
      * 删除系统商户
      */
      */

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

@@ -160,6 +160,9 @@ oldOrder:
     refuseCheck: http://gdxypx.xy.com/WitSystem/BussinessApi/ReFundAuditResult
     refuseCheck: http://gdxypx.xy.com/WitSystem/BussinessApi/ReFundAuditResult
     inputOrderSn: http://gdxypx.xy.com/WitSystem/BussinessApi/GetNewYxtinputOrderSn
     inputOrderSn: http://gdxypx.xy.com/WitSystem/BussinessApi/GetNewYxtinputOrderSn
     checkOrderStudent: http://gdxypx.xy.com/WitSystem/BussinessApi/ReAuditUnderOrder
     checkOrderStudent: http://gdxypx.xy.com/WitSystem/BussinessApi/ReAuditUnderOrder
+    checkOrderBrokerage: http://gdxypx.xy.com/WitSystem/BussinessApi/CommissionRate
+    refundPay: http://192.168.1.222:5030/common/platform/pay
+    refundPayHandle: http://192.168.1.222:5030/common/platform/pay/handle
 
 
 oldSys:
 oldSys:
     host: http://gdxypx.xy.com
     host: http://gdxypx.xy.com

+ 23 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/common/CommonController.java

@@ -42,10 +42,13 @@ import com.zhongzheng.modules.grade.bo.*;
 import com.zhongzheng.modules.grade.service.IClassGradeService;
 import com.zhongzheng.modules.grade.service.IClassGradeService;
 import com.zhongzheng.modules.grade.service.IUserPeriodService;
 import com.zhongzheng.modules.grade.service.IUserPeriodService;
 import com.zhongzheng.modules.grade.vo.SyncGoodsExport;
 import com.zhongzheng.modules.grade.vo.SyncGoodsExport;
+import com.zhongzheng.modules.order.bo.TopOldOrderRefundBo;
 import com.zhongzheng.modules.order.domain.Order;
 import com.zhongzheng.modules.order.domain.Order;
 import com.zhongzheng.modules.order.domain.OrderGoods;
 import com.zhongzheng.modules.order.domain.OrderGoods;
+import com.zhongzheng.modules.order.service.IOrderGoodsRefundService;
 import com.zhongzheng.modules.order.service.IOrderGoodsService;
 import com.zhongzheng.modules.order.service.IOrderGoodsService;
 import com.zhongzheng.modules.order.service.IOrderService;
 import com.zhongzheng.modules.order.service.IOrderService;
+import com.zhongzheng.modules.order.vo.OrderGoodsVo;
 import com.zhongzheng.modules.system.bo.SysTenantAdminBo;
 import com.zhongzheng.modules.system.bo.SysTenantAdminBo;
 import com.zhongzheng.modules.system.bo.SysTenantAdminOldBo;
 import com.zhongzheng.modules.system.bo.SysTenantAdminOldBo;
 import com.zhongzheng.modules.system.bo.SysTenantQueryBo;
 import com.zhongzheng.modules.system.bo.SysTenantQueryBo;
@@ -124,6 +127,8 @@ public class CommonController extends BaseController {
     private IDistributionSellerService iDistributionSellerService;
     private IDistributionSellerService iDistributionSellerService;
     @Autowired
     @Autowired
     private IDistributionActivityGoodsService iDistributionActivityGoodsService;
     private IDistributionActivityGoodsService iDistributionActivityGoodsService;
+    @Autowired
+    private IOrderGoodsRefundService iOrderGoodsRefundService;
 
 
     /**
     /**
      * 通用下载请求
      * 通用下载请求
@@ -368,6 +373,24 @@ public class CommonController extends BaseController {
         return AjaxResult.success();
         return AjaxResult.success();
     }
     }
 
 
+    /**
+     * 总平台退款支付
+     */
+    @ApiOperation("总平台退款支付")
+    @PostMapping("/common/platform/pay")
+    public AjaxResult<Void> platformRefundPay(@RequestBody List<TopOldOrderRefundBo> bo) {
+        return toAjax(iOrderGoodsRefundService.platformRefundPay(bo) ? 1 : 0);
+    }
+
+    /**
+     * 总平台退款支付订单处理
+     */
+    @ApiOperation("总平台退款支付")
+    @PostMapping("/common/platform/pay/handle")
+    public AjaxResult<Void> platformRefundPayHandle(@RequestBody List<OrderGoodsVo> orderGoodsVos) {
+        return toAjax(iOrderGoodsRefundService.handleRefundOrder(orderGoodsVos) ? 1 : 0);
+    }
+
     @ApiOperation("获取企业列表")
     @ApiOperation("获取企业列表")
     @GetMapping("common/tenant/list")
     @GetMapping("common/tenant/list")
     public AjaxResult<List<SysTenantVo>> getTenantList() {
     public AjaxResult<List<SysTenantVo>> getTenantList() {

+ 2 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/order/OrderGoodsRefundController.java

@@ -7,8 +7,10 @@ import com.zhongzheng.modules.grade.bo.UserPeriodEditBo;
 import com.zhongzheng.modules.order.bo.OrderGoodsRefundAddBo;
 import com.zhongzheng.modules.order.bo.OrderGoodsRefundAddBo;
 import com.zhongzheng.modules.order.bo.OrderGoodsRefundEditBo;
 import com.zhongzheng.modules.order.bo.OrderGoodsRefundEditBo;
 import com.zhongzheng.modules.order.bo.OrderGoodsRefundQueryBo;
 import com.zhongzheng.modules.order.bo.OrderGoodsRefundQueryBo;
+import com.zhongzheng.modules.order.bo.TopOldOrderRefundBo;
 import com.zhongzheng.modules.order.service.IOrderGoodsRefundService;
 import com.zhongzheng.modules.order.service.IOrderGoodsRefundService;
 import com.zhongzheng.modules.order.vo.OrderGoodsRefundVo;
 import com.zhongzheng.modules.order.vo.OrderGoodsRefundVo;
+import com.zhongzheng.modules.top.goods.domain.TopOldOrderRefund;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;

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

@@ -161,6 +161,9 @@ oldOrder:
     refuseCheck: http://gdxypx.xy.com/WitSystem/BussinessApi/ReFundAuditResult
     refuseCheck: http://gdxypx.xy.com/WitSystem/BussinessApi/ReFundAuditResult
     inputOrderSn: http://gdxypx.xy.com/WitSystem/BussinessApi/GetNewYxtinputOrderSn
     inputOrderSn: http://gdxypx.xy.com/WitSystem/BussinessApi/GetNewYxtinputOrderSn
     checkOrderStudent: http://gdxypx.xy.com/WitSystem/BussinessApi/ReAuditUnderOrder
     checkOrderStudent: http://gdxypx.xy.com/WitSystem/BussinessApi/ReAuditUnderOrder
+    checkOrderBrokerage: http://gdxypx.xy.com/WitSystem/BussinessApi/CommissionRate
+    refundPay: http://192.168.1.222:5030/common/platform/pay
+    refundPayHandle: http://192.168.1.222:5030/common/platform/pay/handle
 
 
 oldSys:
 oldSys:
     host: http://gdxypx.xy.com
     host: http://gdxypx.xy.com

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

@@ -163,6 +163,9 @@ oldOrder:
     refuseCheck: http://gdxypx.xy.com/WitSystem/BussinessApi/ReFundAuditResult
     refuseCheck: http://gdxypx.xy.com/WitSystem/BussinessApi/ReFundAuditResult
     inputOrderSn: http://gdxypx.xy.com/WitSystem/BussinessApi/GetNewYxtinputOrderSn
     inputOrderSn: http://gdxypx.xy.com/WitSystem/BussinessApi/GetNewYxtinputOrderSn
     checkOrderStudent: http://gdxypx.xy.com/WitSystem/BussinessApi/ReAuditUnderOrder
     checkOrderStudent: http://gdxypx.xy.com/WitSystem/BussinessApi/ReAuditUnderOrder
+    checkOrderBrokerage: http://gdxypx.xy.com/WitSystem/BussinessApi/CommissionRate
+    refundPay: http://192.168.1.222:5030/common/platform/pay
+    refundPayHandle: http://192.168.1.222:5030/common/platform/pay/handle
 
 
 oldSys:
 oldSys:
     host: http://gdxypx.xy.com
     host: http://gdxypx.xy.com

+ 4 - 0
zhongzheng-common/src/main/java/com/zhongzheng/common/utils/ServletUtils.java

@@ -2,6 +2,7 @@ package com.zhongzheng.common.utils;
 
 
 import cn.hutool.core.convert.Convert;
 import cn.hutool.core.convert.Convert;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.StrUtil;
+import org.apache.tomcat.util.http.MimeHeaders;
 import org.springframework.web.context.request.RequestAttributes;
 import org.springframework.web.context.request.RequestAttributes;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 import org.springframework.web.context.request.ServletRequestAttributes;
@@ -10,6 +11,8 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import javax.servlet.http.HttpSession;
 import java.io.IOException;
 import java.io.IOException;
+import java.lang.reflect.Field;
+import java.util.Map;
 
 
 /**
 /**
  * 客户端工具类
  * 客户端工具类
@@ -78,6 +81,7 @@ public class ServletUtils
 
 
     }
     }
 
 
+
     /**
     /**
      * 获取response
      * 获取response
      */
      */

+ 2 - 0
zhongzheng-framework/src/main/java/com/zhongzheng/framework/config/SecurityConfig.java

@@ -139,6 +139,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
                 .antMatchers("/common/merge/file").anonymous()
                 .antMatchers("/common/merge/file").anonymous()
                 .antMatchers("/common/get/goods").anonymous()
                 .antMatchers("/common/get/goods").anonymous()
                 .antMatchers("/common/get/goods/studyUrl").anonymous()
                 .antMatchers("/common/get/goods/studyUrl").anonymous()
+                .antMatchers("/common/platform/pay").anonymous()
+                .antMatchers("/common/platform/pay/handle").anonymous()
                 .antMatchers("/common/alike/goods").anonymous()
                 .antMatchers("/common/alike/goods").anonymous()
                 .antMatchers("/common/create/tenant/admin").anonymous()
                 .antMatchers("/common/create/tenant/admin").anonymous()
                 .antMatchers("/common/create/tenant/admin/old").anonymous()
                 .antMatchers("/common/create/tenant/admin/old").anonymous()

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

@@ -100,7 +100,10 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
                         List<SysTenantAccountVo> accountVo = JSONArray.parseArray(accountInformation, SysTenantAccountVo.class);
                         List<SysTenantAccountVo> accountVo = JSONArray.parseArray(accountInformation, SysTenantAccountVo.class);
                         sysTenantVo.setAccountList(accountVo);
                         sysTenantVo.setAccountList(accountVo);
                     }
                     }
-
+                    if (StringUtils.isNotBlank(any.getInvoiceInformation())){
+                        SysTopTenantInvoiceBo invoiceBo = JSONObject.parseObject(any.getInvoiceInformation(), SysTopTenantInvoiceBo.class);
+                        sysTenantVo.setInvoiceBo(invoiceBo);
+                    }
                     return sysTenantVo;
                     return sysTenantVo;
                 })
                 })
                 .collect(Collectors.toList());
                 .collect(Collectors.toList());
@@ -419,6 +422,39 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
         return JSONArray.parseArray(accountInformation,SysTenantBankAccountVo.class);
         return JSONArray.parseArray(accountInformation,SysTenantBankAccountVo.class);
     }
     }
 
 
+    @Override
+    public boolean addTopTenant(SysTopTenantAddBo bo) {
+        SysTenant add = BeanUtil.toBean(bo, SysTenant.class);
+        validEntityBeforeSave(add);
+        add.setTenantId(createTenantId());
+        add.setCreateTime(DateUtils.getNowTime());
+        add.setUpdateTime(DateUtils.getNowTime());
+        if (ObjectUtils.isNotNull(bo.getAccountList())){
+            add.setAccountInformation(JSONArray.toJSONString(bo.getAccountList()));
+        }
+        if (ObjectUtils.isNotNull(bo.getInvoiceBo())){
+            add.setInvoiceInformation(JSONObject.toJSONString(bo.getInvoiceBo()));
+        }
+        return this.save(add);
+    }
+
+    @Override
+    public boolean editTopTenant(SysTopTenantEditBo bo) {
+        SysTenant tenant = getById(bo.getTenantId());
+        if (ObjectUtils.isNull(tenant)){
+            throw new CustomException("机构信息有误");
+        }
+        tenant.setTenantName(bo.getTenantName());
+        if(checkNameUnique(tenant)){
+            throw new CustomException("公司名已存在");
+        }
+        tenant.setBillType(bo.getBillType());
+        tenant.setBillDay(bo.getBillDay());
+        tenant.setAccountInformation(JSONArray.toJSONString(bo.getAccountList()));
+        tenant.setInvoiceInformation(JSONObject.toJSONString(bo.getInvoiceBo()));
+        return updateById(tenant);
+    }
+
     private void initRoles(Long newTenantId,Long tenantId) {
     private void initRoles(Long newTenantId,Long tenantId) {
         List<String> roleKey = new ArrayList<>();
         List<String> roleKey = new ArrayList<>();
         roleKey.add("seller");
         roleKey.add("seller");

+ 69 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/TopOldOrderRefundBo.java

@@ -0,0 +1,69 @@
+package com.zhongzheng.modules.order.bo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 订单商品退款对象 top_old_order_refund
+ *
+ * @author ruoyi
+ * @date 2023-04-24
+ */
+@Data
+public class TopOldOrderRefundBo implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+    /** $column.columnComment */
+    private Long refundId;
+    /** 退款单号 */
+    private String refundSn;
+    /** 用户ID */
+    private Long userId;
+    /** 学员名称 */
+    private String userName;
+    /** 订单编号 */
+    private String orderSn;
+    /** 订单商品ID */
+    private Long orderGoodsId;
+    /** 商品id */
+    private Long goodsId;
+    /** 商品名称 */
+    private String goodsName;
+    /** 退款金额 */
+    private BigDecimal refundFee;
+    /** 实际退款金额 */
+    private BigDecimal realRefundFee;
+    /** 添加时间 */
+    private Long createTime;
+    /** 修改时间 */
+    private Long updateTime;
+    /** 状态 1正常 0关闭 */
+    private Integer status;
+    /** 微信退款单号 */
+    private String wxpayRefundId;
+    /** 申请退款原因 */
+    private String applyReason;
+    /** 申请图片地址 , 拼接 */
+    private String applyImgs;
+    /** 退款类型 1B端,2C端 */
+    private Integer type;
+    /** 审批状态 0 待审核 1初审通过 2复审通过待退款 1待审核,2待退款,3已完成,-1未通过 */
+    private Integer periodStatus;
+    /** 退款时间 */
+    private Long refundTime;
+    /** 机构ID*/
+    private Long tenantId;
+    /** 分成模式 1机构分成 2业务员分成*/
+    private Integer divideModel;
+    /** 待扣分成钱*/
+    private BigDecimal divideMoney;
+}

+ 6 - 5
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderGoodsRefundService.java

@@ -2,12 +2,10 @@ package com.zhongzheng.modules.order.service;
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.zhongzheng.modules.grade.bo.UserPeriodEditBo;
 import com.zhongzheng.modules.grade.bo.UserPeriodEditBo;
-import com.zhongzheng.modules.order.bo.OrderAddBo;
-import com.zhongzheng.modules.order.bo.OrderGoodsRefundAddBo;
-import com.zhongzheng.modules.order.bo.OrderGoodsRefundEditBo;
-import com.zhongzheng.modules.order.bo.OrderGoodsRefundQueryBo;
+import com.zhongzheng.modules.order.bo.*;
 import com.zhongzheng.modules.order.domain.OrderGoodsRefund;
 import com.zhongzheng.modules.order.domain.OrderGoodsRefund;
 import com.zhongzheng.modules.order.vo.OrderGoodsRefundVo;
 import com.zhongzheng.modules.order.vo.OrderGoodsRefundVo;
+import com.zhongzheng.modules.order.vo.OrderGoodsVo;
 import com.zhongzheng.modules.top.goods.domain.TopOldOrderRefund;
 import com.zhongzheng.modules.top.goods.domain.TopOldOrderRefund;
 
 
 import java.util.Collection;
 import java.util.Collection;
@@ -68,5 +66,8 @@ public interface IOrderGoodsRefundService extends IService<OrderGoodsRefund> {
 
 
 	List<OrderGoodsRefundVo> listByOrderSn(OrderGoodsRefundQueryBo bo);
 	List<OrderGoodsRefundVo> listByOrderSn(OrderGoodsRefundQueryBo bo);
 
 
-	Boolean topRefundOrderPay(TopOldOrderRefund bo);
+	boolean platformRefundPay(List<TopOldOrderRefundBo> bo);
+
+	boolean handleRefundOrder(List<OrderGoodsVo> orderGoodsVos);
+
 }
 }

+ 65 - 12
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsRefundServiceImpl.java

@@ -18,6 +18,7 @@ import com.zhongzheng.common.core.domain.model.LoginUser;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.SecurityUtils;
 import com.zhongzheng.common.utils.SecurityUtils;
+import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.common.utils.ToolsUtils;
 import com.zhongzheng.common.utils.ToolsUtils;
 import com.zhongzheng.common.utils.http.HttpUtils;
 import com.zhongzheng.common.utils.http.HttpUtils;
 import com.zhongzheng.modules.activity.domain.ActivityOrder;
 import com.zhongzheng.modules.activity.domain.ActivityOrder;
@@ -296,6 +297,7 @@ public class OrderGoodsRefundServiceImpl extends ServiceImpl<OrderGoodsRefundMap
         //订单状态修改
         //订单状态修改
         iOrderService.update(new LambdaUpdateWrapper<Order>()
         iOrderService.update(new LambdaUpdateWrapper<Order>()
                         .set(Order::getRefundStatus,0)//待审核
                         .set(Order::getRefundStatus,0)//待审核
+                        .set(Order::getOrderRefund,orderGoods.getGoodsReceived())
                         .eq(Order::getOrderSn,orderGoods.getOrderSn()));
                         .eq(Order::getOrderSn,orderGoods.getOrderSn()));
         //修改订单状态
         //修改订单状态
         iOrderGoodsService.update(new LambdaUpdateWrapper<OrderGoods>()
         iOrderGoodsService.update(new LambdaUpdateWrapper<OrderGoods>()
@@ -509,6 +511,38 @@ public class OrderGoodsRefundServiceImpl extends ServiceImpl<OrderGoodsRefundMap
         return true;
         return true;
     }
     }
 
 
+    public Boolean topRefundOrderCall(OrderGoods orderGoods,Order order,Integer goodsType,Long gradeId,Long userId,Long goodsId){
+        //修改订单商品退款状态
+        orderGoods.setOrderGoodsId(orderGoods.getOrderGoodsId());
+        orderGoods.setRefundStatus(2); //已退款
+        orderGoods.setUpdateTime(DateUtils.getNowTime());
+        iOrderGoodsService.updateById(orderGoods);
+
+        OrderGoodsQueryBo bo = new OrderGoodsQueryBo();
+        bo.setOrderSn(order.getOrderSn());
+        List<OrderGoodsVo> orderGoodsVoList = iOrderGoodsService.selectList(bo);
+        boolean allRefund = true;
+        for (OrderGoodsVo g : orderGoodsVoList) {
+            if(g.getRefundStatus()!=2){
+                allRefund = false;
+            }
+        }
+        //都退款
+        if(allRefund){
+            order.setStatus(0);
+            order.setUpdateTime(DateUtils.getNowTime());
+            order.setOrderStatus(Order.REFUND_FULL);
+        }else {
+            //部分退款
+            order.setUpdateTime(DateUtils.getNowTime());
+            order.setOrderStatus(Order.REFUND_PART);
+        }
+        iOrderService.updateById(order);
+        //清除数据
+        clearData(gradeId,userId,orderGoods.getOrderGoodsId(),goodsId,goodsType);
+        return true;
+    }
+
     public Boolean refundCall(String WxpayRefundId,Long refundId,Long orderGoodsId,Order order,Integer goodsType,Long gradeId,Long userId,Long goodsId){
     public Boolean refundCall(String WxpayRefundId,Long refundId,Long orderGoodsId,Order order,Integer goodsType,Long gradeId,Long userId,Long goodsId){
         OrderGoodsRefund update = new OrderGoodsRefund();
         OrderGoodsRefund update = new OrderGoodsRefund();
         update.setRefundId(refundId);
         update.setRefundId(refundId);
@@ -790,25 +824,44 @@ public class OrderGoodsRefundServiceImpl extends ServiceImpl<OrderGoodsRefundMap
     }
     }
 
 
     @Override
     @Override
-    @Transactional(rollbackFor = Exception.class)
-    public Boolean topRefundOrderPay(TopOldOrderRefund bo){
-        //小程序/H5/PC 同意退款处理
-        Order order = iOrderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn, bo.getOrderSn()));
-        Map<String, String> payResult =  iWxPayService.refund(bo.getRefundSn(),order.getTransid(),bo.getRealRefundFee(),order.getPayPrice());
-        if("OK".equals(payResult.get("return_msg"))&&Validator.isNotEmpty(payResult.get("refund_id"))){
+    public boolean platformRefundPay(List<TopOldOrderRefundBo> refundBos) {
+        refundBos.forEach(bo -> {
+            //小程序/H5/PC 同意退款处理
+            Order order = iOrderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn, bo.getOrderSn()));
+            Map<String, String> payResult =  iWxPayService.refund(bo.getRefundSn(),order.getTransid(),bo.getRealRefundFee(),order.getPayPrice());
+            if("OK".equals(payResult.get("return_msg"))&&Validator.isNotEmpty(payResult.get("refund_id"))){
+                OrderGoods orderGoods = iOrderGoodsService.getById(bo.getOrderGoodsId());
+                Goods goods = iGoodsService.getById(bo.getGoodsId());
+                if (StringUtils.isNotBlank(orderGoods.getDistributionCode())){
+                    //处理分销订单
+                    distributionRefund(orderGoods);
+                }
+                topRefundCall(payResult.get("refund_id"),bo.getRefundId(),orderGoods,order,goods.getGoodsType(),orderGoods.getGradeId(),bo.getUserId(),goods.getGoodsId());
+                //关闭C端用户的分销返利
+                shareClientCancelOldSys(order,orderGoods,bo.getRealRefundFee());
+            }else{
+                throw new CustomException("退款错误"+ JSON.toJSONString(payResult));
+            }
+        });
+        return true;
+    }
+
+    @Override
+    public boolean handleRefundOrder(List<OrderGoodsVo> orderGoodsVos) {
+        orderGoodsVos.forEach(bo -> {
+            //小程序/H5/PC 同意退款处理
+            Order order = iOrderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn, bo.getOrderSn()));
             OrderGoods orderGoods = iOrderGoodsService.getById(bo.getOrderGoodsId());
             OrderGoods orderGoods = iOrderGoodsService.getById(bo.getOrderGoodsId());
             Goods goods = iGoodsService.getById(bo.getGoodsId());
             Goods goods = iGoodsService.getById(bo.getGoodsId());
             if (StringUtils.isNotBlank(orderGoods.getDistributionCode())){
             if (StringUtils.isNotBlank(orderGoods.getDistributionCode())){
                 //处理分销订单
                 //处理分销订单
                 distributionRefund(orderGoods);
                 distributionRefund(orderGoods);
             }
             }
-            topRefundCall(payResult.get("refund_id"),bo.getRefundId(),orderGoods,order,goods.getGoodsType(),orderGoods.getGradeId(),bo.getUserId(),goods.getGoodsId());
+            topRefundOrderCall(orderGoods,order,goods.getGoodsType(),orderGoods.getGradeId(),bo.getUserId(),goods.getGoodsId());
             //关闭C端用户的分销返利
             //关闭C端用户的分销返利
-            shareClientCancelOldSys(order,orderGoods,bo.getRealRefundFee());
-            return true;
-        }else{
-            throw new CustomException("退款错误"+ JSON.toJSONString(payResult));
-        }
+            shareClientCancelOldSys(order,orderGoods,bo.getGoodsRealPrice());
+        });
+        return true;
     }
     }
 
 
 //    public Boolean topOrderRefund(){
 //    public Boolean topOrderRefund(){

+ 29 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/bo/SysTopTenantAccountBo.java

@@ -0,0 +1,29 @@
+package com.zhongzheng.modules.system.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+
+/**
+ * 系统商户添加对象 sys_tenant
+ *
+ * @author hjl
+ * @date 2021-08-03
+ */
+@Data
+@ApiModel("系统商户账号添加对象")
+public class SysTopTenantAccountBo {
+
+    @ApiModelProperty("退款账号")
+    private String proceedsAccount;
+
+    @ApiModelProperty("开户银行")
+    private String openingBank;
+
+    @ApiModelProperty("开户名称")
+    private String openingName;
+
+}

+ 46 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/bo/SysTopTenantAddBo.java

@@ -0,0 +1,46 @@
+package com.zhongzheng.modules.system.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+
+/**
+ * 系统商户添加对象 sys_tenant
+ *
+ * @author hjl
+ * @date 2021-08-03
+ */
+@Data
+@ApiModel("系统商户添加对象")
+public class SysTopTenantAddBo {
+
+    /** 名称 */
+    @ApiModelProperty("名称")
+    @NotNull(message = "名称不能为空")
+    private String tenantName;
+
+    /** PC域名 */
+    @ApiModelProperty("PC域名")
+    private String hostPc;
+
+    /** h5域名 */
+    @ApiModelProperty("h5域名")
+    private String hostH5;
+
+    @ApiModelProperty("账单类型 (1月份 2季度 3半年 4年度)")
+    private Integer billType;
+
+    @ApiModelProperty("账单日")
+    private Integer billDay;
+
+    @ApiModelProperty("账号信息")
+    private List<SysTopTenantAccountBo> accountList;
+
+    @ApiModelProperty("发票信息")
+    private SysTopTenantInvoiceBo invoiceBo;
+
+}

+ 41 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/bo/SysTopTenantEditBo.java

@@ -0,0 +1,41 @@
+package com.zhongzheng.modules.system.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+
+/**
+ * 系统商户添加对象 sys_tenant
+ *
+ * @author hjl
+ * @date 2021-08-03
+ */
+@Data
+@ApiModel("系统商户添加对象")
+public class SysTopTenantEditBo {
+
+    @ApiModelProperty("机构ID")
+    private Long tenantId;
+
+    /** 名称 */
+    @ApiModelProperty("名称")
+    @NotNull(message = "名称不能为空")
+    private String tenantName;
+
+    @ApiModelProperty("账单类型 (1月份 2季度 3半年 4年度)")
+    private Integer billType;
+
+    @ApiModelProperty("账单日")
+    private Integer billDay;
+
+    @ApiModelProperty("账号信息")
+    private List<SysTopTenantAccountBo> accountList;
+
+    @ApiModelProperty("发票信息")
+    private SysTopTenantInvoiceBo invoiceBo;
+
+}

+ 27 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/bo/SysTopTenantInvoiceBo.java

@@ -0,0 +1,27 @@
+package com.zhongzheng.modules.system.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * 系统商户添加对象 sys_tenant
+ *
+ * @author hjl
+ * @date 2021-08-03
+ */
+@Data
+@ApiModel("系统商户发票添加对象")
+public class SysTopTenantInvoiceBo {
+
+    @ApiModelProperty("发票类型:1普票,2专票")
+    private Integer invoiceType;
+
+    @ApiModelProperty("发票抬头")
+    private String invoice;
+
+    @ApiModelProperty("纳税人")
+    private String taxpayer;
+
+}

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/domain/SysTenant.java

@@ -94,5 +94,11 @@ private static final long serialVersionUID=1L;
     private Integer commercialTenant;
     private Integer commercialTenant;
     /** 账号信息JSON */
     /** 账号信息JSON */
     private String accountInformation;
     private String accountInformation;
+    /** 账单类型 (1月份 2季度 3半年 4年度) */
+    private Integer billType;
+    /** 账单日 */
+    private Integer billDay;
+    /** 发票信息JSON */
+    private String invoiceInformation;
 
 
 }
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/service/ISysTenantService.java

@@ -63,4 +63,8 @@ public interface ISysTenantService extends IService<SysTenant> {
 	void updateDictTenant(List<Long> tenantIds);
 	void updateDictTenant(List<Long> tenantIds);
 
 
 	List<SysTenantBankAccountVo> getBankAccountList(String tenantId);
 	List<SysTenantBankAccountVo> getBankAccountList(String tenantId);
+
+	boolean addTopTenant(SysTopTenantAddBo bo);
+
+	boolean editTopTenant(SysTopTenantEditBo bo);
 }
 }

+ 18 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/system/vo/SysTenantVo.java

@@ -3,6 +3,7 @@ package com.zhongzheng.modules.system.vo;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.zhongzheng.common.annotation.Excel;
 import com.zhongzheng.common.annotation.Excel;
+import com.zhongzheng.modules.system.bo.SysTopTenantInvoiceBo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
@@ -44,7 +45,24 @@ public class SysTenantVo {
 	@ApiModelProperty("是否有商户号:1是,0否")
 	@ApiModelProperty("是否有商户号:1是,0否")
 	private Integer commercialTenant;
 	private Integer commercialTenant;
 
 
+	/** PC域名 */
+	@ApiModelProperty("PC域名")
+	private String hostPc;
+
+	/** h5域名 */
+	@ApiModelProperty("h5域名")
+	private String hostH5;
+
+	@ApiModelProperty("账单类型 (1月份 2季度 3半年 4年度)")
+	private Integer billType;
+
+	@ApiModelProperty("账单日")
+	private Integer billDay;
+
 	@ApiModelProperty("开户银行")
 	@ApiModelProperty("开户银行")
 	private List<SysTenantAccountVo> accountList;
 	private List<SysTenantAccountVo> accountList;
 
 
+	@ApiModelProperty("发票信息")
+	private SysTopTenantInvoiceBo invoiceBo;
+
 }
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopCourseBusinessAddBo.java

@@ -22,6 +22,9 @@ public class TopCourseBusinessAddBo {
     /** 业务名称 */
     /** 业务名称 */
     @ApiModelProperty("业务名称")
     @ApiModelProperty("业务名称")
     private String businessName;
     private String businessName;
+    /** 旧系统业务名称 */
+    @ApiModelProperty("旧系统业务名称")
+    private String oldBusinessName;
     /** 备注 */
     /** 备注 */
     @ApiModelProperty("备注")
     @ApiModelProperty("备注")
     private String remark;
     private String remark;

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopCourseBusinessEditBo.java

@@ -26,6 +26,10 @@ public class TopCourseBusinessEditBo {
     @ApiModelProperty("业务名称")
     @ApiModelProperty("业务名称")
     private String businessName;
     private String businessName;
 
 
+    /** 旧系统业务名称 */
+    @ApiModelProperty("旧系统业务名称")
+    private String oldBusinessName;
+
     /** 备注 */
     /** 备注 */
     @ApiModelProperty("备注")
     @ApiModelProperty("备注")
     private String remark;
     private String remark;

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

@@ -64,7 +64,7 @@ public class TopOldOrderAddBo {
     @ApiModelProperty("订单完成时间")
     @ApiModelProperty("订单完成时间")
     private Long finishTime;
     private Long finishTime;
     /** 订单类型   1线上,2线下 */
     /** 订单类型   1线上,2线下 */
-    @ApiModelProperty("订单类型   1线上,2线下")
+    @ApiModelProperty("订单类型   1线下,2线上")
     private Integer orderType;
     private Integer orderType;
     /** 底单:1新系统,2旧系统  */
     /** 底单:1新系统,2旧系统  */
     @ApiModelProperty("底单:1新系统,2旧系统")
     @ApiModelProperty("底单:1新系统,2旧系统")

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/domain/TopCourseBusiness.java

@@ -30,6 +30,8 @@ private static final long serialVersionUID=1L;
     private Long id;
     private Long id;
     /** 业务名称 */
     /** 业务名称 */
     private String businessName;
     private String businessName;
+    /** 业务名称 */
+    private String oldBusinessName;
     /** 备注 */
     /** 备注 */
     private String remark;
     private String remark;
     /** 项目id */
     /** 项目id */

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

@@ -139,7 +139,9 @@ private static final long serialVersionUID=1L;
     /** 退款账号 */
     /** 退款账号 */
     private String proceedsAccount;
     private String proceedsAccount;
     /** 税前佣金上一次记录 */
     /** 税前佣金上一次记录 */
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private BigDecimal pretaxBrokerageRecord;
     private BigDecimal pretaxBrokerageRecord;
     /** 税率上一次记录 */
     /** 税率上一次记录 */
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private BigDecimal pretaxRecord;
     private BigDecimal pretaxRecord;
 }
 }

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

@@ -40,6 +40,7 @@ import com.zhongzheng.modules.order.domain.Order;
 import com.zhongzheng.modules.order.domain.OrderGoods;
 import com.zhongzheng.modules.order.domain.OrderGoods;
 import com.zhongzheng.modules.order.service.IOrderGoodsRefundService;
 import com.zhongzheng.modules.order.service.IOrderGoodsRefundService;
 import com.zhongzheng.modules.order.service.IOrderGoodsService;
 import com.zhongzheng.modules.order.service.IOrderGoodsService;
+import com.zhongzheng.modules.order.vo.OrderGoodsVo;
 import com.zhongzheng.modules.system.domain.SysOldOrg;
 import com.zhongzheng.modules.system.domain.SysOldOrg;
 import com.zhongzheng.modules.system.domain.SysTenant;
 import com.zhongzheng.modules.system.domain.SysTenant;
 import com.zhongzheng.modules.system.service.ISysOldOrgService;
 import com.zhongzheng.modules.system.service.ISysOldOrgService;
@@ -209,6 +210,15 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
     @Value("${oldOrder.checkOrderStudent}")
     @Value("${oldOrder.checkOrderStudent}")
     private String CHECK_ORDER_STUDENT;
     private String CHECK_ORDER_STUDENT;
 
 
+    @Value("${oldOrder.checkOrderBrokerage}")
+    private String CHECK_ORDER_BROKERAGE;
+
+    @Value("${oldOrder.refundPay}")
+    private String REFUND_PAY;
+
+    @Value("${oldOrder.refundPayHandle}")
+    private String REFUND_PAY_HANDLE;
+
 
 
     @Override
     @Override
     public TopOldOrderVo queryById(String orderSn) {
     public TopOldOrderVo queryById(String orderSn) {
@@ -417,7 +427,11 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
             add.setOrderProfit(profitTotal);
             add.setOrderProfit(profitTotal);
             add.setCostJson(JSONObject.toJSONString(topCostTpVo));
             add.setCostJson(JSONObject.toJSONString(topCostTpVo));
         }
         }
-        add.setCheckStatus(0);//待审核
+        if (bo.getOrderFrom() == 3){
+            add.setCheckStatus(0);//待审核
+        }else {
+            add.setCheckStatus(1);//C端不需要审核
+        }
         add.setRefundStatus(1);//退款状态:正常
         add.setRefundStatus(1);//退款状态:正常
         add.setFinishStatus(0);//完单状态:未完单
         add.setFinishStatus(0);//完单状态:未完单
         //未收账款
         //未收账款
@@ -462,7 +476,11 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                 if (ObjectUtils.isNotNull(x.getUserCard())) {
                 if (ObjectUtils.isNotNull(x.getUserCard())) {
                     x.setUserCard(EncryptHandler.encrypt(x.getUserCard()));
                     x.setUserCard(EncryptHandler.encrypt(x.getUserCard()));
                 }
                 }
-                x.setCheckStatus(add.getCheckStatus());//待审核
+                if (bo.getOrderFrom() != 3){
+                    //C端订单
+                    x.setPayStatus(3);//已支付
+                }
+                x.setCheckStatus(add.getCheckStatus());
                 x.setStatus(1);
                 x.setStatus(1);
                 x.setTenantId(add.getTenantId());
                 x.setTenantId(add.getTenantId());
             });
             });
@@ -522,6 +540,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
 
 
         TopOldOrder edit = BeanUtil.toBean(bo, TopOldOrder.class);
         TopOldOrder edit = BeanUtil.toBean(bo, TopOldOrder.class);
         validEntityBeforeSave(edit);
         validEntityBeforeSave(edit);
+        edit.setOrderId(order.getOrderId());
         edit.setCreateTime(DateUtils.getNowTime());
         edit.setCreateTime(DateUtils.getNowTime());
         edit.setUpdateTime(DateUtils.getNowTime());
         edit.setUpdateTime(DateUtils.getNowTime());
         //未收账款
         //未收账款
@@ -601,9 +620,12 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                 if (item.getProjectId() == -1 && item.getBusinessId() == -1){
                 if (item.getProjectId() == -1 && item.getBusinessId() == -1){
                     return true;
                     return true;
                 }
                 }
-                TopCourseProjectType projectType = topCourseProjectTypeService.getById(item.getProjectId());
+//                TopCourseProjectType projectType = topCourseProjectTypeService.getById(item.getProjectId());
                 TopCourseBusiness business = topCourseBusinessService.getById(item.getBusinessId());
                 TopCourseBusiness business = topCourseBusinessService.getById(item.getBusinessId());
-                if (businessFullName.contains(projectType.getProjectName()) && businessFullName.contains(business.getBusinessName())){
+//                if (businessFullName.contains(projectType.getProjectName()) && businessFullName.contains(business.getBusinessName())){
+//                    return true;
+//                }
+                if (businessFullName.contains(business.getOldBusinessName())){
                     return true;
                     return true;
                 }
                 }
                 return false;
                 return false;
@@ -649,7 +671,6 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                     default:
                     default:
                         break;
                         break;
                 }
                 }
-
             }
             }
             switch (topCostTpItem.getItemType()) {
             switch (topCostTpItem.getItemType()) {
                 case 1://百分比
                 case 1://百分比
@@ -699,7 +720,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
 
 
         order.setCheckStatus(0); //订单待审核
         order.setCheckStatus(0); //订单待审核
         updateById(order);
         updateById(order);
-        return false;
+        return true;
     }
     }
 
 
     @Override
     @Override
@@ -732,6 +753,8 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                         orderGoods.setCheckStatus(0);//待审核
                         orderGoods.setCheckStatus(0);//待审核
                         TopOldOrderGoods oldOrderGoods = BeanUtil.toBean(orderGoods, TopOldOrderGoods.class);
                         TopOldOrderGoods oldOrderGoods = BeanUtil.toBean(orderGoods, TopOldOrderGoods.class);
                         oldOrderGoods.setUserCard(EncryptHandler.encrypt(oldOrderGoods.getUserCard()));
                         oldOrderGoods.setUserCard(EncryptHandler.encrypt(oldOrderGoods.getUserCard()));
+                        oldOrderGoods.setStatus(1);
+                        oldOrderGoods.setTenantId(order.getTenantId());
                         add.add(oldOrderGoods);
                         add.add(oldOrderGoods);
                         break;
                         break;
                     case -1://删除
                     case -1://删除
@@ -965,12 +988,14 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
             orderGoods.forEach(x -> x.setCheckStatus(bo.getCheckStatus()));
             orderGoods.forEach(x -> x.setCheckStatus(bo.getCheckStatus()));
             topOrderGoodsService.updateBatchById(orderGoods);
             topOrderGoodsService.updateBatchById(orderGoods);
         }
         }
+        Boolean brokerageFlag = false;
         switch (bo.getCheckStatus()){
         switch (bo.getCheckStatus()){
             case 1://通过审核 如果佣金有修改重新计算成本
             case 1://通过审核 如果佣金有修改重新计算成本
                 if (StringUtils.isNotBlank(oldOrder.getCostJson())
                 if (StringUtils.isNotBlank(oldOrder.getCostJson())
                         && ObjectUtils.isNotNull(oldOrder.getPretaxBrokerageRecord())
                         && ObjectUtils.isNotNull(oldOrder.getPretaxBrokerageRecord())
                         && ObjectUtils.isNotNull(oldOrder.getPretaxRecord())) {
                         && ObjectUtils.isNotNull(oldOrder.getPretaxRecord())) {
                     recalculateCost(oldOrder.getCostJson(),oldOrder);
                     recalculateCost(oldOrder.getCostJson(),oldOrder);
+                    brokerageFlag = true;
                 }
                 }
                 break;
                 break;
             case 2://拒绝 恢复原本的佣金
             case 2://拒绝 恢复原本的佣金
@@ -984,6 +1009,9 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                     //总佣金
                     //总佣金
                     BigDecimal brokerage = oldOrder.getPretaxBrokerage().subtract(multiply);
                     BigDecimal brokerage = oldOrder.getPretaxBrokerage().subtract(multiply);
                     oldOrder.setBrokerage(brokerage);
                     oldOrder.setBrokerage(brokerage);
+                    oldOrder.setPretaxRecord(null);
+                    oldOrder.setPretaxBrokerageRecord(null);
+                    brokerageFlag = true;
                 }
                 }
                 break;
                 break;
               default :
               default :
@@ -992,27 +1020,50 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
 
 
         updateById(oldOrder);
         updateById(oldOrder);
         // 订单审核通知业务系统
         // 订单审核通知业务系统
-        Map<String, String> params = new HashMap<>();
-        Long nowTime = DateUtils.getNowTime();
-        String sign = ToolsUtils.EncoderByMd5(bo.getOrderSn() + nowTime.toString() + "pubilc2022");
-        params.put("stamp", nowTime.toString());
-        params.put("sign", sign);
-        params.put("orderSn", bo.getOrderSn());
-        params.put("status", bo.getCheckStatus().toString());
-        if (StringUtils.isNotBlank(bo.getCheckReason())) {
-            params.put("remark", bo.getCheckReason());
-        }
-        params.put("auditor", bo.getLoginName());
-        String respone = "";
-        try {
-            respone = HttpUtils.postFormBody(ORDER_CHECK, params);
-            if (!respone.contains("\"Status\":true")) {
+        if (brokerageFlag){
+            //佣金审核
+            Map<String, String> params = new HashMap<>();
+            Long nowTime = DateUtils.getNowTime();
+            String sign = ToolsUtils.EncoderByMd5(bo.getOrderSn() + nowTime.toString() + "pubilc2022");
+            params.put("stamp", nowTime.toString());
+            params.put("sign", sign);
+            params.put("orderSn", bo.getOrderSn());
+            params.put("auditstatus", bo.getCheckStatus().toString());
+            String respone = "";
+            try {
+                respone = HttpUtils.postFormBody(CHECK_ORDER_BROKERAGE, params);
+                if (!respone.contains("\"Status\":true")) {
+                    throw new CustomException("旧系统订单审核接口请求错误");
+                }
+            } catch (IOException e) {
+                log.error("旧系统订单审核接口请求错误" + respone);
+                throw new CustomException("旧系统订单审核接口请求错误");
+            }
+        }else {
+            //订单审核
+            Map<String, String> params = new HashMap<>();
+            Long nowTime = DateUtils.getNowTime();
+            String sign = ToolsUtils.EncoderByMd5(bo.getOrderSn() + nowTime.toString() + "pubilc2022");
+            params.put("stamp", nowTime.toString());
+            params.put("sign", sign);
+            params.put("orderSn", bo.getOrderSn());
+            params.put("status", bo.getCheckStatus().toString());
+            if (StringUtils.isNotBlank(bo.getCheckReason())) {
+                params.put("remark", bo.getCheckReason());
+            }
+            params.put("auditor", bo.getLoginName());
+            String respone = "";
+            try {
+                respone = HttpUtils.postFormBody(ORDER_CHECK, params);
+                if (!respone.contains("\"Status\":true")) {
+                    throw new CustomException("旧系统订单审核接口请求错误");
+                }
+            } catch (IOException e) {
+                log.error("旧系统订单审核接口请求错误" + respone);
                 throw new CustomException("旧系统订单审核接口请求错误");
                 throw new CustomException("旧系统订单审核接口请求错误");
             }
             }
-        } catch (IOException e) {
-            log.error("旧系统订单审核接口请求错误" + respone);
-            throw new CustomException("旧系统订单审核接口请求错误");
         }
         }
+
         return true;
         return true;
     }
     }
 
 
@@ -1020,7 +1071,6 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
     public boolean checkOrderStudent(TopOldOrderCheckBo bo) {
     public boolean checkOrderStudent(TopOldOrderCheckBo bo) {
         TopOldOrder oldOrder = getOne(new LambdaQueryWrapper<TopOldOrder>().eq(TopOldOrder::getOrderSn, bo.getOrderSn()));
         TopOldOrder oldOrder = getOne(new LambdaQueryWrapper<TopOldOrder>().eq(TopOldOrder::getOrderSn, bo.getOrderSn()));
-
         //校验当前登入角色
         //校验当前登入角色
         List<TopSysUserRole> userRoles = topSysUserRoleService.list(new LambdaQueryWrapper<TopSysUserRole>().eq(TopSysUserRole::getUserId, bo.getOrderId()));
         List<TopSysUserRole> userRoles = topSysUserRoleService.list(new LambdaQueryWrapper<TopSysUserRole>().eq(TopSysUserRole::getUserId, bo.getOrderId()));
         if (CollectionUtils.isEmpty(userRoles) && !"admin".equals(bo.getLoginName())) {
         if (CollectionUtils.isEmpty(userRoles) && !"admin".equals(bo.getLoginName())) {
@@ -1028,7 +1078,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         }
         }
         List<TopOldOrderCheck> checks = topOldOrderCheckService
         List<TopOldOrderCheck> checks = topOldOrderCheckService
                 .list(new LambdaQueryWrapper<TopOldOrderCheck>().eq(TopOldOrderCheck::getCheckType, 1));
                 .list(new LambdaQueryWrapper<TopOldOrderCheck>().eq(TopOldOrderCheck::getCheckType, 1));
-        if (CollectionUtils.isNotEmpty(checks)) {
+        if (CollectionUtils.isEmpty(checks)) {
             throw new CustomException("没有设置审核流程!请检查");
             throw new CustomException("没有设置审核流程!请检查");
         }
         }
         List<Long> roles = checks.stream().map(TopOldOrderCheck::getCheckRole).collect(Collectors.toList());
         List<Long> roles = checks.stream().map(TopOldOrderCheck::getCheckRole).collect(Collectors.toList());
@@ -1036,8 +1086,18 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         if (roleIdList.stream().noneMatch(x -> roles.contains(x)) && !"admin".equals(bo.getLoginName())) {
         if (roleIdList.stream().noneMatch(x -> roles.contains(x)) && !"admin".equals(bo.getLoginName())) {
             throw new CustomException("当前账号没有审核权限");
             throw new CustomException("当前账号没有审核权限");
         }
         }
+
         List<TopOldOrderGoods> list = topOrderGoodsService.listByIds(bo.getOrderGoodsIds());
         List<TopOldOrderGoods> list = topOrderGoodsService.listByIds(bo.getOrderGoodsIds());
         list.forEach(x -> x.setCheckStatus(bo.getCheckStatus()));
         list.forEach(x -> x.setCheckStatus(bo.getCheckStatus()));
+        if (StringUtils.isNotBlank(oldOrder.getCheckRemark()) && bo.getCheckStatus() == 2){
+            List<Long> collect = list.stream().map(TopOldOrderGoods::getSignId).collect(Collectors.toList());
+            List<String> collect1 = Arrays.stream(oldOrder.getCheckRemark().split(",")).filter(x -> !collect.contains(x)).collect(Collectors.toList());
+                //不通过 恢复数据
+                topOrderGoodsService.update(new LambdaUpdateWrapper<TopOldOrderGoods>()
+                        .set(TopOldOrderGoods::getCheckStatus,1)
+                        .eq(TopOldOrderGoods::getOrderSn,bo.getOrderSn())
+                        .in(TopOldOrderGoods::getSignId,collect1));
+        }
         topOrderGoodsService.updateBatchById(list);
         topOrderGoodsService.updateBatchById(list);
         if (oldOrder.getOrderBase() == 1) {
         if (oldOrder.getOrderBase() == 1) {
             //处理退学学员 并且订单在新系统
             //处理退学学员 并且订单在新系统
@@ -1070,8 +1130,6 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                             }
                             }
                         }
                         }
                     });
                     });
-                    //清除标识IDs
-                    oldOrder.setCheckRemark("");
                     //消息通知教务
                     //消息通知教务
                     this.informRemind(userNames);
                     this.informRemind(userNames);
                     break;
                     break;
@@ -1101,8 +1159,6 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                             }
                             }
                         }
                         }
                     });
                     });
-                    //清除标识IDs
-                    oldOrder.setCheckRemark("");
                     break;
                     break;
                 default:
                 default:
                     break;
                     break;
@@ -1113,6 +1169,8 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         if (bo.getCheckStatus() == 1 && StringUtils.isNotBlank(oldOrder.getCostJson())) {
         if (bo.getCheckStatus() == 1 && StringUtils.isNotBlank(oldOrder.getCostJson())) {
             recalculateCost(oldOrder.getCostJson(),oldOrder);
             recalculateCost(oldOrder.getCostJson(),oldOrder);
         }
         }
+        //清除标识IDs
+        oldOrder.setCheckRemark("");
         updateById(oldOrder);
         updateById(oldOrder);
         // 订单审核通知业务系统
         // 订单审核通知业务系统
         List<CheckOrderStudentDetailBo> studentDetailBos = list.stream().map(item -> {
         List<CheckOrderStudentDetailBo> studentDetailBos = list.stream().map(item -> {
@@ -1151,9 +1209,6 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         if(Validator.isEmpty(bo.getOrderSn())||Validator.isEmpty(bo.getTenantId())||Validator.isEmpty(bo.getPayType())){
         if(Validator.isEmpty(bo.getOrderSn())||Validator.isEmpty(bo.getTenantId())||Validator.isEmpty(bo.getPayType())){
             throw new CustomException("参数错误");
             throw new CustomException("参数错误");
         }
         }
-        if(Validator.isEmpty(bo.getToBankAcount())||Validator.isEmpty(bo.getToBankName())||Validator.isEmpty(bo.getToBankTypeName())){
-            throw new CustomException("支付参数错误");
-        }
         //校验当前角色审核权限
         //校验当前角色审核权限
         List<TopSysUserRole> userRoleList = topSysUserRoleService.list(new LambdaQueryWrapper<TopSysUserRole>().eq(TopSysUserRole::getUserId, bo.getLoginId()));
         List<TopSysUserRole> userRoleList = topSysUserRoleService.list(new LambdaQueryWrapper<TopSysUserRole>().eq(TopSysUserRole::getUserId, bo.getLoginId()));
         if (CollectionUtils.isEmpty(userRoleList) && !bo.getLoginName().equals("admin")) {
         if (CollectionUtils.isEmpty(userRoleList) && !bo.getLoginName().equals("admin")) {
@@ -1185,27 +1240,104 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         //退款金额
         //退款金额
         BigDecimal refundPrice = orderRefundList.stream().map(TopOldOrderRefund::getRefundFee).reduce(BigDecimal.ZERO, BigDecimal::add);
         BigDecimal refundPrice = orderRefundList.stream().map(TopOldOrderRefund::getRefundFee).reduce(BigDecimal.ZERO, BigDecimal::add);
         if (order.getOrderFrom() == 3 && bo.getPayType() == 2){
         if (order.getOrderFrom() == 3 && bo.getPayType() == 2){
+            if(Validator.isEmpty(bo.getToBankAcount())||Validator.isEmpty(bo.getToBankName())||Validator.isEmpty(bo.getToBankTypeName())){
+                throw new CustomException("支付参数错误");
+            }
             //旧系统B端网银退款处理
             //旧系统B端网银退款处理
             handleEnterpriseRefund(refundPrice,order,bo);
             handleEnterpriseRefund(refundPrice,order,bo);
-            if (order.getOrderBase() == 1){
-                //底单在新系统 处理退款订单
-
-            }
+            orderRefundList.forEach(x -> x.setPeriodStatus(4));//支付中
+            topOldOrderRefundService.updateBatchById(orderRefundList);
+            update(new LambdaUpdateWrapper<TopOldOrder>()
+                    .set(TopOldOrder::getRefundStatus,5) // 支付中
+                    .eq(TopOldOrder::getOrderSn,bo.getOrderSn()));
         }else if (order.getOrderFrom() == 1 && bo.getPayType() == 1){
         }else if (order.getOrderFrom() == 1 && bo.getPayType() == 1){
             //新系统C端微信退款处理
             //新系统C端微信退款处理
-            orderRefundList.forEach(item -> {
-                orderGoodsRefundService.topRefundOrderPay(item);
-            });
+            String respone = "";
+            HashMap<String, String> map = new HashMap<>();
+            map.put("TenantId",bo.getTenantId());
+            String params = JSONArray.toJSONString(orderRefundList);
+            try {
+                respone = HttpUtils.sendPostJsonHeader(REFUND_PAY, params,map);
+                if (respone.contains("\"code\":200")) {
+                    //已退金额
+                    BigDecimal add = BigDecimal.ZERO;
+                    BigDecimal reduce = orderRefundList.stream().map(TopOldOrderRefund::getRefundFee).reduce(BigDecimal.ZERO, BigDecimal::add);
+                    Order entity = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn, order.getOrderSn()));
+                    if (ObjectUtils.isNotNull(entity.getOrderRefunded())){
+                        add = entity.getOrderRefunded().add(reduce);
+                    }else {
+                        add = reduce;
+                    }
+                    entity.setOrderRefunded(add);
+                    orderService.updateById(entity);
+                }
+            } catch (Exception e) {
+                throw new CustomException("退款支付请求错误"+e.getMessage());
+            }
         }else if (order.getOrderFrom() == 2 && bo.getPayType() == 1){
         }else if (order.getOrderFrom() == 2 && bo.getPayType() == 1){
-            // todo 旧系统C端微信退款处理
-            if (order.getOrderBase() == 1){
-                //底单在新系统 处理退款订单
+            // 旧系统C端微信退款处理
+            checkInform(order.getOrderSn(),orderRefundList.get(0).getType(),"",1,1,"已支付");
+            orderRefundList.forEach(x -> x.setPeriodStatus(3));//已完成
+            topOldOrderRefundService.updateBatchById(orderRefundList);
+            topOrderGoodsService.update(new LambdaUpdateWrapper<TopOldOrderGoods>()
+            .set(TopOldOrderGoods::getRefundStatus,2)//已退款
+            .in(TopOldOrderGoods::getOrderGoodsId,orderRefundList.stream().map(TopOldOrderRefund::getOrderGoodsId).collect(Collectors.toList())));
+            //已退金额
+            BigDecimal add = BigDecimal.ZERO;
+            BigDecimal reduce = orderRefundList.stream().map(TopOldOrderRefund::getRefundFee).reduce(BigDecimal.ZERO, BigDecimal::add);
+            if (ObjectUtils.isNotNull(order.getOrderRefunded())){
+                add = order.getOrderRefunded().add(reduce);
+            }else {
+                add = reduce;
+            }
+            update(new LambdaUpdateWrapper<TopOldOrder>()
+                    .set(TopOldOrder::getRefundStatus,3) // 已完成
+                    .set(TopOldOrder::getOrderRefunded,add)
+                    .eq(TopOldOrder::getOrderSn,bo.getOrderSn()));
 
 
+            //处理新系统订单
+            if (ObjectUtils.isNotNull(order.getInputOrderSn()) && order.getOrderBase() == 1) {
+                handleRefundOrder(orderRefundList,order.getInputOrderSn(),order.getTenantId().toString());
             }
             }
         }
         }
         return true;
         return true;
     }
     }
 
 
+    private void handleRefundOrder(List<TopOldOrderRefund> orderRefundList,String inputOrderSn,String tenantId){
+        orderRefundList.forEach(refund -> {
+            TopOldOrderGoods item = topOrderGoodsService.getById(refund.getOrderGoodsId());
+            User user = userService.getOne(new LambdaQueryWrapper<User>()
+                    .eq(User::getIdCard, EncryptHandler.encrypt(item.getUserCard())));
+            if (ObjectUtils.isNotNull(user)) {
+                //处理新系统订单商品
+                List<Order> list = orderService
+                        .list(new LambdaUpdateWrapper<Order>()
+                                .eq(Order::getInputOrderSn, inputOrderSn)
+                                .eq(Order::getStatus, 1)
+                                .eq(Order::getUserId, user.getUserId()));
+                if (CollectionUtils.isNotEmpty(list)) {
+                    List<OrderGoods> goodsList = orderGoodsService.list(new LambdaQueryWrapper<OrderGoods>()
+                            .in(OrderGoods::getOrderSn, list.stream().map(Order::getOrderSn).collect(Collectors.toList()))
+                            .eq(OrderGoods::getStatus, 1));
+                    //过滤找出要退款的商品
+                    List<OrderGoods> collect = goodsList.stream().filter(x -> x.getGoodsId().equals(item.getGoodsId())).collect(Collectors.toList());
+                    if (CollectionUtils.isNotEmpty(collect)) {
+                        List<OrderGoodsVo> goodsVoList = collect.stream().map(x -> BeanUtil.toBean(x, OrderGoodsVo.class)).collect(Collectors.toList());
+                        String respone = "";
+                        HashMap<String, String> map = new HashMap<>();
+                        map.put("TenantId",tenantId);
+                        String params = JSONArray.toJSONString(goodsVoList);
+                        try {
+                            respone = HttpUtils.sendPostJsonHeader(REFUND_PAY_HANDLE, params,map);
+                        } catch (Exception e) {
+                            throw new CustomException("退款支付后处理订单接口请求失败"+e.getMessage());
+                        }
+                    }
+                }
+            }
+        });
+    }
+
 
 
     private void handleEnterpriseRefund(BigDecimal refundPrice,TopOldOrder order,OrderRefundPayBo bo) {
     private void handleEnterpriseRefund(BigDecimal refundPrice,TopOldOrder order,OrderRefundPayBo bo) {
         if (ObjectUtils.isNotNull(order.getOrderUncollected()) && order.getOrderUncollected().compareTo(BigDecimal.ZERO) !=0){
         if (ObjectUtils.isNotNull(order.getOrderUncollected()) && order.getOrderUncollected().compareTo(BigDecimal.ZERO) !=0){
@@ -1405,6 +1537,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
             orderRefund.setGoodsId(item.getGoodsId());
             orderRefund.setGoodsId(item.getGoodsId());
             orderRefund.setGoodsName(item.getGoodsName());
             orderRefund.setGoodsName(item.getGoodsName());
             orderRefund.setRefundFee(item.getGoodsRealPrice());
             orderRefund.setRefundFee(item.getGoodsRealPrice());
+            orderRefund.setRealRefundFee(item.getGoodsRealPrice());
             orderRefund.setUpdateTime(DateUtils.getNowTime());
             orderRefund.setUpdateTime(DateUtils.getNowTime());
             orderRefund.setCreateTime(DateUtils.getNowTime());
             orderRefund.setCreateTime(DateUtils.getNowTime());
             orderRefund.setTenantId(item.getTenantId());
             orderRefund.setTenantId(item.getTenantId());
@@ -1417,6 +1550,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
             return orderRefund;
             return orderRefund;
         }).collect(Collectors.toList());
         }).collect(Collectors.toList());
         topOldOrderRefundService.saveBatch(orderRefundRefund);
         topOldOrderRefundService.saveBatch(orderRefundRefund);
+        BigDecimal refundMoney = orderRefundRefund.stream().map(TopOldOrderRefund::getRefundFee).reduce(BigDecimal.ZERO,BigDecimal::add);
         //修改订单状态
         //修改订单状态
         topOrderGoodsService.update(new LambdaUpdateWrapper<TopOldOrderGoods>()
         topOrderGoodsService.update(new LambdaUpdateWrapper<TopOldOrderGoods>()
                 .in(TopOldOrderGoods::getOrderGoodsId, orderGoods.stream().map(TopOldOrderGoods::getOrderGoodsId).collect(Collectors.toList()))
                 .in(TopOldOrderGoods::getOrderGoodsId, orderGoods.stream().map(TopOldOrderGoods::getOrderGoodsId).collect(Collectors.toList()))
@@ -1426,6 +1560,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         order.setProceedsAccount(bo.getProceedsAccount());
         order.setProceedsAccount(bo.getProceedsAccount());
         order.setOpeningBank(bo.getOpeningBank());
         order.setOpeningBank(bo.getOpeningBank());
         order.setOpeningName(bo.getOpeningName());
         order.setOpeningName(bo.getOpeningName());
+        order.setOrderRefund(refundMoney);
         updateById(order);
         updateById(order);
 
 
         //处理新系统订单
         //处理新系统订单
@@ -1720,7 +1855,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
             TopOldOrder order = baseMapper.getOrderBySn(refundList.get(0).getOrderSn());
             TopOldOrder order = baseMapper.getOrderBySn(refundList.get(0).getOrderSn());
             // 订单退款通知业务系统
             // 订单退款通知业务系统
             if (oldOrder.getOrderFrom() != 1){
             if (oldOrder.getOrderFrom() != 1){
-                checkInform(order.getOrderSn(),type,bo.getCheckReason(),2,1,String.format("审核中(%s)",bo.getCheckRoleName()));
+                checkInform(order.getOrderSn(),type,bo.getCheckReason(),2,1,String.format("未通过(%s)",bo.getCheckRoleName()));
             }
             }
 
 
             if (order.getOrderFrom() == 1) {
             if (order.getOrderFrom() == 1) {
@@ -1949,6 +2084,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                             List<TopCostTpItemVo> divideList = itemList.stream().filter(x -> x.getItemCategory() == 1).collect(Collectors.toList());
                             List<TopCostTpItemVo> divideList = itemList.stream().filter(x -> x.getItemCategory() == 1).collect(Collectors.toList());
                             calculateDivide(divideList, order, divideModel);
                             calculateDivide(divideList, order, divideModel);
                     }
                     }
+
                 }
                 }
         );
         );
 
 
@@ -2075,6 +2211,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                 divideTotal = divideTotal.add(divide);
                 divideTotal = divideTotal.add(divide);
             }
             }
             Order orgOrder = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn, order.getOrderSn()));
             Order orgOrder = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn, order.getOrderSn()));
+            orgOrder.setFinishStatus(1);//已完单
             orgOrder.setDivideModel(divideModel);
             orgOrder.setDivideModel(divideModel);
             orgOrder.setDivideStatus(2);//待审核
             orgOrder.setDivideStatus(2);//待审核
             orgOrder.setCancelTime(DateUtils.getNowTime());
             orgOrder.setCancelTime(DateUtils.getNowTime());
@@ -2100,14 +2237,26 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
             for (TopOldOrderGoods orderGoods : orderGoodsList) {
             for (TopOldOrderGoods orderGoods : orderGoodsList) {
                 BigDecimal goodsPrice = orderGoods.getGoodsRealPrice();
                 BigDecimal goodsPrice = orderGoods.getGoodsRealPrice();
                 //商品业务层
                 //商品业务层
-                TopOldOrderGoods oldOrderGoods = topOrderGoodsService.getById(orderGoods.getGoodsId());
-                String businessName = oldOrderGoods.getBusinessFullName();
+                String businessName = orderGoods.getBusinessFullName();
                 List<TopCostTpItemVo> items = itemList.stream().filter(x -> {
                 List<TopCostTpItemVo> items = itemList.stream().filter(x -> {
-                    TopCourseEducationType education = topCourseEducationTypeService.getById(x.getEducationTypeId());
-                    TopCourseProjectType projectType = topCourseProjectTypeService.getById(x.getProjectId());
+                    //教育类型不限
+                    if (x.getEducationTypeId() == -1){return true;}
+
+                    TopCourseEducationType educationType = topCourseEducationTypeService.getById(x.getEducationTypeId());
+                    if (!businessName.contains(educationType.getEducationName()) && !businessName.contains(educationType.getSchemeName())){
+                        //教育类型匹配失败
+                        return false;
+                    }
+                    //项目类型和业务层次
+                    if (x.getProjectId() == -1 && x.getBusinessId() == -1){
+                        return true;
+                    }
+//                    TopCourseProjectType projectType = topCourseProjectTypeService.getById(x.getProjectId());
                     TopCourseBusiness business = topCourseBusinessService.getById(x.getBusinessId());
                     TopCourseBusiness business = topCourseBusinessService.getById(x.getBusinessId());
-                    String name = education.getSchemeName() + education.getEducationName() + projectType.getProjectName() + business.getBusinessName();
-                    if (name.equals(businessName)) {
+//                    if (businessName.contains(projectType.getProjectName()) && businessName.contains(business.getBusinessName())){
+//                        return true;
+//                    }
+                    if (businessName.contains(business.getOldBusinessName())){
                         return true;
                         return true;
                     }
                     }
                     return false;
                     return false;
@@ -2117,10 +2266,14 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                     continue;
                     continue;
                 }
                 }
                 //根据订单金额匹配成本阶梯
                 //根据订单金额匹配成本阶梯
-                List<TopCostTpItemVo> 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());
+                List<TopCostTpItemVo> tpItems = new ArrayList<>();
+                for (TopCostTpItemVo x : items) {
+                    if ((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)){
+                        tpItems.add(x);
+                    }
+                }
                 if (CollectionUtils.isEmpty(tpItems)) {
                 if (CollectionUtils.isEmpty(tpItems)) {
                     //匹配不到成本项阶梯值
                     //匹配不到成本项阶梯值
                     continue;
                     continue;
@@ -2133,6 +2286,23 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                 TopCostTpItemVo topCostTpItem = tpItems.stream().findFirst().get();
                 TopCostTpItemVo topCostTpItem = tpItems.stream().findFirst().get();
                 BigDecimal divide = new BigDecimal("0.00");//成本
                 BigDecimal divide = new BigDecimal("0.00");//成本
                 BigDecimal bigDecimal = new BigDecimal("100");
                 BigDecimal bigDecimal = new BigDecimal("100");
+                if (topCostTpItem.getDockStatus() == 1){
+                    //启用成本扣除项
+                    switch (topCostTpItem.getDockType()){
+                        case 1://百分比
+                            //成本扣除金额
+                            BigDecimal divide1 = topCostTpItem.getDockValue().divide(bigDecimal);
+                            BigDecimal multiply = goodsPrice.multiply(divide1);
+                            goodsPrice = goodsPrice.subtract(multiply);
+                            break;
+                        case 2://固定金额
+                            goodsPrice = goodsPrice.subtract(topCostTpItem.getDockValue());
+                            break;
+                        default:
+                            break;
+                    }
+
+                }
                 switch (topCostTpItem.getItemType()) {
                 switch (topCostTpItem.getItemType()) {
                     case 1://百分比
                     case 1://百分比
                         BigDecimal divideNum = topCostTpItem.getTypeValue().divide(bigDecimal);
                         BigDecimal divideNum = topCostTpItem.getTypeValue().divide(bigDecimal);
@@ -2150,6 +2320,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                 topOrderGoodsService.updateById(orderGoods);
                 topOrderGoodsService.updateById(orderGoods);
                 divideTotal = divideTotal.add(divide);
                 divideTotal = divideTotal.add(divide);
             }
             }
+            order.setFinishStatus(1);//已完单
             order.setDivideModel(divideModel);
             order.setDivideModel(divideModel);
             order.setDivideStatus(2);//待审核
             order.setDivideStatus(2);//待审核
             order.setCancelTime(DateUtils.getNowTime());
             order.setCancelTime(DateUtils.getNowTime());
@@ -2195,7 +2366,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                 }
                 }
                 logs.add(log);
                 logs.add(log);
                 //佣金审核
                 //佣金审核
-                if (brokerage.compareTo(BigDecimal.ZERO) > 0){
+                if (ObjectUtils.isNotNull(brokerage) && brokerage.compareTo(BigDecimal.ZERO) > 0){
                     log.setCheckFrom(4);
                     log.setCheckFrom(4);
                     logs.add(log);
                     logs.add(log);
                 }
                 }
@@ -2456,12 +2627,23 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                     List<TopCostTpItemVo> itemList = bo.getCostTpVo().getItemList();
                     List<TopCostTpItemVo> itemList = bo.getCostTpVo().getItemList();
                     //商品业务层 新系统默认是学校业务
                     //商品业务层 新系统默认是学校业务
                     String businessName = orderGoodsService.getBusinessById(orderGoods.getOrderGoodsId());
                     String businessName = orderGoodsService.getBusinessById(orderGoods.getOrderGoodsId());
-                    List<TopCostTpItemVo> items = itemList.stream().filter(x -> {
-                        TopCourseEducationType education = topCourseEducationTypeService.getById(x.getEducationTypeId());
-                        TopCourseProjectType projectType = topCourseProjectTypeService.getById(x.getProjectId());
-                        TopCourseBusiness business = topCourseBusinessService.getById(x.getBusinessId());
-                        String name = education.getSchemeName() + education.getEducationName() + projectType.getProjectName() + business.getBusinessName();
-                        if (name.equals(businessName)) {
+                    //业务层次过滤
+                    List<TopCostTpItemVo> items = itemList.stream().filter(item -> {
+                        //教育类型不限
+                        if (item.getEducationTypeId() == -1){return true;}
+
+                        TopCourseEducationType educationType = topCourseEducationTypeService.getById(item.getEducationTypeId());
+                        if (!businessName.contains(educationType.getEducationName()) && !businessName.contains(educationType.getSchemeName())){
+                            //教育类型匹配失败
+                            return false;
+                        }
+                        //项目类型和业务层次
+                        if (item.getProjectId() == -1 && item.getBusinessId() == -1){
+                            return true;
+                        }
+                        TopCourseProjectType projectType = topCourseProjectTypeService.getById(item.getProjectId());
+                        TopCourseBusiness business = topCourseBusinessService.getById(item.getBusinessId());
+                        if (businessName.contains(projectType.getProjectName()) && businessName.contains(business.getBusinessName())){
                             return true;
                             return true;
                         }
                         }
                         return false;
                         return false;
@@ -2471,10 +2653,14 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                         continue;
                         continue;
                     }
                     }
                     //根据订单金额匹配成本阶梯
                     //根据订单金额匹配成本阶梯
-                    List<TopCostTpItemVo> 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());
+                    List<TopCostTpItemVo> tpItems = new ArrayList<>();
+                    for (TopCostTpItemVo x : items) {
+                        if ((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)){
+                            tpItems.add(x);
+                        }
+                    }
                     if (CollectionUtils.isEmpty(tpItems)) {
                     if (CollectionUtils.isEmpty(tpItems)) {
                         //匹配不到成本项阶梯值
                         //匹配不到成本项阶梯值
                         continue;
                         continue;
@@ -2488,6 +2674,22 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                     BigDecimal cost = new BigDecimal("0.00");//成本
                     BigDecimal cost = new BigDecimal("0.00");//成本
                     BigDecimal profit = new BigDecimal("0.00"); //盈亏
                     BigDecimal profit = new BigDecimal("0.00"); //盈亏
                     BigDecimal bigDecimal = new BigDecimal("100");
                     BigDecimal bigDecimal = new BigDecimal("100");
+                    if (topCostTpItem.getDockStatus() == 1){
+                        //启用成本扣除项
+                        switch (topCostTpItem.getDockType()){
+                            case 1://百分比
+                                //成本扣除金额
+                                BigDecimal divide = topCostTpItem.getDockValue().divide(bigDecimal);
+                                BigDecimal multiply = goodsPrice.multiply(divide);
+                                goodsPrice = goodsPrice.subtract(multiply);
+                                break;
+                            case 2://固定金额
+                                goodsPrice = goodsPrice.subtract(topCostTpItem.getDockValue());
+                                break;
+                            default:
+                                break;
+                        }
+                    }
                     switch (topCostTpItem.getItemType()) {
                     switch (topCostTpItem.getItemType()) {
                         case 1://百分比
                         case 1://百分比
                             BigDecimal divide = topCostTpItem.getTypeValue().divide(bigDecimal);
                             BigDecimal divide = topCostTpItem.getTypeValue().divide(bigDecimal);
@@ -2536,12 +2738,26 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                     //商品业务层
                     //商品业务层
                     TopOldOrderGoods oldOrderGoods = topOrderGoodsService.getById(orderGoods.getOrderGoodsId());
                     TopOldOrderGoods oldOrderGoods = topOrderGoodsService.getById(orderGoods.getOrderGoodsId());
                     String businessName = oldOrderGoods.getBusinessFullName();
                     String businessName = oldOrderGoods.getBusinessFullName();
-                    List<TopCostTpItemVo> items = itemList.stream().filter(x -> {
-                        TopCourseEducationType education = topCourseEducationTypeService.getById(x.getEducationTypeId());
-                        TopCourseProjectType projectType = topCourseProjectTypeService.getById(x.getProjectId());
-                        TopCourseBusiness business = topCourseBusinessService.getById(x.getBusinessId());
-                        String name = education.getSchemeName() + education.getEducationName() + business.getBusinessName() + projectType.getProjectName();
-                        if (name.equals(businessName)) {
+                    //业务层次过滤
+                    List<TopCostTpItemVo> items = itemList.stream().filter(item -> {
+                        //教育类型不限
+                        if (item.getEducationTypeId() == -1){return true;}
+
+                        TopCourseEducationType educationType = topCourseEducationTypeService.getById(item.getEducationTypeId());
+                        if (!businessName.contains(educationType.getEducationName()) && !businessName.contains(educationType.getSchemeName())){
+                            //教育类型匹配失败
+                            return false;
+                        }
+                        //项目类型和业务层次
+                        if (item.getProjectId() == -1 && item.getBusinessId() == -1){
+                            return true;
+                        }
+//                        TopCourseProjectType projectType = topCourseProjectTypeService.getById(item.getProjectId());
+                        TopCourseBusiness business = topCourseBusinessService.getById(item.getBusinessId());
+//                        if (businessName.contains(projectType.getProjectName()) && businessName.contains(business.getBusinessName())){
+//                            return true;
+//                        }
+                        if (businessName.contains(business.getOldBusinessName())){
                             return true;
                             return true;
                         }
                         }
                         return false;
                         return false;
@@ -2551,10 +2767,14 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                         continue;
                         continue;
                     }
                     }
                     //根据订单金额匹配成本阶梯
                     //根据订单金额匹配成本阶梯
-                    List<TopCostTpItemVo> 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());
+                    List<TopCostTpItemVo> tpItems = new ArrayList<>();
+                    for (TopCostTpItemVo x : items) {
+                        if ((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)){
+                            tpItems.add(x);
+                        }
+                    }
                     if (CollectionUtils.isEmpty(tpItems)) {
                     if (CollectionUtils.isEmpty(tpItems)) {
                         //匹配不到成本项阶梯值
                         //匹配不到成本项阶梯值
                         continue;
                         continue;
@@ -2568,6 +2788,22 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                     BigDecimal cost = new BigDecimal("0.00");//成本
                     BigDecimal cost = new BigDecimal("0.00");//成本
                     BigDecimal profit = new BigDecimal("0.00"); //盈亏
                     BigDecimal profit = new BigDecimal("0.00"); //盈亏
                     BigDecimal bigDecimal = new BigDecimal("100");
                     BigDecimal bigDecimal = new BigDecimal("100");
+                    if (topCostTpItem.getDockStatus() == 1){
+                        //启用成本扣除项
+                        switch (topCostTpItem.getDockType()){
+                            case 1://百分比
+                                //成本扣除金额
+                                BigDecimal divide = topCostTpItem.getDockValue().divide(bigDecimal);
+                                BigDecimal multiply = goodsPrice.multiply(divide);
+                                goodsPrice = goodsPrice.subtract(multiply);
+                                break;
+                            case 2://固定金额
+                                goodsPrice = goodsPrice.subtract(topCostTpItem.getDockValue());
+                                break;
+                            default:
+                                break;
+                        }
+                    }
                     switch (topCostTpItem.getItemType()) {
                     switch (topCostTpItem.getItemType()) {
                         case 1://百分比
                         case 1://百分比
                             BigDecimal divide = topCostTpItem.getTypeValue().divide(bigDecimal);
                             BigDecimal divide = topCostTpItem.getTypeValue().divide(bigDecimal);
@@ -2643,9 +2879,61 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         }
         }
         TopOldOrder order = getOne(new LambdaQueryWrapper<TopOldOrder>()
         TopOldOrder order = getOne(new LambdaQueryWrapper<TopOldOrder>()
                 .eq(TopOldOrder::getOrderSn, bankPay.getOrderSn()).last("limit 1"));
                 .eq(TopOldOrder::getOrderSn, bankPay.getOrderSn()).last("limit 1"));
-        if(Validator.isEmpty(order)||order.getDivideStatus()!=6){
+        if(Validator.isEmpty(order)){
            throw new CustomException("订单非法操作");
            throw new CustomException("订单非法操作");
         }
         }
+        if (bankPay.getType() == 2){
+            //退款
+            List<TopOldOrderRefund> list = topOldOrderRefundService
+                    .list(new LambdaQueryWrapper<TopOldOrderRefund>()
+                    .eq(TopOldOrderRefund::getOrderSn, order.getOrderSn())
+                    .eq(TopOldOrderRefund::getPeriodStatus, 4)
+                    .eq(TopOldOrderRefund::getStatus, 1));
+           switch (bo.getStatus()){
+               case 0://支付失败
+                   bankPay.setResultStatus(-1);
+                   list.forEach(x -> x.setPeriodStatus(5));//支付失败
+                   topOldOrderRefundService.updateBatchById(list);
+                   topOrderGoodsService.update(new LambdaUpdateWrapper<TopOldOrderGoods>()
+                   .set(TopOldOrderGoods::getRefundStatus,4)
+                   .in(TopOldOrderGoods::getOrderGoodsId,list.stream().map(TopOldOrderRefund::getOrderGoodsId).collect(Collectors.toList())));
+                   order.setRefundStatus(6);//支付失败
+                   break;
+               case 1://支付成功
+                   bankPay.setResultStatus(1);
+                   list.forEach(x -> x.setPeriodStatus(3));//支付成功
+                   topOldOrderRefundService.updateBatchById(list);
+                   topOrderGoodsService.update(new LambdaUpdateWrapper<TopOldOrderGoods>()
+                           .set(TopOldOrderGoods::getRefundStatus,2) //支付成功
+                           .in(TopOldOrderGoods::getOrderGoodsId,list.stream().map(TopOldOrderRefund::getOrderGoodsId).collect(Collectors.toList())));
+                   order.setRefundStatus(3);//支付成功
+                   //已退金额
+                   BigDecimal add = BigDecimal.ZERO;
+                   BigDecimal reduce = list.stream().map(TopOldOrderRefund::getRefundFee).reduce(BigDecimal.ZERO, BigDecimal::add);
+                   if (ObjectUtils.isNotNull(order.getOrderRefunded())){
+                       add = order.getOrderRefunded().add(reduce);
+                   }else {
+                       add = reduce;
+                   }
+                   order.setOrderRefunded(add);//已退金额
+                   break;
+               default:
+                   break;
+           }
+            iTopOrderBankPayService.updateById(bankPay);
+            order.setUpdateTime(DateUtils.getNowTime());
+            updateById(order);
+            //订单在新系统 处理订单
+            if (bo.getStatus() == 1 && order.getOrderBase() == 1 && ObjectUtils.isNotNull(order.getInputOrderSn())){
+                handleRefundOrder(list,order.getInputOrderSn(),order.getTenantId().toString());
+            }
+            checkInform(order.getOrderSn(),list.get(0).getType(),"",1,1,bo.getStatus() == 1?"已支付":"支付失败");
+            return true;
+        }
+
+        if(order.getDivideStatus()!=6){
+            throw new CustomException("订单非法操作");
+        }
         if(bo.getStatus()==1){
         if(bo.getStatus()==1){
             bankPay.setResultStatus(1);
             bankPay.setResultStatus(1);
             order.setDivideStatus(7);
             order.setDivideStatus(7);

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopCourseBusinessVo.java

@@ -28,6 +28,10 @@ public class TopCourseBusinessVo {
 	@Excel(name = "业务名称")
 	@Excel(name = "业务名称")
 	@ApiModelProperty("业务名称")
 	@ApiModelProperty("业务名称")
 	private String businessName;
 	private String businessName;
+	/** 旧系统业务名称 */
+	@Excel(name = "旧系统业务名称")
+	@ApiModelProperty("旧系统业务名称")
+	private String oldBusinessName;
 	/** 备注 */
 	/** 备注 */
 	@Excel(name = "备注")
 	@Excel(name = "备注")
 	@ApiModelProperty("备注")
 	@ApiModelProperty("备注")

+ 1 - 14
zhongzheng-system/src/main/resources/mapper/modules/top/TopCostTpItemMapper.xml

@@ -45,19 +45,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                          AND ( INSTR( #{businessFullName}, cet.education_name ) > 0 AND INSTR( #{businessFullName}, cet.scheme_name ) > 0 )
                          AND ( INSTR( #{businessFullName}, cet.education_name ) > 0 AND INSTR( #{businessFullName}, cet.scheme_name ) > 0 )
                    ) > 0
                    ) > 0
             )
             )
-          AND (
-                fct.project_id = - 1
-                OR (
-                       SELECT
-                           COUNT( cpt.id )
-                       FROM
-                           top_course_project_type cpt
-                       WHERE
-                           cpt.id = fct.project_id
-                         AND cpt.`status` = 1
-                         AND INSTR( #{businessFullName}, cpt.project_name ) > 0
-                   ) > 0
-            )
           AND (
           AND (
                 fct.business_id = - 1
                 fct.business_id = - 1
                 OR (
                 OR (
@@ -68,7 +55,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                        WHERE
                        WHERE
                            cb.id = fct.business_id
                            cb.id = fct.business_id
                          AND cb.`status` = 1
                          AND cb.`status` = 1
-                         AND INSTR( #{businessFullName}, cb.business_name ) > 0
+                         AND INSTR( #{businessFullName}, cb.old_business_name ) > 0
                    ) > 0
                    ) > 0
             )
             )
     </select>
     </select>