Browse Source

Merge remote-tracking branch 'origin/financial' into financial

yangdamao 2 years ago
parent
commit
636a32347c

+ 22 - 0
zhongzheng-common/src/main/java/com/zhongzheng/common/utils/DateUtils.java

@@ -395,4 +395,26 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
            return null;
        }
     }
+
+    public static  Integer getTodayWeek(){
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(new Date());
+        int weekIdx = calendar.get(Calendar.DAY_OF_WEEK) - 1;
+        switch (weekIdx) {
+            case 1:
+                return 1;
+            case 2:
+                return 2;
+            case 3:
+                return 3;
+            case 4:
+                return 4;
+            case 5:
+                return 5;
+            case 6:
+                return 6;
+            default:
+                return 7;
+        }
+    }
 }

+ 9 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/bo/TopCostTpItemAddBo.java

@@ -55,4 +55,13 @@ public class TopCostTpItemAddBo {
     /** 项目id */
     @ApiModelProperty("项目id")
     private Integer projectId;
+    /**  1启用成本扣除 0不启用 */
+    @ApiModelProperty(" 1启用成本扣除 0不启用")
+    private Integer dockStatus;
+    /** 扣除类型 1百分比 2固定成本 */
+    @ApiModelProperty("扣除类型 1百分比 2固定成本")
+    private Integer dockType;
+    /** 百分比值为 0到 100 */
+    @ApiModelProperty("百分比值为 0到 100")
+    private BigDecimal dockValue;
 }

+ 9 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/bo/TopCostTpItemEditBo.java

@@ -63,5 +63,13 @@ public class TopCostTpItemEditBo {
     /** 百分比值为 0到 100 */
     @ApiModelProperty("百分比值为 0到 100")
     private BigDecimal typeValue;
-
+    /**  1启用成本扣除 0不启用 */
+    @ApiModelProperty(" 1启用成本扣除 0不启用")
+    private Integer dockStatus;
+    /** 扣除类型 1百分比 2固定成本 */
+    @ApiModelProperty("扣除类型 1百分比 2固定成本")
+    private Integer dockType;
+    /** 百分比值为 0到 100 */
+    @ApiModelProperty("百分比值为 0到 100")
+    private BigDecimal dockValue;
 }

+ 7 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/domain/TopCostTpItem.java

@@ -59,4 +59,11 @@ private static final long serialVersionUID=1L;
 
     private BigDecimal minValue;
 
+    /**  1启用成本扣除 0不启用 */
+    private Integer dockStatus;
+    /** 扣除类型 1百分比 2固定成本 */
+    private Integer dockType;
+    /** 百分比值为 0到 100 */
+    private BigDecimal dockValue;
+
 }

+ 12 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/financial/vo/TopCostTpItemVo.java

@@ -61,4 +61,16 @@ public class TopCostTpItemVo {
 	private BigDecimal maxValue;
 	@ApiModelProperty("最小值")
 	private BigDecimal minValue;
+	/**  1启用成本扣除 0不启用 */
+	@Excel(name = " 1启用成本扣除 0不启用")
+	@ApiModelProperty(" 1启用成本扣除 0不启用")
+	private Integer dockStatus;
+	/** 扣除类型 1百分比 2固定成本 */
+	@Excel(name = "扣除类型 1百分比 2固定成本")
+	@ApiModelProperty("扣除类型 1百分比 2固定成本")
+	private Integer dockType;
+	/** 百分比值为 0到 100 */
+	@Excel(name = "百分比值为 0到 100")
+	@ApiModelProperty("百分比值为 0到 100")
+	private BigDecimal dockValue;
 }

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

@@ -60,6 +60,8 @@ import com.zhongzheng.modules.top.goods.service.*;
 import com.zhongzheng.modules.top.goods.vo.*;
 import com.zhongzheng.modules.top.order.bo.PayOrderCallBackBo;
 import com.zhongzheng.modules.top.order.bo.TopOrderRecNoteAddBo;
+import com.zhongzheng.modules.top.order.domain.TopOrderBankPay;
+import com.zhongzheng.modules.top.order.service.ITopOrderBankPayService;
 import com.zhongzheng.modules.top.user.domain.TopSysRole;
 import com.zhongzheng.modules.top.user.domain.TopSysUserRole;
 import com.zhongzheng.modules.top.user.service.ITopSysRoleService;
