yangdamao 1 year ago
parent
commit
9f7278ada0

+ 18 - 0
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/order/TopSharedCustomerController.java

@@ -94,4 +94,22 @@ public class TopSharedCustomerController extends BaseController {
     public TableDataInfo<TopConversionRateDataVo> getCustomerOrderData(TopOrderStatisticsBo bo) {
         return iTopOldOrderService.getCustomerOrderData(bo);
     }
+
+    /**
+     * 公海客户机构列表
+     */
+    @ApiOperation("公海客户机构列表")
+    @GetMapping("/tenant")
+    public AjaxResult<List<TopTenantDataVo>> getTenantListData() {
+        return AjaxResult.success(iTopOldOrderService.getTenantListData());
+    }
+
+    /**
+     * 公海客户业务员列表
+     */
+    @ApiOperation("公海客户业务员列表")
+    @GetMapping("/sale")
+    public AjaxResult<List<TopTenantDataVo>> getSaleListData(TopOrderStatisticsBo bo) {
+        return AjaxResult.success(iTopOldOrderService.getSaleListData(bo));
+    }
 }

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

@@ -196,6 +196,8 @@ shared:
     rateData: http://gdxypx.xy.com//WitSystem/BussinessApi/CustomerConversionRateData
     rateTrend: http://gdxypx.xy.com/WitSystem/BussinessApi/CustomerConversionRateTrendData
     customerOrder: http://gdxypx.xy.com/WitSystem/BussinessApi/CustomerOrderData
+    tenantData: http://gdxypx.xy.com/witsystem/bussinessapi/GetOrgList
+    saleData: http://gdxypx.xy.com/witsystem/bussinessapi/GetSaleListByOrgId
 
 ZsBank:
     publickey: BNsIe9U0x8IeSe4h/dxUzVEz9pie0hDSfMRINRXc7s1UIXfkExnYECF4QqJ2SnHxLv3z/99gsfDQrQ6dzN5lZj0=

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

@@ -197,6 +197,8 @@ shared:
     rateData: http://gdxypx.xy.com//WitSystem/BussinessApi/CustomerConversionRateData
     rateTrend: http://gdxypx.xy.com/WitSystem/BussinessApi/CustomerConversionRateTrendData
     customerOrder: http://gdxypx.xy.com/WitSystem/BussinessApi/CustomerOrderData
+    tenantData: http://gdxypx.xy.com/witsystem/bussinessapi/GetOrgList
+    saleData: http://gdxypx.xy.com/witsystem/bussinessapi/GetSaleListByOrgId
 
 ZsBank:
     publickey: BNsIe9U0x8IeSe4h/dxUzVEz9pie0hDSfMRINRXc7s1UIXfkExnYECF4QqJ2SnHxLv3z/99gsfDQrQ6dzN5lZj0=

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

@@ -199,6 +199,8 @@ shared:
     rateData: http://gdxypx.xy.com//WitSystem/BussinessApi/CustomerConversionRateData
     rateTrend: http://gdxypx.xy.com/WitSystem/BussinessApi/CustomerConversionRateTrendData
     customerOrder: http://gdxypx.xy.com/WitSystem/BussinessApi/CustomerOrderData
+    tenantData: http://gdxypx.xy.com/witsystem/bussinessapi/GetOrgList
+    saleData: http://gdxypx.xy.com/witsystem/bussinessapi/GetSaleListByOrgId
 
 ZsBank:
     publickey: BNsIe9U0x8IeSe4h/dxUzVEz9pie0hDSfMRINRXc7s1UIXfkExnYECF4QqJ2SnHxLv3z/99gsfDQrQ6dzN5lZj0=

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

