Browse Source

公司回退佣金,公司循环依赖解决

yuhongqi 1 month ago
parent
commit
9706486d92

+ 2 - 0
fs-service-system/src/main/java/com/fs/company/service/ICompanyService.java

@@ -99,4 +99,6 @@ public interface ICompanyService
     Company selectCompanyByIdForUpdate(Long companyId);
 
     void addCompanyTuiLiveMoney(LiveOrder order);
+
+    void subLiveCompanyMoney(LiveOrder order);
 }

+ 27 - 2
fs-service-system/src/main/java/com/fs/company/service/impl/CompanyServiceImpl.java

@@ -14,6 +14,7 @@ import com.fs.company.service.ICompanyProfitService;
 import com.fs.company.vo.CompanyCrmVO;
 import com.fs.company.vo.CompanyVO;
 import com.fs.live.domain.LiveOrder;
+import com.fs.live.mapper.LiveOrderMapper;
 import com.fs.live.service.ILiveOrderService;
 import com.fs.store.config.StoreConfig;
 import com.fs.store.domain.FsStoreOrder;
@@ -65,7 +66,7 @@ public class CompanyServiceImpl implements ICompanyService
     @Autowired
     private ICompanyProfitService companyProfitService;
     @Autowired
-    private ILiveOrderService liveOrderService;
+    private LiveOrderMapper liveOrderMapper;
 
 
     /**
@@ -261,11 +262,13 @@ public class CompanyServiceImpl implements ICompanyService
                 LiveOrder liveOrderMap=new LiveOrder();
                 liveOrderMap.setOrderId(order.getOrderId());
                 liveOrderMap.setTuiMoney(tuiMoney);
-                liveOrderService.updateLiveOrder(liveOrderMap);
+                liveOrderMapper.updateLiveOrder(liveOrderMap);
             }
         }
     }
 
+
+
     @Override
     @Transactional(rollbackFor = Throwable.class,propagation = Propagation.REQUIRED)
     public void addCompanyMoney(FsStoreOrder order) {
@@ -297,6 +300,28 @@ public class CompanyServiceImpl implements ICompanyService
             }
         }
     }
+    @Override
+    @Transactional(rollbackFor = Throwable.class,propagation = Propagation.REQUIRED)
+    public void subLiveCompanyMoney(LiveOrder order) {
+        if(order.getCompanyId()>0){
+            Company company=companyMapper.selectCompanyByIdForUpdate(order.getCompanyId());
+            if(company!=null){
+                company.setMoney(company.getMoney().subtract(order.getTuiMoney()));
+                company.setTuiMoney(company.getTuiMoney().subtract(order.getTuiMoney()));
+                companyMapper.updateCompany(company);
+                //写入日志
+                CompanyMoneyLogs log=new CompanyMoneyLogs();
+                log.setCompanyId(order.getCompanyId());
+                log.setRemark("订单佣金退款");
+                log.setMoney(order.getTuiMoney().multiply(new BigDecimal(-1)));
+                log.setLogsType(5);
+                log.setBalance(company.getMoney());
+                log.setCreateTime(new Date());
+                log.setBusinessId(order.getOrderId().toString());
+                moneyLogsMapper.insertCompanyMoneyLogs(log);
+            }
+        }
+    }
 
     @Override
     @Transactional(rollbackFor = Throwable.class,propagation = Propagation.REQUIRED)

+ 4 - 0
fs-service-system/src/main/java/com/fs/live/service/impl/LiveOrderServiceImpl.java

@@ -864,6 +864,10 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
         }
         liveOrderLogsService.create(order.getOrderId(), OrderLogEnum.REFUND_ORDER_SUCCESS.getValue(),
                 OrderLogEnum.REFUND_ORDER_SUCCESS.getDesc());
+        //减去公司收入
+        if(order.getCompanyId()!=null&&order.getCompanyId()>0&&order.getTuiMoneyStatus()!=null&&order.getTuiMoneyStatus()==1){
+            companyService.subLiveCompanyMoney(order);
+        }
         if(order.getTuiUserId()!=null&&order.getTuiUserId()>0){
             userService.subLiveTuiMoney(order);
         }