fgd 1 месяц назад
Родитель
Сommit
737f1cffbb
23 измененных файлов с 118 добавлено и 49 удалено
  1. 2 2
      jy-business/src/main/java/com/jy/business/capital/controller/CapitalAccountController.java
  2. 2 6
      jy-business/src/main/java/com/jy/business/capital/controller/CapitalTransactionsController.java
  3. 3 1
      jy-business/src/main/java/com/jy/business/capital/service/CapitalAccountService.java
  4. 5 1
      jy-business/src/main/java/com/jy/business/capital/service/CapitalTransactionsService.java
  5. 2 2
      jy-business/src/main/java/com/jy/business/capital/service/impl/CapitalAccountServiceImpl.java
  6. 2 1
      jy-business/src/main/java/com/jy/business/capital/service/impl/CapitalTransactionsServiceImpl.java
  7. 2 2
      jy-business/src/main/java/com/jy/business/corporation/controller/CorporationController.java
  8. 2 2
      jy-business/src/main/java/com/jy/business/corporation/controller/CorporationShopController.java
  9. 3 2
      jy-business/src/main/java/com/jy/business/corporation/service/CorporationService.java
  10. 3 1
      jy-business/src/main/java/com/jy/business/corporation/service/CorporationShopService.java
  11. 2 3
      jy-business/src/main/java/com/jy/business/corporation/service/impl/CorporationServiceImpl.java
  12. 2 1
      jy-business/src/main/java/com/jy/business/corporation/service/impl/CorporationShopServiceImpl.java
  13. 21 4
      jy-business/src/main/java/com/jy/business/payment/controller/PaymentRequestsController.java
  14. 12 0
      jy-business/src/main/java/com/jy/business/payment/model/entity/PaymentRemit.java
  15. 1 0
      jy-business/src/main/java/com/jy/business/payment/model/entity/PaymentRequestsDetail.java
  16. 4 2
      jy-business/src/main/java/com/jy/business/payment/service/PaymentRequestsService.java
  17. 6 2
      jy-business/src/main/java/com/jy/business/payment/service/impl/PaymentRequestsServiceImpl.java
  18. 0 16
      jy-log/src/main/java/com/jy/log/controller/LogUserOperationController.java
  19. 2 1
      jy-log/src/main/java/com/jy/log/dao/LogUserOperationDao.java
  20. 4 0
      jy-log/src/main/java/com/jy/log/model/dto/LogUserOperationSelectDto.java
  21. 24 0
      jy-log/src/main/java/com/jy/log/record/RecordAuditAspect.java
  22. 8 0
      jy-log/src/main/java/com/jy/log/service/LogUserOperationService.java
  23. 6 0
      jy-log/src/main/java/com/jy/log/service/impl/LogUserOperationServiceImpl.java

+ 2 - 2
jy-business/src/main/java/com/jy/business/capital/controller/CapitalAccountController.java

@@ -61,8 +61,8 @@ public class CapitalAccountController {
             businessType = BusinessType.INSERT
     )
     @PostMapping("/add")