@@ -171,6 +173,11 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
     @Autowired
     private ITopOldSellerDiscountService topOldSellerDiscountService;
 
+    @Autowired
+    private ITopOrderBankPayService iTopOrderBankPayService;
+
+
+
     @Value("${oldOrder.studyRecord}")
     private String ORDER_STUDY;
 
@@ -1122,6 +1129,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         for (TopOldOrderCheckLogVo vo : checkLogVoList) {
             if (vo.getCheckSign() == 1) {
                 orderVo.setCheckType(vo.getType());
+                orderVo.setCheckStatus(vo.getCheckStatus());
             }
         }
         orderVo.setCheckLogVos(checkLogVoList);
@@ -2014,8 +2022,31 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean payToCompanyCallBack(PayOrderCallBackBo bo) {
-        System.out.println(bo);
+        String paySn = bo.getMainUniqueId();
+        TopOrderBankPay bankPay = iTopOrderBankPayService.getOne(new LambdaQueryWrapper<TopOrderBankPay>()
+                .eq(TopOrderBankPay::getPaySn, paySn).last("limit 1"));
+        if(Validator.isEmpty(bankPay)){
+            throw new CustomException("支付单号错误");
+        }
+        TopOldOrder order = getOne(new LambdaQueryWrapper<TopOldOrder>()
+                .eq(TopOldOrder::getOrderSn, bankPay.getOrderSn()).last("limit 1"));
+        if(Validator.isEmpty(order)||order.getDivideStatus()!=6){
+           throw new CustomException("订单非法操作");
+        }
+        if(bo.getStatus()==1){
+            bankPay.setResultStatus(1);
+            order.setDivideStatus(7);
+        }
+        if(bo.getStatus()==0){
+            bankPay.setResultStatus(-1);
+            order.setDivideStatus(8);
+        }
+        bankPay.setUpdateTime(DateUtils.getNowTime());
+        iTopOrderBankPayService.updateById(bankPay);
+        order.setUpdateTime(DateUtils.getNowTime());
+        updateById(order);
         return true;
     }
 

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

