Selaa lähdekoodia

保证金bug修复

codingliang 2 vuotta sitten
vanhempi
commit
18773ec531

+ 27 - 26
src/main/java/com/sqx/modules/errand/service/impl/ErrandComplaintServiceImpl.java

@@ -81,7 +81,7 @@ public class ErrandComplaintServiceImpl extends ServiceImpl<ErrandComplaintDao,
 
     @Override
     public Result findAllComplaint(Long userId, Integer illegalId, Integer complaintState, Integer page, Integer limit) {
-        Page<ErrandComplaint> pages=new Page<>(page,limit);
+        Page<ErrandComplaint> pages = new Page<>(page, limit);
         PageUtils pageUtils = new PageUtils(baseMapper.findAppComplaint(pages, userId, illegalId, complaintState));
         return Result.success().put("data", pageUtils);
     }
@@ -102,8 +102,8 @@ public class ErrandComplaintServiceImpl extends ServiceImpl<ErrandComplaintDao,
 
     @Override
     public Result findAllAppeal(Integer page, Integer limit, Long userId, Integer illegalId, Integer complaintState, String indentNumber) {
-        Page<ErrandComplaint> pages=new Page<>(page,limit);
-        PageUtils pageUtils = new PageUtils(baseMapper.findAllComplaint(pages,userId, illegalId, complaintState, indentNumber));
+        Page<ErrandComplaint> pages = new Page<>(page, limit);
+        PageUtils pageUtils = new PageUtils(baseMapper.findAllComplaint(pages, userId, illegalId, complaintState, indentNumber));
         return Result.success().put("data", pageUtils);
     }
 
@@ -119,31 +119,31 @@ public class ErrandComplaintServiceImpl extends ServiceImpl<ErrandComplaintDao,
             //扣保证金
             ErrandComplaint errandComplaint1 = baseMapper.selectById(complaintId);
             UserEntity userEntity1 = userDao.selectById(errandComplaint1.getRiderUserId());
-            BigDecimal subtract;
+            BigDecimal deductMoney;
 
-            if(errandComplaint1.getDeductMoney().doubleValue()>userEntity1.getCashDeposit().doubleValue()){
+            if (errandComplaint1.getDeductMoney().doubleValue() > userEntity1.getCashDeposit().doubleValue()) {
                 //如果保证金不够,则保证金改为0
-                subtract = BigDecimal.valueOf(0);
-            }else {
+                deductMoney = userEntity1.getCashDeposit();
+            } else {
                 //如果保证金足够,则扣除保证金
-                subtract = userEntity1.getCashDeposit().subtract(errandComplaint1.getDeductMoney());
+                deductMoney = errandComplaint1.getDeductMoney();
             }
             UserEntity userEntity = new UserEntity();
-            userEntity.setUserId(errandComplaint1.getRiderUserId());
-            userEntity.setCashDeposit(subtract);
+            userEntity.setUserId(userEntity1.getUserId());
+            userEntity.setCashDeposit(userEntity1.getCashDeposit().subtract(deductMoney));
             userDao.updateById(userEntity);
             //退保证金的记录
-            UserMoneyDetails userMoneyDetails=new UserMoneyDetails();
+            UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
             userMoneyDetails.setUserId(errandComplaint1.getRiderUserId());
             userMoneyDetails.setTitle("扣除保证金");
-            userMoneyDetails.setContent("被投诉订单,扣除保证金:"+errandComplaint1.getDeductMoney()+"元!");
+            userMoneyDetails.setContent("被投诉订单,扣除保证金:" + deductMoney + "元!");
             userMoneyDetails.setType(2);
             userMoneyDetails.setClassify(1);
             userMoneyDetails.setMoney(errandComplaint1.getDeductMoney());
-            userMoneyDetails.setCreateTime(new SimpleDateFormat("yyyy-MM-dd :HH:mm:ss").format(new Date()));
+            userMoneyDetails.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
             userMoneyDetailsService.save(userMoneyDetails);
 
-        }else {
+        } else {
             //投诉未通过,修改投诉状态为6
             ErrandComplaint sysComplaint = new ErrandComplaint();
             sysComplaint.setComplaintId(complaintId);
@@ -158,22 +158,23 @@ public class ErrandComplaintServiceImpl extends ServiceImpl<ErrandComplaintDao,
     public Result updateComplaintState(ErrandComplaint errandComplaint) {
         baseMapper.updateById(errandComplaint);
         //如果申诉通过,则将罚金退回骑手余额
-        if(errandComplaint.getComplaintState()==4){
-            Long complaintId = errandComplaint.getComplaintId();
-            ErrandComplaint sysComplaint1 = baseMapper.selectById(complaintId);
-            UserEntity userEntity = userDao.selectById(sysComplaint1.getRiderUserId());
-            BigDecimal subtract = userEntity.getCashDeposit().subtract(sysComplaint1.getDeductMoney());
-            UserEntity userEntity1 = new UserEntity();
-            userEntity1.setCashDeposit(subtract);
-            userDao.updateById(userEntity1);
+        if (errandComplaint.getComplaintState() == 4) {
+            ErrandComplaint sysComplaint = baseMapper.selectById(errandComplaint.getComplaintId());
+            UserEntity userEntity = userDao.selectById(sysComplaint.getRiderUserId());
+            BigDecimal subtract = userEntity.getCashDeposit().add(sysComplaint.getDeductMoney());
+            UserEntity updateUser = new UserEntity();
+            updateUser.setUserId(userEntity.getUserId());
+            updateUser.setCashDeposit(subtract);
+            userDao.updateById(updateUser);
             //添加一条退款记录到钱包表
             UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
-            userMoneyDetails.setUserId(sysComplaint1.getRiderUserId());
-            userMoneyDetails.setTitle("申诉成功");
-            userMoneyDetails.setContent("退还保证金:" + sysComplaint1.getDeductMoney());
+            userMoneyDetails.setUserId(sysComplaint.getRiderUserId());
+            userMoneyDetails.setTitle("申诉成功,返还保证金");
+            userMoneyDetails.setContent("退还保证金:" + sysComplaint.getDeductMoney());
             userMoneyDetails.setType(1);
+            userMoneyDetails.setClassify(1);
             userMoneyDetails.setState(2);
-            userMoneyDetails.setMoney(sysComplaint1.getDeductMoney());
+            userMoneyDetails.setMoney(sysComplaint.getDeductMoney());
             userMoneyDetails.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
             userMoneyDetailsService.save(userMoneyDetails);
         }