Browse Source

add payTime

he2802 2 năm trước cách đây
mục cha
commit
eb1007a626

+ 19 - 4
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/financial/TopDivideLogController.java

@@ -57,8 +57,8 @@ public class TopDivideLogController extends BaseController {
      */
     @ApiOperation("查询机构分成记录列表")
     @PreAuthorize("@ss.hasPermi('system:log:list')")
-    @GetMapping("/companyList")
-    public TableDataInfo<TopDivideLogVo> getCompanyList(TopDivideLogQueryBo bo) {
+    @PostMapping("/companyList")
+    public TableDataInfo<TopDivideLogVo> getCompanyList(@RequestBody TopDivideLogQueryBo bo) {
         startPage();
         List<TopDivideLogVo> list = iTopDivideLogService.getCompanyList(bo);
         return getDataTable(list);
@@ -77,8 +77,8 @@ public class TopDivideLogController extends BaseController {
 
     @ApiOperation("查询业务员提成列表")
     @PreAuthorize("@ss.hasPermi('system:log:list')")
-    @GetMapping("/sellerList")
-    public TableDataInfo<TopDivideLogVo> getSellerList(TopDivideLogQueryBo bo) {
+    @PostMapping("/sellerList")
+    public TableDataInfo<TopDivideLogVo> getSellerList(@RequestBody TopDivideLogQueryBo bo) {
         startPage();
         List<TopDivideLogVo> list = iTopDivideLogService.getSellerList(bo);
         return getDataTable(list);
@@ -115,6 +115,14 @@ public class TopDivideLogController extends BaseController {
         return AjaxResult.success(list);
     }
 
+    @ApiOperation("查询打印月份订单列表")
+    @PreAuthorize("@ss.hasPermi('system:log:list')")
+    @GetMapping("/monthOrderListWithPrint")
+    public AjaxResult<List<TopDivideOrderVo>> getMonthOrderListWithPrint(TopDivideOrderQueryBo bo) {
+        List<TopDivideOrderVo> list = iTopDivideOrderService.getMonthOrderListWithPrint(bo);
+        return AjaxResult.success(list);
+    }
+
     /**
      * 获取分成记录详细信息
      */
@@ -124,4 +132,11 @@ public class TopDivideLogController extends BaseController {
     public AjaxResult<TopDivideLogVo> getInfo(@PathVariable("id" ) Long id) {
         return AjaxResult.success(iTopDivideLogService.queryById(id));
     }
+
+    @ApiOperation("获取分成记录单据打印详细信息")
+    @PreAuthorize("@ss.hasPermi('system:log:query')")
+    @GetMapping("/withPrint/{id}")
+    public AjaxResult<TopDivideLogVo> getInfoWithPrint(@PathVariable("id" ) Long id) {
+        return AjaxResult.success(iTopDivideLogService.queryByIdWithPrint(id));
+    }
 }

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/alisms/service/impl/AliSmsServiceImpl.java

@@ -92,6 +92,12 @@ public class AliSmsServiceImpl implements IAliSmsService {
         try{
             SendSmsResponse response = SmsUtils.sendSms(tel,SIGNNAME,code,param,ACCESSKEYID,ACCESSKEYSECRET);
             if(response.getBody().getMessage().equals("OK")){
+                SmsAddBo smsAddBo = new SmsAddBo();
+                smsAddBo.setCode(code);
+                smsAddBo.setTel(tel);
+                smsAddBo.setType(6L);
+                smsAddBo.setIp(IpUtils.getIpAddr(ServletUtils.getRequest()));
+                iSmsService.insertByAddBo(smsAddBo);
                 return new ResultBean(response);
             }
             return null;

+ 10 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/bo/TopDivideLogQueryBo.java

@@ -57,8 +57,10 @@ public class TopDivideLogQueryBo extends BaseEntity {
 	@ApiModelProperty("类型 1机构分成 2业务员提成  3佣金结算")
 	private Integer divideType;
 	/** 1已打款 0未打款 */
-	@ApiModelProperty("1已打款 0未打款")
-	private Integer payStatus;
+	@ApiModelProperty("1已打款 0待支付 2待审核 3打款中 4打款失败 5审核中")
+	private List<Integer> payStatus;
+	@ApiModelProperty("重写审核状态:1待审核 2审核中")
+	private Integer reCheckStatus;
 	/** 待扣分成(元),待扣提成(元) */
 	@ApiModelProperty("待扣分成(元),待扣提成(元)")
 	private BigDecimal deductMoney;
@@ -90,4 +92,10 @@ public class TopDivideLogQueryBo extends BaseEntity {
 
 	@ApiModelProperty("非支付状态")
 	private Integer notPayStatus;
+
+	@ApiModelProperty("角色ID列表")
+	private List<Long> roleIds;
+
+	@ApiModelProperty("机构ID")
+	private List<String> tenantIds;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/mapper/TopDivideOrderMapper.java

@@ -24,6 +24,8 @@ public interface TopDivideOrderMapper extends BaseMapper<TopDivideOrder> {
 
     List<TopDivideOrderVo> getRefundList(TopDivideOrderQueryBo bo);
 
+    List<String> getBusinessList(String orderSn);
+
     List<TopDivideOrderVo> getMonthFinishList(TopDivideOrderQueryBo bo);
 
     List<TopDivideOrderVo> getMonthCreditList(TopDivideOrderQueryBo bo);

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

@@ -26,6 +26,8 @@ public interface ITopDivideLogService extends IService<TopDivideLog> {
 	 */
 	TopDivideLogVo queryById(Long id);
 
+	TopDivideLogVo queryByIdWithPrint(Long id);
+
 	/**
 	 * 查询列表
 	 */

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

@@ -57,6 +57,8 @@ public interface ITopDivideOrderService extends IService<TopDivideOrder> {
 
 	List<TopDivideOrderVo> getMonthOrderList(TopDivideOrderQueryBo bo);
 
+	List<TopDivideOrderVo> getMonthOrderListWithPrint(TopDivideOrderQueryBo bo);
+
 	List<TopDivideOrderVo> getMonthFinishList(TopDivideOrderQueryBo bo);
 
 	List<TopDivideOrderVo> getMonthCreditList(TopDivideOrderQueryBo bo);

+ 79 - 24
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/service/impl/TopDivideLogServiceImpl.java

@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.modules.order.domain.OrderGoods;
 import com.zhongzheng.modules.system.bo.SysTenantBadBillConfigBo;
 import com.zhongzheng.modules.system.service.ISysTenantService;
 import com.zhongzheng.modules.system.vo.SysTenantVo;
@@ -19,6 +20,8 @@ import com.zhongzheng.modules.top.financial.service.ITopCostTpItemService;
 import com.zhongzheng.modules.top.financial.service.ITopDivideLogService;
 import com.zhongzheng.modules.top.financial.vo.TopDivideLogVo;
 import com.zhongzheng.modules.top.goods.domain.TopOldOrder;
+import com.zhongzheng.modules.top.order.domain.TopOrderBankPay;
+import com.zhongzheng.modules.top.order.service.ITopOrderBankPayService;
 import com.zhongzheng.modules.top.user.domain.TopSysConfig;
 import com.zhongzheng.modules.top.user.service.ITopSysConfigService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -46,6 +49,9 @@ public class TopDivideLogServiceImpl extends ServiceImpl<TopDivideLogMapper, Top
     @Autowired
     private ISysTenantService iSysTenantService;
 
+    @Autowired
+    private ITopOrderBankPayService iTopOrderBankPayService;
+
     @Override
     public TopDivideLogVo queryById(Long id){
         TopDivideLog db = this.baseMapper.selectById(id);
@@ -55,6 +61,25 @@ public class TopDivideLogServiceImpl extends ServiceImpl<TopDivideLogMapper, Top
         return divideLogVo;
     }
 
+    @Override
+    public TopDivideLogVo queryByIdWithPrint(Long id) {
+        TopDivideLog db = this.baseMapper.selectById(id);
+        if(db.getPayStatus()==1){
+            TopOrderBankPay bankPay = iTopOrderBankPayService.getOne(new LambdaQueryWrapper<TopOrderBankPay>()
+                    .eq(TopOrderBankPay::getDivideLogId, id).eq(TopOrderBankPay::getResultStatus, 1)
+                    .eq(TopOrderBankPay::getType, 1));
+            TopDivideLogVo divideLogVo = BeanUtil.toBean(db, TopDivideLogVo.class);
+            divideLogVo.setToBankAcount(bankPay.getToBankAcount());
+            divideLogVo.setToBankName(bankPay.getToBankName());
+            divideLogVo.setToBankTypeName(bankPay.getToBankTypeName());
+            SysTenantVo tenantVo = iSysTenantService.queryById(Long.parseLong(db.getTenantId()));
+            divideLogVo.setTenantName(tenantVo.getTenantName());
+            divideLogVo.setBillType(tenantVo.getBillType());
+            return divideLogVo;
+        }
+        return null;
+    }
+
     @Override
     public List<TopDivideLogVo> queryList(TopDivideLogQueryBo bo) {
         LambdaQueryWrapper<TopDivideLog> lqw = Wrappers.lambdaQuery();
@@ -125,20 +150,35 @@ public class TopDivideLogServiceImpl extends ServiceImpl<TopDivideLogMapper, Top
 
     @Override
     public List<TopDivideLogVo> getCompanyList(TopDivideLogQueryBo bo) {
+        if(Validator.isNotEmpty(bo.getPayStatus())){
+            List<Integer> payStatus = new ArrayList<>();
+            for(Integer status : bo.getPayStatus()){
+                if(status==2){
+                    bo.setReCheckStatus(1);
+                }
+                else if(status==5){
+                    bo.setReCheckStatus(2);
+                }
+                else{
+                    payStatus.add(status);
+                }
+            }
+            bo.setPayStatus(payStatus);
+        }
         if(Validator.isNotEmpty(bo.getOverPayDay())){
             bo.setNotPayStatus(1);
-        }
-        if(bo.getOverPayDay()==1){
-            bo.setOverPayDayTime(DateUtils.getNowTime()-(7*24*3600));
-        }
-        else if(bo.getOverPayDay()==2){
-            bo.setOverPayDayTime(DateUtils.getNowTime()-(30*24*3600));
-        }
-        else if(bo.getOverPayDay()==3){
-            bo.setOverPayDayTime(DateUtils.getNowTime()-(182*24*3600));
-        }
-        else if(bo.getOverPayDay()==4){
-            bo.setOverPayDayTime(DateUtils.getNowTime()-(365*24*3600));
+            if(bo.getOverPayDay()==1){
+                bo.setOverPayDayTime(DateUtils.getNowTime()-(7*24*3600));
+            }
+            else if(bo.getOverPayDay()==2){
+                bo.setOverPayDayTime(DateUtils.getNowTime()-(30*24*3600));
+            }
+            else if(bo.getOverPayDay()==3){
+                bo.setOverPayDayTime(DateUtils.getNowTime()-(182*24*3600));
+            }
+            else if(bo.getOverPayDay()==4){
+                bo.setOverPayDayTime(DateUtils.getNowTime()-(365*24*3600));
+            }
         }
         List<TopDivideLogVo> list = baseMapper.getCompanyList(bo);
         for(TopDivideLogVo logVos : list){
@@ -238,20 +278,35 @@ public class TopDivideLogServiceImpl extends ServiceImpl<TopDivideLogMapper, Top
 
     @Override
     public List<TopDivideLogVo> getSellerList(TopDivideLogQueryBo bo) {
+        if(Validator.isNotEmpty(bo.getPayStatus())){
+            List<Integer> payStatus = new ArrayList<>();
+            for(Integer status : bo.getPayStatus()){
+                if(status==2){
+                    bo.setReCheckStatus(1);
+                }
+                else if(status==5){
+                    bo.setReCheckStatus(2);
+                }
+                else{
+                    payStatus.add(status);
+                }
+            }
+            bo.setPayStatus(payStatus);
+        }
         if(Validator.isNotEmpty(bo.getOverPayDay())){
             bo.setNotPayStatus(1);
-        }
-        if(bo.getOverPayDay()==1){
-            bo.setOverPayDayTime(DateUtils.getNowTime()-(7*24*3600));
-        }
-        else if(bo.getOverPayDay()==2){
-            bo.setOverPayDayTime(DateUtils.getNowTime()-(30*24*3600));
-        }
-        else if(bo.getOverPayDay()==3){
-            bo.setOverPayDayTime(DateUtils.getNowTime()-(182*24*3600));
-        }
-        else if(bo.getOverPayDay()==4){
-            bo.setOverPayDayTime(DateUtils.getNowTime()-(365*24*3600));
+            if(bo.getOverPayDay()==1){
+                bo.setOverPayDayTime(DateUtils.getNowTime()-(7*24*3600));
+            }
+            else if(bo.getOverPayDay()==2){
+                bo.setOverPayDayTime(DateUtils.getNowTime()-(30*24*3600));
+            }
+            else if(bo.getOverPayDay()==3){
+                bo.setOverPayDayTime(DateUtils.getNowTime()-(182*24*3600));
+            }
+            else if(bo.getOverPayDay()==4){
+                bo.setOverPayDayTime(DateUtils.getNowTime()-(365*24*3600));
+            }
         }
         List<TopDivideLogVo> list = baseMapper.getSellerList(bo);
         for(TopDivideLogVo logVos : list){

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

@@ -130,6 +130,31 @@ public class TopDivideOrderServiceImpl extends ServiceImpl<TopDivideOrderMapper,
         return fList;
     }
 
+    @Override
+    public List<TopDivideOrderVo> getMonthOrderListWithPrint(TopDivideOrderQueryBo bo) {
+        List<TopDivideOrderVo> fList = baseMapper.getFinishList(bo);
+        List<TopDivideOrderVo> rList;
+        if(Validator.isEmpty(bo.getRoleId())){
+            rList = baseMapper.getRefundList(bo);
+        }else{
+            rList = new ArrayList<>();
+        }
+
+        for(TopDivideOrderVo vo : rList){
+            if(vo.getPayStatus()==1){
+                vo.setCheckStatus(3);
+            }
+            if(vo.getPayStatus()==0||vo.getPayStatus()==2){
+                vo.setCheckStatus(2);
+            }
+        }
+        fList.addAll(rList);
+        for(TopDivideOrderVo vo : fList){
+            vo.setBusinessList(baseMapper.getBusinessList(vo.getOrderSn()));
+        }
+        return fList;
+    }
+
     @Override
     public List<TopDivideOrderVo> getMonthFinishList(TopDivideOrderQueryBo bo) {
         return baseMapper.getMonthFinishList(bo);

+ 10 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/vo/TopDivideLogVo.java

@@ -116,5 +116,15 @@ public class TopDivideLogVo {
 	private Long predictPayTime;
 	@ApiModelProperty("预付款剩余天数")
 	private Integer predictPayDay;
+	/** 银行账号 */
+	@ApiModelProperty("银行账号")
+	private String toBankAcount;
+	/** 账号名称 */
+	@ApiModelProperty("账号名称")
+	private String toBankName;
+	/** 银行名称 */
+	@ApiModelProperty("银行名称")
+	private String toBankTypeName;
+
 
 }

+ 5 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/vo/TopDivideOrderVo.java

@@ -8,7 +8,7 @@ import lombok.Data;
 
 import java.math.BigDecimal;
 import java.util.Date;
-
+import java.util.List;
 
 
 /**
@@ -106,4 +106,8 @@ public class TopDivideOrderVo {
 	private BigDecimal orderPrice;
 	@ApiModelProperty("税前佣金")
 	private BigDecimal pretaxBrokerage;
+	@ApiModelProperty("订单创建时间")
+	private Long orderCreateTime;
+	@ApiModelProperty("业务层次列表")
+	private List<String> businessList;
 }

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

@@ -349,6 +349,7 @@ public class WxPayServiceImpl implements IWxPayService {
             String TenantId = ServletUtils.getRequest().getHeader("TenantId");
             data.put("attach", TenantId);
             resp = wxpay.unifiedOrder(data);
+            log.error("h5支付:"+JSON.toJSONString(resp));
             Map<String, String> result = new HashMap<>();
             //         result.put("provider","wxpay");
             result.put("appId", gzhAppid);

+ 98 - 4
zhongzheng-system/src/main/resources/mapper/modules/top/TopDivideLogMapper.xml

@@ -40,8 +40,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="billType != null and billType != ''">
             AND st.bill_type = #{billType}
         </if>
-        <if test="payStatus != null ">
-            AND dl.pay_status = #{payStatus}
+        <if test="payStatus != null and payStatus.size()!=0">
+            AND dl.pay_status in
+            <foreach collection="payStatus" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
         </if>
         <if test="monthTime != null and monthTime != ''">
             AND dl.month_time in
@@ -49,12 +52,56 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 #{item}
             </foreach>
         </if>
+        <if test="tenantIds != null and tenantIds != ''">
+            AND dl.tenant_id in
+            <foreach collection="tenantIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="overPayDay != null ">
             AND dl.predict_pay_time <![CDATA[ <= ]]> #{overPayDayTime}
         </if>
         <if test="notPayStatus != null ">
             AND dl.pay_status != #{notPayStatus}
         </if>
+        <if test="reCheckStatus == 1">
+            AND (SELECT
+            count(*)
+            FROM
+            top_divide_log bdl
+            LEFT JOIN top_divide_order btdo ON bdl.id = btdo.divide_log_id
+            LEFT JOIN top_old_order_check_log bcl ON btdo.order_sn = bcl.order_sn
+            WHERE
+            bcl.check_from = 2
+            AND bcl.check_status = 0
+            AND bcl.check_sign = 1
+            <if test="roleIds != null and roleIds != ''">
+                AND bcl.role_id in
+                <foreach collection="roleIds" item="item" index="index" open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            AND bdl.id = dl.id)>0
+        </if>
+        <if test="reCheckStatus == 2">
+            AND (SELECT
+            count(*)
+            FROM
+            top_divide_log bdl
+            LEFT JOIN top_divide_order btdo ON bdl.id = btdo.divide_log_id
+            LEFT JOIN top_old_order_check_log bcl ON btdo.order_sn = bcl.order_sn
+            WHERE
+            bcl.check_from = 2
+            AND bcl.check_status = 0
+            AND bcl.check_sign = 1
+            <if test="roleIds != null and roleIds != ''">
+                AND bcl.role_id not in
+                <foreach collection="roleIds" item="item" index="index" open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            AND bdl.id = dl.id)>0
+        </if>
     </select>
 
 
@@ -153,8 +200,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="tenantId != null and tenantId != ''">
             AND dl.tenant_id = #{tenantId}
         </if>
-        <if test="payStatus != null ">
-            AND dl.pay_status = #{payStatus}
+        <if test="payStatus != null and payStatus.size()!=0">
+            AND dl.pay_status in
+            <foreach collection="payStatus" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
         </if>
         <if test="createNo != null ">
             AND dl.create_no = #{createNo}
@@ -165,9 +215,53 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 #{item}
             </foreach>
         </if>
+        <if test="tenantIds != null and tenantIds != ''">
+            AND dl.tenant_id in
+            <foreach collection="tenantIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="notPayStatus != null ">
             AND dl.pay_status != #{notPayStatus}
         </if>
+        <if test="reCheckStatus == 1">
+            AND (SELECT
+            count(*)
+            FROM
+            top_divide_log bdl
+            LEFT JOIN top_divide_order btdo ON bdl.id = btdo.divide_log_id
+            LEFT JOIN top_old_order_check_log bcl ON btdo.order_sn = bcl.order_sn
+            WHERE
+            bcl.check_from = 3
+            AND bcl.check_status = 0
+            AND bcl.check_sign = 1
+            <if test="roleIds != null and roleIds != ''">
+                AND bcl.role_id in
+                <foreach collection="roleIds" item="item" index="index" open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            AND bdl.id = dl.id)>0
+        </if>
+        <if test="reCheckStatus == 2">
+            AND (SELECT
+            count(*)
+            FROM
+            top_divide_log bdl
+            LEFT JOIN top_divide_order btdo ON bdl.id = btdo.divide_log_id
+            LEFT JOIN top_old_order_check_log bcl ON btdo.order_sn = bcl.order_sn
+            WHERE
+            bcl.check_from = 3
+            AND bcl.check_status = 0
+            AND bcl.check_sign = 1
+            <if test="roleIds != null and roleIds != ''">
+                AND bcl.role_id not in
+                <foreach collection="roleIds" item="item" index="index" open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+            AND bdl.id = dl.id)>0
+        </if>
     </select>
 
     <select id="getCommissionList" parameterType="com.zhongzheng.modules.top.financial.bo.TopDivideOrderQueryBo"  resultType="com.zhongzheng.modules.top.financial.vo.TopDivideLogVo">

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

@@ -29,6 +29,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             oo.pretax_brokerage,
             oo.order_price,
             oo.order_from,
+            oo.create_time as order_create_time,
             r.role_name,
             r.role_id
         FROM
@@ -61,7 +62,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             oo.brokerage,
             oo.pretax_brokerage,
             tor.divide_money,
-            tor.refund_time as order_time
+            tor.refund_time as order_time,
+            oo.create_time as order_create_time
         FROM
             top_divide_order tdo
                 LEFT JOIN top_divide_log dl ON tdo.divide_log_id = dl.id
@@ -79,6 +81,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </if>
     </select>
 
+    <select id="getBusinessList" parameterType="String"  resultType="String">
+        SELECT
+            business_name
+        FROM
+            v_top_order_business
+        WHERE
+            order_sn = #{orderSn}
+        GROUP BY
+            business_name
+    </select>
+
     <select id="getMonthFinishAllTenant" parameterType="com.zhongzheng.modules.top.financial.bo.TopDivideOrderQueryBo"  resultType="String">
         SELECT
         v.tenant_id