@@ -183,6 +183,15 @@ public class TopOldOrderAddBo {
     @ApiModelProperty("佣金")
     private BigDecimal brokerage;
 
+    @ApiModelProperty("佣金支付类型:1微信 4现金 5网银")
+    private Integer brokerageType;
+    @ApiModelProperty("银行账号")
+    private String brokerageBankAccount;
+    @ApiModelProperty("账号名称")
+    private String brokerageBankName;
+    @ApiModelProperty("账号名称")
+    private String brokerageBank;
+
     @ApiModelProperty("下单企业")
     private String purchaseOrg;
 

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

@@ -163,4 +163,7 @@ public class TopOldOrderQueryBo extends BaseEntity {
 
 	@ApiModelProperty("预付超期时间戳")
 	private Long overPayDayTime;
+
+	@ApiModelProperty("下单客户")
+	private String purchaseOrg;
 }

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

@@ -130,6 +130,14 @@ private static final long serialVersionUID=1L;
     private BigDecimal pretax;
     /** 佣金 */
     private BigDecimal brokerage;
+    /** 佣金支付类型:1微信 4现金 5网银 */
+    private Integer brokerageType;
+    /** 奖金支付银行账号 */
+    private String brokerageBankAccount;
+    /** 奖金支付账号名称 */
+    private String brokerageBankName;
+    /** 奖金支付银行名称 */
+    private String brokerageBank;
     /** 待扣分成钱 */
     private BigDecimal deductDivideMoney;
     /** 开户银行 */

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

@@ -188,4 +188,8 @@ public interface ITopOldOrderService extends IService<TopOldOrder> {
 	List<TopOrderStatisticsTwoVo> getTenantCreateList(TopOrderStatisticsViewBo bo);
 
     TableDataInfo<TopConversionRateDataVo> getCustomerOrderData(TopOrderStatisticsBo bo);
+
+	List<TopTenantDataVo> getTenantListData();
+
+	List<TopTenantDataVo> getSaleListData(TopOrderStatisticsBo bo);
 }

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

@@ -283,6 +283,12 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
     @Value("${shared.customerOrder}")
     private String SHARED_CUSTOMER_ORDER;
 
+    @Value("${shared.tenantData}")
+    private String SHARED_TENANT_DATA;
+
+    @Value("${shared.saleData}")
+    private String SHARED_SALE_DATA;
+
 
     @Override
     public TopOldOrderVo queryById(String orderSn) {
@@ -322,10 +328,41 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         if (ObjectUtils.isNotNull(checkLog)) {
             orderVo.setCheckReason(checkLog.getCheckReason());
         }
+        //奖金状态
+        TopOldOrderCheckLog brokerageCheck = topOldOrderCheckLogService
+                .getOne(new LambdaQueryWrapper<TopOldOrderCheckLog>()
+                        .eq(TopOldOrderCheckLog::getOrderSn, orderSn)
+                        .eq(TopOldOrderCheckLog::getCheckFrom, 4)//奖金审核
+                        .eq(TopOldOrderCheckLog::getCheckSign, 1)
+                        .last("limit 1"));
+        if (ObjectUtils.isNotNull(brokerageCheck)) {
+            orderVo.setBrokerageCheck(brokerageCheck.getCheckStatus());
+        }
+        //发票金额
+        List<TopNuoMplatformLog> fromLogs = topNuoMplatformLogService
+                .list(new LambdaQueryWrapper<TopNuoMplatformLog>()
+                .like(TopNuoMplatformLog::getOrderNoList, orderVo.getOrderSn())
+                .eq(TopNuoMplatformLog::getStatus, 2));
+        if (CollectionUtils.isNotEmpty(fromLogs)){
+            BigDecimal invoiceTotal = BigDecimal.ZERO;
+            for (TopNuoMplatformLog fromLog : fromLogs) {
+                OrderInvoiceBo invoiceBo = JSONObject.parseObject(fromLog.getContent(), OrderInvoiceBo.class);
+                if (ObjectUtils.isNotNull(invoiceBo)){
+                    BigDecimal price = invoiceBo.getInvoiceDetail().getPrice();
+                    invoiceTotal = invoiceTotal.add(price);
+                }
+                orderVo.setInvoiceDate(invoiceBo.getInvoiceDate());
+            }
+            orderVo.setInvoiceMoney(invoiceTotal);
+            orderVo.setInvoiceStatus(1);
+        }else {
+            orderVo.setInvoiceStatus(0);
+        }
 
         return orderVo;
     }
 
+    @Override
     public List<String> queryOrderBusinessName(String orderSn){
         return baseMapper.queryBusinessBySn(orderSn);
     }
@@ -964,9 +1001,10 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                 }
                 //订单补款
                 if (ObjectUtils.isNotNull(orderGoods.getRepairMoney()) && orderGoods.getRepairMoney().compareTo(BigDecimal.ZERO) > 0){
-
+                    repairMoneyTotal = repairMoneyTotal.add(orderGoods.getRepairMoney());
                 }
             }