@@ -242,4 +242,6 @@ public class TopOldOrderVo {
 
 	@ApiModelProperty("流程类型:1审核,2支付")
 	private Integer checkType;
+	@ApiModelProperty("分成审核状态:0待审核,1已通过,-1未通过,2待支付,3已支付")
+	private Integer divideCheckStatus;
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/order/service/impl/TopOrderBankPayServiceImpl.java

@@ -33,6 +33,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.Page;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.io.IOException;
 import java.math.BigDecimal;
@@ -139,6 +140,7 @@ public class TopOrderBankPayServiceImpl extends ServiceImpl<TopOrderBankPayMappe
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean payToCompany(TopOrderBankPayAddBo bo) {
         if(Validator.isEmpty(bo.getOrderSn())||Validator.isEmpty(bo.getTenantId())||Validator.isEmpty(bo.getDivideModel())){
             throw new CustomException("参数错误");
@@ -199,6 +201,7 @@ public class TopOrderBankPayServiceImpl extends ServiceImpl<TopOrderBankPayMappe
         if(bo.getDivideModel()==2){
             money =order.getDivideSellerMoney();
         }
+        add.setMoney(money);
         Map<String, String> params = new HashMap<>();
         Long nowTime = DateUtils.getNowTime();
         String sign = ToolsUtils.EncoderByMd5(paySn+nowTime.toString()+"pubilc2022");

+ 49 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/order/service/impl/TopOrderRecNoteServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.ToolsUtils;
@@ -129,6 +130,11 @@ public class TopOrderRecNoteServiceImpl extends ServiceImpl<TopOrderRecNoteMappe
         } catch (IOException e) {
             throw new CustomException("同步请求错误"+e.getMessage());
         }
+        LambdaUpdateWrapper<TopOrderRecNote> objectLambdaUpdateWrapper = Wrappers.lambdaUpdate();
+        objectLambdaUpdateWrapper.eq(TopOrderRecNote::getOrderSn, orderSn);
+        objectLambdaUpdateWrapper.set(TopOrderRecNote::getLastTime, nowTime);
+        objectLambdaUpdateWrapper.set(TopOrderRecNote::getUpdateTime, DateUtils.getNowTime());
+        this.update(null, objectLambdaUpdateWrapper);
         return true;
     }
 
@@ -163,7 +169,49 @@ public class TopOrderRecNoteServiceImpl extends ServiceImpl<TopOrderRecNoteMappe
             Long time = DateUtils.dateTimeSec(DateUtils.YYYY_MM_DD_HH_MM_SS,timeStr);
             if(DateUtils.getNowTime().longValue()>time.longValue()){
                 //推送
-                System.out.println("推送");
+                pushOldNote(vo.getOrderSn());
+            }
+        }
+        //每周
+        TopOrderRecNoteQueryBo queryBo2 = new TopOrderRecNoteQueryBo();
+        queryBo1.setNoteType(3L);
+        queryBo1.setStatus(1);
+        queryBo1.setLastTime(DateUtils.getNowTime()-(24*3600));//一天只推一次
+        List<TopOrderRecNoteVo> list2 = queryList(queryBo2);
+        for(TopOrderRecNoteVo vo : list2){
+            String[] splitWeek=vo.getWeekTime().split(",");
+            for(String week : splitWeek){
+                if(DateUtils.getTodayWeek()==Integer.parseInt(week)){
+                    String dayStr = DateUtils.getDate();
+                    String timeStr = dayStr+" "+vo.getDayTime()+":00";
+                    Long time = DateUtils.dateTimeSec(DateUtils.YYYY_MM_DD_HH_MM_SS,timeStr);
+                    if(DateUtils.getNowTime().longValue()>time.longValue()){
+                        //推送
+                        pushOldNote(vo.getOrderSn());
+                    }
+                }
+            }
+        }
+        //每月
+        TopOrderRecNoteQueryBo queryBo3 = new TopOrderRecNoteQueryBo();
+        queryBo1.setNoteType(4L);
+        queryBo1.setStatus(1);
+        queryBo1.setLastTime(DateUtils.getNowTime()-(24*3600));//一天只推一次
+        List<TopOrderRecNoteVo> list3 = queryList(queryBo3);
+        for(TopOrderRecNoteVo vo : list3){
+            String[] splitMonth=vo.getMonthTime().split(",");
+            for(String month : splitMonth){
+                Calendar cal = Calendar.getInstance();
+                Integer day_moneth=cal.get(Calendar.DAY_OF_MONTH);
+                if(day_moneth==Integer.parseInt(month)){
+                    String dayStr = DateUtils.getDate();
+                    String timeStr = dayStr+" "+vo.getDayTime()+":00";
+                    Long time = DateUtils.dateTimeSec(DateUtils.YYYY_MM_DD_HH_MM_SS,timeStr);
+                    if(DateUtils.getNowTime().longValue()>time.longValue()){
+                        //推送
+                        pushOldNote(vo.getOrderSn());
+                    }
+                }
             }
         }
         return null;

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

@@ -19,6 +19,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="projectId" column="project_id"/>
         <result property="maxValue" column="max_value"/>
         <result property="minValue" column="min_value"/>
+        <result property="dockStatus" column="dock_status"/>
+        <result property="dockType" column="dock_type"/>
+        <result property="dockValue" column="dock_value"/>
     </resultMap>
 
     <select id="getCostByBusiness" parameterType="map" resultType="com.zhongzheng.modules.top.financial.domain.TopCostTpItem">

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

@@ -260,7 +260,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         SELECT
         too.*,
         st.tenant_name,
-        r.role_name
+        r.role_name,
+        cl.check_status as divide_check_status
         FROM
         v_top_order too
         LEFT JOIN sys_tenant st ON too.tenant_id = st.tenant_id
@@ -297,7 +298,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         SELECT
         too.*,
         st.tenant_name,
-        r.role_name
+        r.role_name,
+        cl.check_status as divide_check_status
         FROM
         top_old_order too
         LEFT JOIN sys_tenant st ON too.tenant_id = st.tenant_id