Browse Source

信用额度修改

liangpeile 1 year ago
parent
commit
a5023df21a

+ 28 - 13
crmeb-admin/src/main/java/com/zbkj/admin/controller/merchant/NewMerchantApi.java

@@ -195,27 +195,42 @@ public class NewMerchantApi {
                     userEnterprise = userEnterpriseService.getById(one1.getEnterpriseId());
                 }
             }
-            //1.先给改变状态
-            Order order1 = new Order();
-            order1.setId(order.getId());
-            order.setIsRemit(1);
-            order.setRemitTime(new Date());
-            orderService.updateById(order);
 
-            //2.恢复额度
-//            BigDecimal a = userEnterprise.getLineOfCredit();//总信用额度
+            //1.恢复额度
+            Integer isRemit = order.getIsRemit();
+
+            BigDecimal a = userEnterprise.getLineOfCredit();//总信用额度
             BigDecimal b = userEnterprise.getAvailableLineOfCredit();//可用信用额度
             BigDecimal c = userEnterprise.getUsedLineOfCredit();//已用信用额度
 
             BigDecimal sum = b.add(order.getTotalPrice());//可用信用额度 加 订单总价
             BigDecimal cc = c.subtract(order.getTotalPrice());//已用信用额度 减 订单总价
 
+            if (1 != isRemit) {
+                UserEnterprise userEnterprise2 = new UserEnterprise();
+                userEnterprise2.setId(userEnterprise.getId());
+
+                int i = sum.compareTo(a);
+                //-1表示小于,0是等于,1是大于
+                if (i >= 0) {
+                    userEnterprise2.setAvailableLineOfCredit(a);
+                } else {
+                    userEnterprise2.setAvailableLineOfCredit(sum);
+                }
+                userEnterprise2.setUsedLineOfCredit(cc);
+                userEnterpriseService.updateById(userEnterprise2);
+            } else {
+                return CommonResult.success("订单已经回款!");
+            }
+
+            //2.先给改变状态
+            Order order1 = new Order();
+            order1.setId(order.getId());
+            order.setIsRemit(1);
+            order.setRemitTime(new Date());
+            orderService.updateById(order);
+
 
-            UserEnterprise userEnterprise2 = new UserEnterprise();
-            userEnterprise2.setId(userEnterprise.getId());
-            userEnterprise2.setAvailableLineOfCredit(sum);
-            userEnterprise2.setUsedLineOfCredit(cc);
-            userEnterpriseService.updateById(userEnterprise2);
             //3.增加信用额度记录
             UserEnterpriseRecord userEnterpriseRecord = new UserEnterpriseRecord();
             userEnterpriseRecord.setUid(order.getUid());

+ 6 - 6
crmeb-admin/src/main/java/com/zbkj/admin/controller/platform/NewPlatformApi.java

@@ -426,16 +426,16 @@ public class NewPlatformApi {
             BigDecimal a = byId.getLineOfCredit();//总信用额度
             BigDecimal b = byId.getAvailableLineOfCredit();//可用信用额度
 
-            BigDecimal bb = b.add(setLineOfCreditRequest.getLineOfCredit());//可用信用额度 加 要恢复的信用额度
-
-            BigDecimal aa = a.add(setLineOfCreditRequest.getLineOfCredit());
+//            BigDecimal bb = b.add(setLineOfCreditRequest.getLineOfCredit());//可用信用额度 加 要恢复的信用额度
+//
+//            BigDecimal aa = a.add(setLineOfCreditRequest.getLineOfCredit());
 
 
             //调整后的可用额度和总额度
             UserEnterprise userEnterprise = new UserEnterprise();
             userEnterprise.setId(setLineOfCreditRequest.getId());
-            userEnterprise.setLineOfCredit(aa);
-            userEnterprise.setAvailableLineOfCredit(bb);
+            userEnterprise.setLineOfCredit(setLineOfCreditRequest.getLineOfCredit());
+            userEnterprise.setAvailableLineOfCredit(setLineOfCreditRequest.getLineOfCredit());
             userEnterpriseService.updateById(userEnterprise);
             //信用额度记录
             UserEnterpriseRecord userEnterpriseRecord = new UserEnterpriseRecord();
@@ -444,7 +444,7 @@ public class NewPlatformApi {
             userEnterpriseRecord.setLinkType("system");
             userEnterpriseRecord.setType(1);
             userEnterpriseRecord.setAmount(setLineOfCreditRequest.getLineOfCredit());
-            userEnterpriseRecord.setBalance(bb);
+            userEnterpriseRecord.setBalance(setLineOfCreditRequest.getLineOfCredit());
             userEnterpriseRecord.setRemark(StrUtil.format("调整信用额度成功,调整增加信用额度{}元",
                     setLineOfCreditRequest.getLineOfCredit()));
             userEnterpriseRecordService.save(userEnterpriseRecord);