+            order.setRepairMoneyTotal(repairMoneyTotal);
             if (CollectionUtils.isNotEmpty(add)) {
                 topOrderGoodsService.saveBatch(add);
             }
@@ -2940,7 +2978,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         if (ObjectUtils.isNotNull(bo.getTenantId())){
             params.put("orgid", bo.getTenantId().toString());
         }else {
-            params.put("orgid", "1");
+            params.put("orgid", "0");
         }
         if (ObjectUtils.isNotNull(bo.getStartTime())){
             params.put("begintime", DateUtils.timestampToDateFormat(bo.getStartTime(),"yyyy/MM/dd"));
@@ -2948,8 +2986,8 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         if (ObjectUtils.isNotNull(bo.getEndTime())){
             params.put("endtime", DateUtils.timestampToDateFormat(bo.getEndTime(),"yyyy/MM/dd"));
         }
-        if (ObjectUtils.isNotNull(bo.getCustomerId())){
-            params.put("saleid", bo.getCustomerId().toString());
+        if (ObjectUtils.isNotNull(bo.getCreateNo())){
+            params.put("saleid", bo.getCreateNo());
         }else {
             params.put("saleid", "0");
         }
@@ -3014,10 +3052,10 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         if (ObjectUtils.isNotNull(bo.getTenantId())){
             params.put("orgid", bo.getTenantId().toString());
         }else {
-            params.put("orgid", "1");
+            params.put("orgid", "0");
         }
-        if (ObjectUtils.isNotNull(bo.getCustomerId())){
-            params.put("saleId", bo.getCustomerId().toString());
+        if (ObjectUtils.isNotNull(bo.getCreateNo())){
+            params.put("saleId", bo.getCreateNo());
         }else {
             params.put("saleId", "0");
         }
@@ -3067,10 +3105,10 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         if (ObjectUtils.isNotNull(bo.getTenantId())){
             params.put("orgid", bo.getTenantId().toString());
         }else {
-            params.put("orgid", "1");
+            params.put("orgid", "0");
         }
-        if (ObjectUtils.isNotNull(bo.getCustomerId())){
-            params.put("saleid", bo.getCustomerId().toString());
+        if (ObjectUtils.isNotNull(bo.getCreateNo())){
+            params.put("saleid", bo.getCreateNo());
         }else {
             params.put("saleid", "0");
         }
@@ -3126,10 +3164,10 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         if (ObjectUtils.isNotNull(bo.getTenantId())){
             params.put("orgid", bo.getTenantId().toString());
         }else {
-            params.put("orgid", "1");
+            params.put("orgid", "0");
         }
-        if (ObjectUtils.isNotNull(bo.getCustomerId())){
-            params.put("saleid", bo.getCustomerId().toString());
+        if (ObjectUtils.isNotNull(bo.getCreateNo())){
+            params.put("saleid", bo.getCreateNo());
         }else {
             params.put("saleid", "0");
         }
@@ -3501,8 +3539,8 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         }else {
             params.put("orgid", "1");
         }
-        if (ObjectUtils.isNotNull(bo.getCustomerId())){
-            params.put("saleid", bo.getCustomerId().toString());
+        if (ObjectUtils.isNotNull(bo.getCreateNo())){
+            params.put("saleid", bo.getCreateNo());
         }else {
             params.put("saleid", "0");
         }
@@ -3782,8 +3820,8 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         }else {
             params.put("orgid", "1");
         }
-        if (ObjectUtils.isNotNull(bo.getCustomerId())){
-            params.put("saleid", bo.getCustomerId().toString());
+        if (ObjectUtils.isNotNull(bo.getCreateNo())){
+            params.put("saleid", bo.getCreateNo());
         }else {
             params.put("saleid", "0");
         }
@@ -3818,6 +3856,65 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         return tableDataInfo;
     }
 
+    @Override
+    public List<TopTenantDataVo> getTenantListData() {
+        List<TopTenantDataVo> dataVos = new ArrayList<>();
+
+        Map<String, String> params = new HashMap<>();
+        Long nowTime = DateUtils.getNowTime();
+        String sign = ToolsUtils.EncoderByMd5(nowTime.toString() + "pubilc2022");
+        params.put("stamp", nowTime.toString());
+        params.put("sign", sign);
+        String respone = "";
+        try {
+            respone = HttpUtils.postFormBody(SHARED_TENANT_DATA, params);
+            if (!respone.contains("\"Status\":true")) {
+                throw new CustomException("公海客户机构接口错误");
+            }
+            JSONObject jsonObject = JSONObject.parseObject(respone);
+            Object data = jsonObject.get("Data");
+            if (ObjectUtils.isNotNull(data)){
+                dataVos = JSONArray.parseArray(JSONObject.toJSONString(data), TopTenantDataVo.class);
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            throw new CustomException("公海客户机构接口错误");
+        }
+        return dataVos;
+    }
+
+    @Override
+    public List<TopTenantDataVo> getSaleListData(TopOrderStatisticsBo bo) {
+        List<TopTenantDataVo> dataVos = new ArrayList<>();
+
+        Map<String, String> params = new HashMap<>();
+        Long nowTime = DateUtils.getNowTime();
+        String sign = ToolsUtils.EncoderByMd5(nowTime.toString() + "pubilc2022");
+        params.put("stamp", nowTime.toString());
+        params.put("sign", sign);
+        if (ObjectUtils.isNotNull(bo.getTenantId())){
+            params.put("orgid", bo.getTenantId().toString());
+        }else {
+            params.put("orgid", "1");
+        }
+        String respone = "";
+        try {
+            respone = HttpUtils.postFormBody(SHARED_SALE_DATA, params);
+            if (!respone.contains("\"Status\":true")) {
+                throw new CustomException("公海客户机构接口错误");
+            }
+            JSONObject jsonObject = JSONObject.parseObject(respone);
+            Object data = jsonObject.get("Data");
+            if (ObjectUtils.isNotNull(data)){
+                dataVos = JSONArray.parseArray(JSONObject.toJSONString(data), TopTenantDataVo.class);
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            throw new CustomException("公海客户机构接口错误");
+        }
+        return dataVos;
+    }
+
     private List<Long> getDayTime(Long startTime,Long endTime){
         List<Long> tiemList = new ArrayList<>();
         Long zeroTime = DateUtils.getScheduleTimeZeroTime(startTime);
@@ -4815,6 +4912,29 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         if (ObjectUtils.isNull(order.getPretaxBrokerage()) || order.getBrokerage().compareTo(BigDecimal.ZERO) <= 0){
             return;
         }
+        //佣金支付方式
+        String paySn = DateUtils.getTagOrderSn("CP");
+        TopOrderBankPay bankPay = new TopOrderBankPay();
+        bankPay.setOrderSn(order.getOrderSn());
+        bankPay.setPaySn(paySn);
+        bankPay.setTenantId(order.getTenantId().toString());
+        bankPay.setType(4);
+        if (ObjectUtils.isNotNull(order.getBrokerageBankAccount())){
+            bankPay.setToBankAcount(order.getBrokerageBankAccount());
+        }
+        if (ObjectUtils.isNotNull(order.getBrokerageBankName())){
+            bankPay.setToBankName(order.getBrokerageBankName());
+        }
+        if (ObjectUtils.isNotNull(order.getBrokerageBank())){
+            bankPay.setToBankTypeName(order.getBrokerageBank());
+        }
+        bankPay.setMoney(order.getBrokerage());
+        bankPay.setTrainOrgId(order.getTenantId().toString());
+        bankPay.setCreateTime(DateUtils.getNowTime());
+        bankPay.setUpdateTime(DateUtils.getNowTime());
+        bankPay.setStatus(1);
+        bankPay.setPayType(order.getBrokerageType());
+        topOrderBankPayService.save(bankPay);
         List<TopOldOrderCheckLog> list = topOldOrderCheckLogService.list(new LambdaQueryWrapper<TopOldOrderCheckLog>()
                 .eq(TopOldOrderCheckLog::getOrderSn, order.getOrderSn())
                 .eq(TopOldOrderCheckLog::getCheckFrom, 4)

+ 11 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopOldOrderVo.java

@@ -222,7 +222,7 @@ public class TopOldOrderVo {
 	@ApiModelProperty("业务员分成钱")
 	private BigDecimal divideSellerMoney;
 	/** 分成审核状态 1正常 2待审核 3审核中  4审核不通过 5审核通过待支付 6已支付 */
-	@ApiModelProperty("分成审核状态 1正常 2待审核 3审核中  4审核不通过 5审核通过待支付 6已支付")
+	@ApiModelProperty("分成审核状态 1正常 2待审核 3审核中  4审核不通过 5审核通过待支付 6支付中 7已支付 8支付失败")
 	private Integer divideStatus;
 
 	@ApiModelProperty("角色名称")
@@ -295,4 +295,14 @@ public class TopOldOrderVo {
 
 	@ApiModelProperty("认款金额")
 	private BigDecimal acceptanceMoney;
+	@ApiModelProperty("佣金支付类型:1微信 4现金 5网银")
+	private Integer brokerageType;
+	@ApiModelProperty("状态:0待审核,1已通过,-1未通过,2待支付,3已支付 4审核中(非自己待审核显示审核中) 5支付失败(佣金结算) 6支付中")
+	private Integer brokerageCheck;
+
+	@ApiModelProperty("发票金额")
+	private BigDecimal invoiceMoney;
+
+	@ApiModelProperty("发票申请时间")
+	private String invoiceDate;
 }

+ 22 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/order/vo/TopTenantDataVo.java

@@ -0,0 +1,22 @@
+package com.zhongzheng.modules.top.order.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author yangdamao
+ * @date 2023年10月31日 14:50
+ */
+@Data
+public class TopTenantDataVo implements Serializable {
+
+    @ApiModelProperty("ID")
+    private Long id;
+
+    @ApiModelProperty("名称")
+    private String name;
+
+
+}

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

@@ -121,6 +121,12 @@
         <if test="orderOrg != null and orderOrg != ''">
             AND vto.order_org LIKE CONCAT( '%', #{orderOrg}, '%' )
         </if>
+        <if test="purchaseOrg != null and purchaseOrg != ''">
+            AND vto.purchase_org LIKE CONCAT( '%', #{purchaseOrg}, '%' )
+        </if>
+        <if test="createNo != null and createNo != ''">
+            AND vto.create_no LIKE CONCAT( '%', #{createNo}, '%' )
+        </if>
         <if test="startTime != null and startTime != ''">
             AND vto.buy_time <![CDATA[ >= ]]> #{startTime}
         </if>
@@ -194,6 +200,12 @@
         <if test="orderOrg != null and orderOrg != ''">
             AND ot.order_org LIKE CONCAT( '%', #{orderOrg}, '%' )
         </if>
+        <if test="purchaseOrg != null and purchaseOrg != ''">
+            AND vto.purchase_org LIKE CONCAT( '%', #{purchaseOrg}, '%' )
+        </if>
+        <if test="createNo != null and createNo != ''">
+            AND vto.create_no LIKE CONCAT( '%', #{createNo}, '%' )
+        </if>
         <if test="checkStartTime != null and checkStartTime != ''">
             AND ot.check_time <![CDATA[ >= ]]> #{checkStartTime}
         </if>
@@ -601,7 +613,7 @@
         WHERE INSTR(business_full_name, #{businessName}) > 0
     </select>
 
-    <select id="getOrderInvoiceList" parameterType="com.zhongzheng.modules.top.goods.vo.TopOldOrderInvoiceVo" resultType="java.lang.String">
+    <select id="getOrderInvoiceList" parameterType="com.zhongzheng.modules.top.goods.vo.TopOldOrderInvoiceVo" resultType="com.zhongzheng.modules.top.goods.vo.TopOldOrderInvoiceVo">
         SELECT
             create_time AS applyUpTime,
             `status` AS invoiceStatus,