Explorar o código

Merge remote-tracking branch 'origin/dev_1.1' into dev_1.1

LiFei %!s(int64=5) %!d(string=hai) anos
pai
achega
75675d438c

+ 6 - 0
happy-boot-module-powerjob/src/main/java/org/jeecg/modules/hlgaccount/entity/HlgAccountDetail.java

@@ -152,4 +152,10 @@ public class HlgAccountDetail implements Serializable {
      */
     @TableField(exist = false)
     private Double paymentMoney;
+
+    @TableField(exist = false)
+    private String createTime_begin;
+
+    @TableField(exist = false)
+    private String createTime_end;
 }

+ 3 - 0
happy-boot-module-powerjob/src/main/java/org/jeecg/modules/hlgaccount/mapper/xml/HlgAccountDetailMapper.xml

@@ -161,6 +161,9 @@
             <if test="hlgAccountDetail.subcontractorName != null and hlgAccountDetail.subcontractorName != ''">
                 and sub.name like concat('%',#{hlgAccountDetail.subcontractorName},'%')
             </if>
+            <if test="hlgAccountDetail.createTime_begin != null and hlgAccountDetail.createTime_end != null ">
+                AND a.generate_time BETWEEN #{hlgAccountDetail.createTime_begin} AND #{hlgAccountDetail.createTime_end}
+            </if>
         </where>
         ORDER BY a.generate_time DESC, a.id ASC
 	</select>

+ 38 - 43
happy-boot-module-powerjob/src/main/java/org/jeecg/modules/hlgaccount/service/impl/HlgAccountDetailServiceImpl.java

@@ -63,24 +63,7 @@ public class HlgAccountDetailServiceImpl extends ServiceImpl<HlgAccountDetailMap
         List<HlgAccountDetail> list = baseMapper.findList(pageList, hlgAccountDetail, queryWrapper);
         for (HlgAccountDetail hlgAccountDetailNew : list) {
             //备注
-            String remark = "";
-            switch (hlgAccountDetailNew.getType()) {
-                case 0:
-                    remark = "充值" + hlgAccountDetailNew.getTotalAmount() + "元,扣除服务费" +
-                            hlgAccountDetailNew.getServiceFee() + "元,实际到账" + hlgAccountDetailNew.getAmount() + "元";
-                    break;
-                case 1:
-                    if (hlgAccountDetailNew.getPaymentId() != null) {
-                        remark = "付款:" + hlgAccountDetailNew.getPaymentCode();
-                    }
-                    break;
-                case 2:
-                    remark = "付款失败:" + hlgAccountDetailNew.getPaymentCode();
-                    break;
-                default:
-                    remark = "";
-                    break;
-            }
+            String remark = switchRemark(hlgAccountDetailNew);
             hlgAccountDetailNew.setRemark(remark);
         }
         return pageList.setRecords(list);
@@ -148,24 +131,7 @@ public class HlgAccountDetailServiceImpl extends ServiceImpl<HlgAccountDetailMap
         List<HlgAccountDetail> list = baseMapper.findAllList(pageList, hlgAccountDetail, queryWrapper);
         for (HlgAccountDetail hlgAccountDetailNew : list) {
             //备注
-            String remark = "";
-            switch (hlgAccountDetailNew.getType()) {
-                case 0:
-                    remark = "充值" + hlgAccountDetailNew.getTotalAmount() + "元,扣除服务费" +
-                            hlgAccountDetailNew.getServiceFee() + "元,实际到账" + hlgAccountDetailNew.getAmount() + "元";
-                    break;
-                case 1:
-                    if (hlgAccountDetailNew.getPaymentId() != null) {
-                        remark = "付款:" + hlgAccountDetailNew.getPaymentCode();
-                    }
-                    break;
-                case 2:
-                    remark = "付款失败:" + hlgAccountDetailNew.getPaymentCode();
-                    break;
-                default:
-                    remark = "";
-                    break;
-            }
+            String remark = switchRemark(hlgAccountDetailNew);
             hlgAccountDetailNew.setRemark(remark);
             hlgAccountDetailNew.setRechargeMoney(rechargeMoney);
             hlgAccountDetailNew.setServiceMoney(serviceMoney);
@@ -275,14 +241,15 @@ public class HlgAccountDetailServiceImpl extends ServiceImpl<HlgAccountDetailMap
         //开始充值
         //1、账户明细表(插入)
         hlgAccountDetail.setType(0);
-        //本次服务费
-        Double serviceFee = businessAccountUtils.mul(hlgAccountDetail.getTotalAmount(), hlgAccountDetail.getServiceRate() * 0.01);
-        //取俩位小数(注意:不是四舍五入)
-        BigDecimal bg = BigDecimal.valueOf(serviceFee).setScale(2, RoundingMode.DOWN);
-        serviceFee = bg.doubleValue();
+        //本地充值金额(totalAmount/(1+serviceRate))
+        Double amount = businessAccountUtils.div(hlgAccountDetail.getTotalAmount(),businessAccountUtils.add(hlgAccountDetail.getServiceRate(),100)* 0.01);
+        //取俩位小数(注意:不是四舍五入,进位处理(就是直接加1))
+        BigDecimal bg = BigDecimal.valueOf(amount).setScale(2, RoundingMode.UP);
+        amount = bg.doubleValue();
+        hlgAccountDetail.setAmount(amount);
+        //服务费 = 充值总金额 - amount
+        Double serviceFee = businessAccountUtils.sub(hlgAccountDetail.getTotalAmount(), amount);
         hlgAccountDetail.setServiceFee(serviceFee);
-        //项目金额 = 充值总金额 - serviceFee
-        hlgAccountDetail.setAmount(businessAccountUtils.sub(hlgAccountDetail.getTotalAmount(), serviceFee));
         hlgAccountDetail.setIsDisplay(1);
         hlgAccountDetail.setGenerateTime(new Date());
         //获取当前登录用户
@@ -361,4 +328,32 @@ public class HlgAccountDetailServiceImpl extends ServiceImpl<HlgAccountDetailMap
     public List<HlgPaymentDetail> findListByCompanyIdAndAubcontractorId(HlgCompanySubcontractor hlgCompanySubcontractor) {
         return baseMapper.findListByCompanyIdAndAubcontractorId(hlgCompanySubcontractor);
     }
+
+    /**
+     * 收支备注统一处理
+     *
+     * @param hlgAccountDetailNew
+     * @return
+     */
+    private String switchRemark(HlgAccountDetail hlgAccountDetailNew) {
+        String remark = "";
+        switch (hlgAccountDetailNew.getType()) {
+            case 0:
+                remark = "充值" + hlgAccountDetailNew.getTotalAmount() + "元,扣除服务费" +
+                        hlgAccountDetailNew.getServiceFee() + "元,实际到账" + hlgAccountDetailNew.getAmount() + "元";
+                break;
+            case 1:
+                if (hlgAccountDetailNew.getPaymentId() != null) {
+                    remark = "付款:" + hlgAccountDetailNew.getPaymentCode();
+                }
+                break;
+            case 2:
+                remark = "付款失败:" + hlgAccountDetailNew.getPaymentCode();
+                break;
+            default:
+                remark = "";
+                break;
+        }
+        return remark;
+    }
 }

+ 6 - 0
happy-boot-module-powerjob/src/main/java/org/jeecg/modules/hlgpayment/entity/HlgPayment.java

@@ -160,4 +160,10 @@ public class HlgPayment implements Serializable {
      */
     @TableField(exist = false)
     private String remark;
+
+    /**
+     * 是否全部付款成功(0:否;1:是)
+     */
+    @TableField(exist = false)
+    private Integer isAllSuccess;
 }

+ 3 - 0
happy-boot-module-powerjob/src/main/java/org/jeecg/modules/hlgpayment/service/impl/HlgPaymentServiceImpl.java

@@ -137,6 +137,9 @@ public class HlgPaymentServiceImpl extends ServiceImpl<HlgPaymentMapper, HlgPaym
                         totalPaymentE = businessAccountUtils.add(totalPaymentE, hlgPaymentDetailE.getPayment());
                     }
                     remark = "总笔数" + size + "笔," + hlgPaymentDetailListS.size() + "笔成功," + totalPaymentS + "元 ," + hlgPaymentDetailListE.size() + "笔失败," + totalPaymentE + "元。";
+                    if (hlgPaymentDetailListE.size() > 0) {
+                        hlgPaymentT.setIsAllSuccess(0);
+                    }
                     break;
             }
             hlgPaymentT.setRemark(remark);