-    public void add(@Validated(AddGroup.class) @RequestBody CapitalAccountDto dto) {
-        capitalAccountService.add(dto);
+    public Long add(@Validated(AddGroup.class) @RequestBody CapitalAccountDto dto) {
+        return capitalAccountService.add(dto);
     }
 
     /**

+ 2 - 6
jy-business/src/main/java/com/jy/business/capital/controller/CapitalTransactionsController.java

@@ -76,13 +76,9 @@ public class CapitalTransactionsController {
     /**
      * 资金流水新增
      */
-    @RecordAudit(
-            moduleName = "资金流水-新增",
-            businessType = BusinessType.INSERT
-    )
     @PostMapping("/add")
-    public void add(@Validated(AddGroup.class) @RequestBody CapitalTransactionsDto dto) {
-        capitalTransactionsService.add(dto);
+    public Long add(@Validated(AddGroup.class) @RequestBody CapitalTransactionsDto dto) {
+        return capitalTransactionsService.add(dto);
     }
 
     /**

+ 3 - 1
jy-business/src/main/java/com/jy/business/capital/service/CapitalAccountService.java

@@ -29,8 +29,10 @@ public interface CapitalAccountService {
 
     /**
      * 资金账户新增
+     *
+     * @return
      */
-    void add(CapitalAccountDto dto);
+    Long add(CapitalAccountDto dto);
 
     /**
      * 资金账户编辑

+ 5 - 1
jy-business/src/main/java/com/jy/business/capital/service/CapitalTransactionsService.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jy.business.capital.model.dto.CapitalTransactionsDto;
 import com.jy.business.capital.model.dto.CapitalTransactionsSelectDto;
 import com.jy.business.capital.model.vo.CapitalTransactionsVo;
+import com.jy.framework.model.annotation.RecordAudit;
+import com.jy.framework.model.enums.BusinessType;
 
 import java.util.List;
 
@@ -29,8 +31,10 @@ public interface CapitalTransactionsService {
 
     /**
      * 资金流水新增
+     *
+     * @return
      */
-    void add(CapitalTransactionsDto dto);
+    Long add(CapitalTransactionsDto dto);
 
     /**
      * 资金流水编辑

+ 2 - 2
jy-business/src/main/java/com/jy/business/capital/service/impl/CapitalAccountServiceImpl.java

@@ -12,7 +12,6 @@ import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -45,8 +44,9 @@ public class CapitalAccountServiceImpl implements CapitalAccountService {
     }
 
     @Override
-    public void add(CapitalAccountDto dto) {
+    public Long add(CapitalAccountDto dto) {
         capitalAccountDao.save(dto);
+        return dto.getId();
     }
 
     @Override

+ 2 - 1
jy-business/src/main/java/com/jy/business/capital/service/impl/CapitalTransactionsServiceImpl.java

@@ -100,7 +100,7 @@ public class CapitalTransactionsServiceImpl implements CapitalTransactionsServic
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public void add(CapitalTransactionsDto dto) {
+    public Long add(CapitalTransactionsDto dto) {
         boolean updateAmount = capitalAccountDao.updateAmount(dto.getCapitalAccountId(), dto.getType(), dto.getAmount());
         AssertUtil.eqTrue(updateAmount, "账户余额不足");
 
@@ -118,6 +118,7 @@ public class CapitalTransactionsServiceImpl implements CapitalTransactionsServic
             contractFundReceivedDao.save(contractFundReceived);
         }
 
+        return dto.getId();
     }
 
     @Transactional(rollbackFor = Exception.class)

+ 2 - 2
jy-business/src/main/java/com/jy/business/corporation/controller/CorporationController.java

@@ -59,8 +59,8 @@ public class CorporationController {
             businessType = BusinessType.INSERT
     )
     @PostMapping("/add")
-    public void add(@Validated(AddGroup.class) @RequestBody CorporationDto dto) {
-        corporationService.add(dto);
+    public Long add(@Validated(AddGroup.class) @RequestBody CorporationDto dto) {
+        return corporationService.add(dto);
     }
 
     /**

+ 2 - 2
jy-business/src/main/java/com/jy/business/corporation/controller/CorporationShopController.java

@@ -56,8 +56,8 @@ public class CorporationShopController {
             businessType = BusinessType.INSERT
     )
     @PostMapping("/add")
-    public void add(@RequestBody CorporationShopDto dto) {
-        corporationShopService.add(dto);
+    public Long add(@RequestBody CorporationShopDto dto) {
+        return corporationShopService.add(dto);
     }
 
     /**

+ 3 - 2
jy-business/src/main/java/com/jy/business/corporation/service/CorporationService.java

@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jy.business.corporation.model.dto.CorporationDto;
 import com.jy.business.corporation.model.dto.CorporationSelectDto;
 import com.jy.business.corporation.model.vo.CorporationVo;
-import com.jy.framework.model.annotation.RecordAudit;
 
 import java.util.List;
 
@@ -31,8 +30,10 @@ public interface CorporationService {
 
     /**
      * 公司信息新增
+     *
+     * @return
      */
-    void add(CorporationDto dto);
+    Long add(CorporationDto dto);
 
     /**
      * 公司信息编辑

+ 3 - 1
jy-business/src/main/java/com/jy/business/corporation/service/CorporationShopService.java

@@ -29,8 +29,10 @@ public interface CorporationShopService {
 
     /**
      * 商铺信息新增
+     *
+     * @return
      */
-    void add(CorporationShopDto dto);
+    Long add(CorporationShopDto dto);
 
     /**
      * 商铺信息编辑

+ 2 - 3
jy-business/src/main/java/com/jy/business/corporation/service/impl/CorporationServiceImpl.java

@@ -7,8 +7,6 @@ import com.jy.business.corporation.model.dto.CorporationDto;
 import com.jy.business.corporation.model.dto.CorporationSelectDto;
 import com.jy.business.corporation.model.vo.CorporationVo;
 import com.jy.business.corporation.service.CorporationService;
-import com.jy.framework.model.annotation.RecordAudit;
-import com.jy.framework.model.enums.BusinessType;
 import com.jy.framework.utils.AssertUtil;
 import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
@@ -46,8 +44,9 @@ public class CorporationServiceImpl implements CorporationService {
     }
 
     @Override
-    public void add(CorporationDto dto) {
+    public Long add(CorporationDto dto) {
         corporationDao.save(dto);
+        return dto.getId();
     }
 
     @Override

+ 2 - 1
jy-business/src/main/java/com/jy/business/corporation/service/impl/CorporationShopServiceImpl.java

@@ -40,8 +40,9 @@ public class CorporationShopServiceImpl implements CorporationShopService {
     }
 
     @Override
-    public void add(CorporationShopDto dto) {
+    public Long add(CorporationShopDto dto) {
         corporationShopDao.save(dto);
+        return dto.getId();
     }
 
     @Override

+ 21 - 4
jy-business/src/main/java/com/jy/business/payment/controller/PaymentRequestsController.java

@@ -81,8 +81,8 @@ public class PaymentRequestsController {
             businessType = BusinessType.INSERT
     )
     @PostMapping("/add")
-    public void add(@RequestBody PaymentRequestsDto dto) {
-        paymentRequestsService.add(dto);
+    public Long add(@RequestBody PaymentRequestsDto dto) {
+        return paymentRequestsService.add(dto);
     }
 
     /**
@@ -102,6 +102,11 @@ public class PaymentRequestsController {
     /**
      * 请款删除
      */
+    @RecordAudit(
+            moduleName = "请款-删除",
+            businessType = BusinessType.DELETE,
+            getOldDataFunName = "getDetailList"
+    )
     @PostMapping("/delete")
     public void delete(@RequestBody BaseSelectDto dto) {
         paymentRequestsService.delete(dto.getIdList());
@@ -130,14 +135,22 @@ public class PaymentRequestsController {
     /**
      * 打款
      */
+    @RecordAudit(
+            moduleName = "打款-新增",
+            businessType = BusinessType.INSERT
+    )
     @PostMapping("/remit")
-    public void remit(@RequestBody PaymentRemit dto) {
-        paymentRequestsService.remit(dto);
+    public Long remit(@RequestBody PaymentRemit dto) {
+        return paymentRequestsService.remit(dto);
     }
 
     /**
      * 撤回流程
      */
+    @RecordAudit(
+            moduleName = "请款-撤回流程",
+            businessType = BusinessType.OTHER
+    )
     @PostMapping("/retrieve")
     public void retrieve(@RequestBody RetrieveDto dto) {
         paymentRequestsService.retrieve(dto);
@@ -163,4 +176,8 @@ public class PaymentRequestsController {
     public PaymentRequestsVo getDetail(PaymentRequestsDto dto) {
         return paymentRequestsService.getDetail(dto.getId());
     }
+
+    public List<PaymentRequestsVo> getDetailList(BaseSelectDto dto) {
+        return dto.getIdList().stream().map(id -> paymentRequestsService.getDetail(id)).toList();
+    }
 }

+ 12 - 0
jy-business/src/main/java/com/jy/business/payment/model/entity/PaymentRemit.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.jy.framework.model.annotation.LogTag;
 import com.jy.framework.model.base.BaseIdPo;
 import java.math.BigDecimal;
 import java.util.Date;
@@ -34,23 +35,34 @@ public class PaymentRemit extends BaseIdPo {
     private Long capitalAccountId;
 
     /**
+     * 付款账户
+     */
+    @LogTag(alias = "付款账户")
+    @TableField(exist = false)
+    private String capitalAccountName;
+
+    /**
      * 请款金额
      */
+    @LogTag(alias = "请款金额")
     private BigDecimal amount;
 
     /**
      * 打款时间
      */
+    @LogTag(alias = "打款时间")
     private Date remitTime;
 
     /**
      * 摘要
      */
+    @LogTag(alias = "摘要")
     private String remark;
 
     /**
      * 附件列表
      */
+    @LogTag(alias = "附件列表")
     private String atts;
 
     /**

+ 1 - 0
jy-business/src/main/java/com/jy/business/payment/model/entity/PaymentRequestsDetail.java

@@ -40,6 +40,7 @@ public class PaymentRequestsDetail extends BaseIdPo {
      * 合同号
      */
     @LogTag(alias = "关联合同")
+    @TableField(exist = false)
     private String contractNo;
 
     /**

+ 4 - 2
jy-business/src/main/java/com/jy/business/payment/service/PaymentRequestsService.java

@@ -34,8 +34,10 @@ public interface PaymentRequestsService {
 
     /**
      * 请款新增
+     *
+     * @return
      */
-    void add(PaymentRequestsDto dto);
+    Long add(PaymentRequestsDto dto);
 
     /**
      * 请款编辑
@@ -55,7 +57,7 @@ public interface PaymentRequestsService {
     /**
      * 打款
      */
-    void remit(PaymentRemit dto);
+    Long remit(PaymentRemit dto);
 
     /**
      * 撤回流程

+ 6 - 2
jy-business/src/main/java/com/jy/business/payment/service/impl/PaymentRequestsServiceImpl.java

@@ -74,7 +74,7 @@ public class PaymentRequestsServiceImpl implements PaymentRequestsService {
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public void add(PaymentRequestsDto dto) {
+    public Long add(PaymentRequestsDto dto) {
         dto.setApprovalStatus(FlowStatusEnum.APPROVAL.getKey());
         dto.setPaymentStatus(CommonConstant.NO);
         dto.setRemitAmount(BigDecimal.ZERO);
@@ -86,6 +86,8 @@ public class PaymentRequestsServiceImpl implements PaymentRequestsService {
 
         // 启动流程
         FlowUtil.start(FlowConstant.PAYMENT_REQUESTS, dto.getId());
+
+        return dto.getId();
     }
 
     @Transactional(rollbackFor = Exception.class)
@@ -113,7 +115,7 @@ public class PaymentRequestsServiceImpl implements PaymentRequestsService {
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public synchronized void remit(PaymentRemit dto) {
+    public synchronized Long remit(PaymentRemit dto) {
         PaymentRequests paymentRequests = paymentRequestsDao.getById(dto.getPaymentRequestsId());
         AssertUtil.notNull(paymentRequests, "未知请款id");
         AssertUtil.eqTrue(dto.getAmount().compareTo(BigDecimal.ZERO) > 0, "请款金额必须大于0");
@@ -144,6 +146,8 @@ public class PaymentRequestsServiceImpl implements PaymentRequestsService {
         capitalTransactionsDto.setRemark(dto.getRemark());
         capitalTransactionsDto.setCorporationShopId(paymentRequests.getCorporationShopId());
         capitalTransactionsService.add(capitalTransactionsDto);
+
+        return dto.getId();
     }
 
     @Transactional(rollbackFor = Exception.class)

+ 0 - 16
jy-log/src/main/java/com/jy/log/controller/LogUserOperationController.java

@@ -45,14 +45,6 @@ public class LogUserOperationController {
     }
 
     /**
-     * 用户操作日志新增
-     */
-    @PostMapping("/add")
-    public void add(@RequestBody LogUserOperationDto dto) {
-        logUserOperationService.add(dto);
-    }
-
-    /**
      * 用户操作日志编辑
      */
     @PostMapping("/edit")
@@ -60,12 +52,4 @@ public class LogUserOperationController {
         logUserOperationService.edit(dto);
     }
 
-    /**
-     * 用户操作日志删除
-     */
-    @PostMapping("/delete")
-    public void delete(@RequestBody BaseSelectDto dto) {
-        logUserOperationService.delete(dto.getIdList());
-    }
-
 }

+ 2 - 1
jy-log/src/main/java/com/jy/log/dao/LogUserOperationDao.java

@@ -32,7 +32,8 @@ public class LogUserOperationDao extends BaseDao<LogUserOperationMapper, LogUser
                         luo.moduleName.like(dto.getModuleName()),
                         luo.operatorId.eq(dto.getOperatorId()),
                         luo.operationType.eq(dto.getOperationType()),
-                        luo.auditStatus.eq(dto.getAuditStatus())
+                        luo.auditStatus.eq(dto.getAuditStatus()),
+                        luo.businessId.eq(dto.getBusinessId())
                 )
                 .orderBy(
                         luo.id.desc()

+ 4 - 0
jy-log/src/main/java/com/jy/log/model/dto/LogUserOperationSelectDto.java

@@ -34,4 +34,8 @@ public class LogUserOperationSelectDto extends BaseSelectDto {
      */
     private Integer auditStatus;
 
+    /**
+     * 业务id
+     */
+    private Long businessId;
 }

+ 24 - 0
jy-log/src/main/java/com/jy/log/record/RecordAuditAspect.java

@@ -10,6 +10,7 @@ import com.jy.framework.model.annotation.RecordAudit;
 import com.jy.framework.model.base.BaseIdPo;
 import com.jy.framework.model.enums.LogTagExtendedType;
 import com.jy.framework.satoken.LoginContext;
+import com.jy.framework.utils.AssertUtil;
 import com.jy.log.model.entity.LogUserOperation;
 import com.jy.log.utils.LogTagUtil;
 import com.jy.log.model.wrapper.ClazzWrapper;
@@ -88,10 +89,18 @@ public class RecordAuditAspect {
                 if (result instanceof BaseIdPo baseIdPo) {
                     logUserOperation.setBusinessId(baseIdPo.getId());
                 }
+
+                if (args != null && args.length == 1) {
+                    Object newObject = JSON.parseObject(JSON.toJSONString(args[0]), parameterTypes[0]);
+                    String description = LogTagUtil.getObjectAllLogTag(newObject);
+                    logUserOperation.setDescription(description);
+                }
             }
             case UPDATE -> {
                 if (args != null && args.length == 1 && args[0] instanceof BaseIdPo) {
                     logUserOperation.setBusinessId(((BaseIdPo) args[0]).getId());
+                    boolean hasPendingAudit = logUserOperationService.hasPendingAuditByBusinessId(logUserOperation.getBusinessId());
+                    AssertUtil.eqFalse(hasPendingAudit, "已存在待修改记录,修改失败!");
                 }
 
                 logUserOperation.setAuditStatus(0);
@@ -112,6 +121,21 @@ public class RecordAuditAspect {
                 logUserOperation.setAuditStatus(0);
                 Object oldData = getOldData(point, signature, recordAudit);
                 logUserOperation.setSourceData(JSONObject.toJSONString(oldData));
+
+                if (ObjectUtil.isNotEmpty(oldData)) {
+                    if (oldData instanceof Collection<?> oldDataCollection) {
+                        String description = oldDataCollection.stream().map(LogTagUtil::getObjectAllLogTag).collect(Collectors.joining("; ", "删除数据:{", "}"));
+                        logUserOperation.setDescription(description);
+                    } else {
+                        String description = LogTagUtil.getObjectAllLogTag(oldData);
+                        logUserOperation.setDescription("删除数据:" + description);
+                    }
+                }
+
+            }
+            case OTHER -> {
+                logUserOperation.setAuditStatus(1);
+                point.proceed();
             }
         }
 

+ 8 - 0
jy-log/src/main/java/com/jy/log/service/LogUserOperationService.java

@@ -44,4 +44,12 @@ public interface LogUserOperationService {
      */
     void delete(List<Long> idList);
 
+    /**
+     * 是否存在待审核数据
+     *
+     * @param businessId 业务ID
+     * @return 结果 true 存在 false 不存在
+     */
+    boolean hasPendingAuditByBusinessId(Long businessId);
+
 }

+ 6 - 0
jy-log/src/main/java/com/jy/log/service/impl/LogUserOperationServiceImpl.java

@@ -116,4 +116,10 @@ public class LogUserOperationServiceImpl implements LogUserOperationService {
         logUserOperationDao.removeBatchByIds(idList);
     }
 
+    @Override
+    public boolean hasPendingAuditByBusinessId(Long businessId) {
+        return logUserOperationDao.exists(q -> q.eq(LogUserOperation::getBusinessId, businessId)
+                .eq(LogUserOperation::getAuditStatus, 0));
+    }
+
 }