集成bms服务模块

This commit is contained in:
hjx
2026-02-09 14:41:55 +08:00
parent 5d89fdc0a6
commit 7ab77cfbf7
267 changed files with 27070 additions and 0 deletions
@@ -0,0 +1,33 @@
package com.mhd.bms.interfaces.JobApi;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
/**
* 定时任务api
*
*/
@Slf4j
@RestController
@RequestMapping("/xxJobApi")
public class JobApi extends BaseController {
/**
* 合同自动出账
*/
@PostMapping("/automaticCheckout")
public AjaxResult automaticCheckout() {
try {
return AjaxResult.success("操作成功");
}catch (Exception e){
return AjaxResult.error("操作失败"+e.getMessage());
}
}
}
@@ -0,0 +1,65 @@
package com.mhd.bms.interfaces.assembler.billManage;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.billManage.repository.todo.BillDetailDO;
import com.mhd.bms.interfaces.dto.billManage.BillDetailDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 账单流水明细Assembler
*
* @author gen
* @date 2024-07-02
*/
@Component
public class BillDetailAssembler {
/**
* 转换实体
*/
public BillDetailDO toDO(BillDetailDTO billDetailDTO) {
BillDetailDO billDetailDO = new BillDetailDO();
// 拷贝
BeanUtils.copyProperties(billDetailDTO, billDetailDO, IgnoreNullUtil.getNullPropertyNames(billDetailDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(billDetailDTO.getBillDetailId() != null){
if(userId != null){
billDetailDO.setUpdateBy(userId);
}else {
billDetailDO.setUpdateBy(new Long("0"));
}
billDetailDO.setUpdateByName(userName);
billDetailDO.setUpdateTime(new Date());
}else {
if(userId != null){
billDetailDO.setCreateBy(userId);
billDetailDO.setUpdateBy(userId);
}else {
billDetailDO.setCreateBy(new Long("0"));
billDetailDO.setUpdateBy(new Long("0"));
}
billDetailDO.setCreateByName(userName);
billDetailDO.setUpdateByName(userName);
billDetailDO.setCreateTime(new Date());
billDetailDO.setUpdateTime(new Date());
billDetailDO.setDelFlag(1);
}
return billDetailDO;
}
}
@@ -0,0 +1,86 @@
package com.mhd.bms.interfaces.assembler.billManage;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.billManage.entity.BillManage;
import com.mhd.bms.domain.billManage.repository.todo.BillManageDO;
import com.mhd.bms.interfaces.dto.billManage.BillManageDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 账单管理Assembler
*
* @author gen
* @date 2024-07-02
*/
@Component
public class BillManageAssembler {
/**
* 转换实体
*/
public BillManageDO toDO(BillManageDTO billManageDTO) {
BillManageDO billManageDO = new BillManageDO();
// 拷贝
BeanUtils.copyProperties(billManageDTO, billManageDO, IgnoreNullUtil.getNullPropertyNames(billManageDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(billManageDTO.getBillManageId() != null){
if(userId != null){
billManageDO.setUpdateBy(userId);
}else {
billManageDO.setUpdateBy(new Long("0"));
}
billManageDO.setUpdateByName(userName);
billManageDO.setUpdateTime(new Date());
}else {
if(userId != null){
billManageDO.setCreateBy(userId);
billManageDO.setUpdateBy(userId);
}else {
billManageDO.setCreateBy(new Long("0"));
billManageDO.setUpdateBy(new Long("0"));
}
billManageDO.setCreateByName(userName);
billManageDO.setUpdateByName(userName);
billManageDO.setCreateTime(new Date());
billManageDO.setUpdateTime(new Date());
billManageDO.setDelFlag(1);
}
return billManageDO;
}
public BillManage getEntity() {
BillManage billManage = new BillManage();
// 拷贝
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(userId != null){
billManage.setCreateBy(userId);
}else {
billManage.setCreateBy(new Long("0"));
}
billManage.setCreateByName(userName);
billManage.setCreateTime(new Date());
billManage.setDelFlag(1);
return billManage;
}
}
@@ -0,0 +1,65 @@
package com.mhd.bms.interfaces.assembler.billOperationLog;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.billOperationLog.repository.todo.BillOperationLogDO;
import com.mhd.bms.interfaces.dto.billOperationLog.BillOperationLogDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 账单操作日志Assembler
*
* @author gen
* @date 2024-07-09
*/
@Component
public class BillOperationLogAssembler {
/**
* 转换实体
*/
public BillOperationLogDO toDO(BillOperationLogDTO billOperationLogDTO) {
BillOperationLogDO billOperationLogDO = new BillOperationLogDO();
// 拷贝
BeanUtils.copyProperties(billOperationLogDTO, billOperationLogDO, IgnoreNullUtil.getNullPropertyNames(billOperationLogDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(billOperationLogDTO.getBillOperationLogId() != null){
if(userId != null){
billOperationLogDO.setUpdateBy(userId);
}else {
billOperationLogDO.setUpdateBy(new Long("0"));
}
billOperationLogDO.setUpdateByName(userName);
billOperationLogDO.setUpdateTime(new Date());
}else {
if(userId != null){
billOperationLogDO.setCreateBy(userId);
billOperationLogDO.setUpdateBy(userId);
}else {
billOperationLogDO.setCreateBy(new Long("0"));
billOperationLogDO.setUpdateBy(new Long("0"));
}
billOperationLogDO.setCreateByName(userName);
billOperationLogDO.setUpdateByName(userName);
billOperationLogDO.setCreateTime(new Date());
billOperationLogDO.setUpdateTime(new Date());
billOperationLogDO.setDelFlag(1);
}
return billOperationLogDO;
}
}
@@ -0,0 +1,65 @@
package com.mhd.bms.interfaces.assembler.billingRules;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.billingRules.repository.todo.BillingParamsDO;
import com.mhd.bms.interfaces.dto.billingRules.BillingParamsDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 计费参数Assembler
*
* @author gen
* @date 2024-07-12
*/
@Component
public class BillingParamsAssembler {
/**
* 转换实体
*/
public BillingParamsDO toDO(BillingParamsDTO billingParamsDTO) {
BillingParamsDO billingParamsDO = new BillingParamsDO();
// 拷贝
BeanUtils.copyProperties(billingParamsDTO, billingParamsDO, IgnoreNullUtil.getNullPropertyNames(billingParamsDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(billingParamsDTO.getBillingParamsId() != null){
if(userId != null){
billingParamsDO.setUpdateBy(userId);
}else {
billingParamsDO.setUpdateBy(new Long("0"));
}
billingParamsDO.setUpdateByName(userName);
billingParamsDO.setUpdateTime(new Date());
}else {
if(userId != null){
billingParamsDO.setCreateBy(userId);
billingParamsDO.setUpdateBy(userId);
}else {
billingParamsDO.setCreateBy(new Long("0"));
billingParamsDO.setUpdateBy(new Long("0"));
}
billingParamsDO.setCreateByName(userName);
billingParamsDO.setUpdateByName(userName);
billingParamsDO.setCreateTime(new Date());
billingParamsDO.setUpdateTime(new Date());
billingParamsDO.setDelFlag(1);
}
return billingParamsDO;
}
}
@@ -0,0 +1,65 @@
package com.mhd.bms.interfaces.assembler.billingRules;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.billingRules.repository.todo.BillingRulesDO;
import com.mhd.bms.interfaces.dto.billingRules.BillingRulesDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 计费规则Assembler
*
* @author gen
* @date 2024-07-12
*/
@Component
public class BillingRulesAssembler {
/**
* 转换实体
*/
public BillingRulesDO toDO(BillingRulesDTO billingRulesDTO) {
BillingRulesDO billingRulesDO = new BillingRulesDO();
// 拷贝
BeanUtils.copyProperties(billingRulesDTO, billingRulesDO, IgnoreNullUtil.getNullPropertyNames(billingRulesDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(billingRulesDTO.getBillingRulesId() != null){
if(userId != null){
billingRulesDO.setUpdateBy(userId);
}else {
billingRulesDO.setUpdateBy(new Long("0"));
}
billingRulesDO.setUpdateByName(userName);
billingRulesDO.setUpdateTime(new Date());
}else {
if(userId != null){
billingRulesDO.setCreateBy(userId);
billingRulesDO.setUpdateBy(userId);
}else {
billingRulesDO.setCreateBy(new Long("0"));
billingRulesDO.setUpdateBy(new Long("0"));
}
billingRulesDO.setCreateByName(userName);
billingRulesDO.setUpdateByName(userName);
billingRulesDO.setCreateTime(new Date());
billingRulesDO.setUpdateTime(new Date());
billingRulesDO.setDelFlag(1);
}
return billingRulesDO;
}
}
@@ -0,0 +1,105 @@
package com.mhd.bms.interfaces.assembler.billingStatement;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.billingStatement.repository.todo.BillingStatementCollectDO;
import com.mhd.bms.domain.billingStatement.repository.todo.BillingStatementDO;
import com.mhd.bms.interfaces.dto.billingStatement.BillingStatementCollectDTO;
import com.mhd.bms.interfaces.dto.billingStatement.BillingStatementDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 计费流水Assembler
*
* @author gen
* @date 2024-06-26
*/
@Component
public class BillingStatementAssembler {
/**
* 转换实体
*/
public BillingStatementDO toDO(BillingStatementDTO billingStatementDTO) {
BillingStatementDO billingStatementDO = new BillingStatementDO();
// 拷贝
BeanUtils.copyProperties(billingStatementDTO, billingStatementDO, IgnoreNullUtil.getNullPropertyNames(billingStatementDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(billingStatementDTO.getBillingStatementId() != null){
if(userId != null){
billingStatementDO.setUpdateBy(userId);
}else {
billingStatementDO.setUpdateBy(new Long("0"));
}
billingStatementDO.setUpdateByName(userName);
billingStatementDO.setUpdateTime(new Date());
}else {
if(userId != null){
billingStatementDO.setCreateBy(userId);
billingStatementDO.setUpdateBy(userId);
}else {
billingStatementDO.setCreateBy(new Long("0"));
billingStatementDO.setUpdateBy(new Long("0"));
}
billingStatementDO.setCreateByName(userName);
billingStatementDO.setUpdateByName(userName);
billingStatementDO.setCreateTime(new Date());
billingStatementDO.setUpdateTime(new Date());
billingStatementDO.setDelFlag(1);
}
return billingStatementDO;
}
public BillingStatementCollectDO toCDO(BillingStatementCollectDTO billingStatementCollectDTO) {
BillingStatementCollectDO billingStatementCollectDO = new BillingStatementCollectDO();
// 拷贝
BeanUtils.copyProperties(billingStatementCollectDTO, billingStatementCollectDO, IgnoreNullUtil.getNullPropertyNames(billingStatementCollectDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(billingStatementCollectDTO.getBillingStatementId() != null){
if(userId != null){
billingStatementCollectDO.setUpdateBy(userId);
}else {
billingStatementCollectDO.setUpdateBy(new Long("0"));
}
billingStatementCollectDO.setUpdateByName(userName);
billingStatementCollectDO.setUpdateTime(new Date());
}else {
if(userId != null){
billingStatementCollectDO.setCreateBy(userId);
billingStatementCollectDO.setUpdateBy(userId);
}else {
billingStatementCollectDO.setCreateBy(new Long("0"));
billingStatementCollectDO.setUpdateBy(new Long("0"));
}
billingStatementCollectDO.setCreateByName(userName);
billingStatementCollectDO.setUpdateByName(userName);
billingStatementCollectDO.setCreateTime(new Date());
billingStatementCollectDO.setUpdateTime(new Date());
billingStatementCollectDO.setDelFlag(1);
}
return billingStatementCollectDO;
}
}
@@ -0,0 +1,83 @@
package com.mhd.bms.interfaces.assembler.businessDocument;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.businessDocument.repository.todo.BusinessDocumentDO;
import com.mhd.bms.interfaces.dto.businessDocument.BusinessDocumentDTO;
import com.mhd.common.core.domain.dto.BusinessDataPushDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 业务单据Assembler
*
* @author gen
* @date 2024-06-21
*/
@Component
public class BusinessDocumentAssembler {
/**
* 转换实体
*/
public BusinessDocumentDO toDO(BusinessDocumentDTO businessDocumentDTO) {
BusinessDocumentDO businessDocumentDO = new BusinessDocumentDO();
// 拷贝
BeanUtils.copyProperties(businessDocumentDTO, businessDocumentDO, IgnoreNullUtil.getNullPropertyNames(businessDocumentDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(businessDocumentDTO.getBusinessDocumentId() != null){
if(userId != null){
businessDocumentDO.setUpdateBy(userId);
}else {
businessDocumentDO.setUpdateBy(new Long("0"));
}
businessDocumentDO.setUpdateByName(userName);
businessDocumentDO.setUpdateTime(new Date());
}else {
if(userId != null){
businessDocumentDO.setCreateBy(userId);
businessDocumentDO.setUpdateBy(userId);
}else {
businessDocumentDO.setCreateBy(new Long("0"));
businessDocumentDO.setUpdateBy(new Long("0"));
}
businessDocumentDO.setCreateByName(userName);
businessDocumentDO.setUpdateByName(userName);
businessDocumentDO.setCreateTime(new Date());
businessDocumentDO.setUpdateTime(new Date());
businessDocumentDO.setDelFlag(1);
}
return businessDocumentDO;
}
public BusinessDocumentDO syncDataAssemble(BusinessDataPushDTO businessDataPushDTO) {
BusinessDocumentDO businessDocumentDO = new BusinessDocumentDO();
// 拷贝
BeanUtils.copyProperties(businessDataPushDTO, businessDocumentDO, IgnoreNullUtil.getNullPropertyNames(businessDataPushDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
businessDocumentDO.setCreateBy(userId);
businessDocumentDO.setCreateByName(userName);
businessDocumentDO.setCreateTime(new Date());
businessDocumentDO.setDelFlag(1);
return businessDocumentDO;
}
}
@@ -0,0 +1,65 @@
package com.mhd.bms.interfaces.assembler.conditionalMapping;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.conditionalMapping.repository.todo.ConditionalMappingDO;
import com.mhd.bms.interfaces.dto.conditionalMapping.ConditionalMappingDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 条件映射管理Assembler
*
* @author gen
* @date 2024-08-07
*/
@Component
public class ConditionalMappingAssembler {
/**
* 转换实体
*/
public ConditionalMappingDO toDO(ConditionalMappingDTO conditionalMappingDTO) {
ConditionalMappingDO conditionalMappingDO = new ConditionalMappingDO();
// 拷贝
BeanUtils.copyProperties(conditionalMappingDTO, conditionalMappingDO, IgnoreNullUtil.getNullPropertyNames(conditionalMappingDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(conditionalMappingDTO.getConditionalMappingId() != null){
if(userId != null){
conditionalMappingDO.setUpdateBy(userId);
}else {
conditionalMappingDO.setUpdateBy(new Long("0"));
}
conditionalMappingDO.setUpdateByName(userName);
conditionalMappingDO.setUpdateTime(new Date());
}else {
if(userId != null){
conditionalMappingDO.setCreateBy(userId);
conditionalMappingDO.setUpdateBy(userId);
}else {
conditionalMappingDO.setCreateBy(new Long("0"));
conditionalMappingDO.setUpdateBy(new Long("0"));
}
conditionalMappingDO.setCreateByName(userName);
conditionalMappingDO.setUpdateByName(userName);
conditionalMappingDO.setCreateTime(new Date());
conditionalMappingDO.setUpdateTime(new Date());
conditionalMappingDO.setDelFlag(1);
}
return conditionalMappingDO;
}
}
@@ -0,0 +1,65 @@
package com.mhd.bms.interfaces.assembler.documentType;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.documentType.repository.todo.DocumentTypeDO;
import com.mhd.bms.interfaces.dto.documentType.DocumentTypeDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 单据类型Assembler
*
* @author gen
* @date 2024-06-18
*/
@Component
public class DocumentTypeAssembler {
/**
* 转换实体
*/
public DocumentTypeDO toDO(DocumentTypeDTO documentTypeDTO) {
DocumentTypeDO documentTypeDO = new DocumentTypeDO();
// 拷贝
BeanUtils.copyProperties(documentTypeDTO, documentTypeDO, IgnoreNullUtil.getNullPropertyNames(documentTypeDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(documentTypeDTO.getDocumentTypeId() != null){
if(userId != null){
documentTypeDO.setUpdateBy(userId);
}else {
documentTypeDO.setUpdateBy(new Long("0"));
}
documentTypeDO.setUpdateByName(userName);
documentTypeDO.setUpdateTime(new Date());
}else {
if(userId != null){
documentTypeDO.setCreateBy(userId);
documentTypeDO.setUpdateBy(userId);
}else {
documentTypeDO.setCreateBy(new Long("0"));
documentTypeDO.setUpdateBy(new Long("0"));
}
documentTypeDO.setCreateByName(userName);
documentTypeDO.setUpdateByName(userName);
documentTypeDO.setCreateTime(new Date());
documentTypeDO.setUpdateTime(new Date());
documentTypeDO.setDelFlag(1);
}
return documentTypeDO;
}
}
@@ -0,0 +1,65 @@
package com.mhd.bms.interfaces.assembler.mappingMethod;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.mappingMethod.repository.todo.MappingMethodDO;
import com.mhd.bms.interfaces.dto.mappingMethod.MappingMethodDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 方法映射Assembler
*
* @author gen
* @date 2024-07-12
*/
@Component
public class MappingMethodAssembler {
/**
* 转换实体
*/
public MappingMethodDO toDO(MappingMethodDTO mappingMethodDTO) {
MappingMethodDO mappingMethodDO = new MappingMethodDO();
// 拷贝
BeanUtils.copyProperties(mappingMethodDTO, mappingMethodDO, IgnoreNullUtil.getNullPropertyNames(mappingMethodDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(mappingMethodDTO.getMappingMethodId() != null){
if(userId != null){
mappingMethodDO.setUpdateBy(userId);
}else {
mappingMethodDO.setUpdateBy(new Long("0"));
}
mappingMethodDO.setUpdateByName(userName);
mappingMethodDO.setUpdateTime(new Date());
}else {
if(userId != null){
mappingMethodDO.setCreateBy(userId);
mappingMethodDO.setUpdateBy(userId);
}else {
mappingMethodDO.setCreateBy(new Long("0"));
mappingMethodDO.setUpdateBy(new Long("0"));
}
mappingMethodDO.setCreateByName(userName);
mappingMethodDO.setUpdateByName(userName);
mappingMethodDO.setCreateTime(new Date());
mappingMethodDO.setUpdateTime(new Date());
mappingMethodDO.setDelFlag(1);
}
return mappingMethodDO;
}
}
@@ -0,0 +1,65 @@
package com.mhd.bms.interfaces.assembler.paymentManage;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.paymentManage.repository.todo.PaymentManageDO;
import com.mhd.bms.interfaces.dto.paymentManage.PaymentManageDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 支付管理Assembler
*
* @author gen
* @date 2024-07-09
*/
@Component
public class PaymentManageAssembler {
/**
* 转换实体
*/
public PaymentManageDO toDO(PaymentManageDTO paymentManageDTO) {
PaymentManageDO paymentManageDO = new PaymentManageDO();
// 拷贝
BeanUtils.copyProperties(paymentManageDTO, paymentManageDO, IgnoreNullUtil.getNullPropertyNames(paymentManageDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(paymentManageDTO.getPaymentManageId() != null){
if(userId != null){
paymentManageDO.setUpdateBy(userId);
}else {
paymentManageDO.setUpdateBy(new Long("0"));
}
paymentManageDO.setUpdateByName(userName);
paymentManageDO.setUpdateTime(new Date());
}else {
if(userId != null){
paymentManageDO.setCreateBy(userId);
paymentManageDO.setUpdateBy(userId);
}else {
paymentManageDO.setCreateBy(new Long("0"));
paymentManageDO.setUpdateBy(new Long("0"));
}
paymentManageDO.setCreateByName(userName);
paymentManageDO.setUpdateByName(userName);
paymentManageDO.setCreateTime(new Date());
paymentManageDO.setUpdateTime(new Date());
paymentManageDO.setDelFlag(1);
}
return paymentManageDO;
}
}
@@ -0,0 +1,65 @@
package com.mhd.bms.interfaces.assembler.paymentOrder;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.paymentOrder.repository.todo.PaymentOrderDO;
import com.mhd.bms.interfaces.dto.paymentOrder.PaymentOrderDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 付款单Assembler
*
* @author gen
* @date 2024-07-16
*/
@Component
public class PaymentOrderAssembler {
/**
* 转换实体
*/
public PaymentOrderDO toDO(PaymentOrderDTO paymentOrderDTO) {
PaymentOrderDO paymentOrderDO = new PaymentOrderDO();
// 拷贝
BeanUtils.copyProperties(paymentOrderDTO, paymentOrderDO, IgnoreNullUtil.getNullPropertyNames(paymentOrderDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(paymentOrderDTO.getPaymentOrderId() != null){
if(userId != null){
paymentOrderDO.setUpdateBy(userId);
}else {
paymentOrderDO.setUpdateBy(new Long("0"));
}
paymentOrderDO.setUpdateByName(userName);
paymentOrderDO.setUpdateTime(new Date());
}else {
if(userId != null){
paymentOrderDO.setCreateBy(userId);
paymentOrderDO.setUpdateBy(userId);
}else {
paymentOrderDO.setCreateBy(new Long("0"));
paymentOrderDO.setUpdateBy(new Long("0"));
}
paymentOrderDO.setCreateByName(userName);
paymentOrderDO.setUpdateByName(userName);
paymentOrderDO.setCreateTime(new Date());
paymentOrderDO.setUpdateTime(new Date());
paymentOrderDO.setDelFlag(1);
}
return paymentOrderDO;
}
}
@@ -0,0 +1,65 @@
package com.mhd.bms.interfaces.assembler.paymentOrder;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.paymentOrder.repository.todo.PaymentOrderDetailsDO;
import com.mhd.bms.interfaces.dto.paymentOrder.PaymentOrderDetailsDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 付款单详情Assembler
*
* @author gen
* @date 2024-07-16
*/
@Component
public class PaymentOrderDetailsAssembler {
/**
* 转换实体
*/
public PaymentOrderDetailsDO toDO(PaymentOrderDetailsDTO paymentOrderDetailsDTO) {
PaymentOrderDetailsDO paymentOrderDetailsDO = new PaymentOrderDetailsDO();
// 拷贝
BeanUtils.copyProperties(paymentOrderDetailsDTO, paymentOrderDetailsDO, IgnoreNullUtil.getNullPropertyNames(paymentOrderDetailsDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(paymentOrderDetailsDTO.getPaymentOrderDetailsId() != null){
if(userId != null){
paymentOrderDetailsDO.setUpdateBy(userId);
}else {
paymentOrderDetailsDO.setUpdateBy(new Long("0"));
}
paymentOrderDetailsDO.setUpdateByName(userName);
paymentOrderDetailsDO.setUpdateTime(new Date());
}else {
if(userId != null){
paymentOrderDetailsDO.setCreateBy(userId);
paymentOrderDetailsDO.setUpdateBy(userId);
}else {
paymentOrderDetailsDO.setCreateBy(new Long("0"));
paymentOrderDetailsDO.setUpdateBy(new Long("0"));
}
paymentOrderDetailsDO.setCreateByName(userName);
paymentOrderDetailsDO.setUpdateByName(userName);
paymentOrderDetailsDO.setCreateTime(new Date());
paymentOrderDetailsDO.setUpdateTime(new Date());
paymentOrderDetailsDO.setDelFlag(1);
}
return paymentOrderDetailsDO;
}
}
@@ -0,0 +1,65 @@
package com.mhd.bms.interfaces.assembler.paymentWallet;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.paymentWallet.repository.todo.PaymentWalletDO;
import com.mhd.bms.interfaces.dto.paymentWallet.PaymentWalletDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 支付钱包管理Assembler
*
* @author gen
* @date 2024-07-09
*/
@Component
public class PaymentWalletAssembler {
/**
* 转换实体
*/
public PaymentWalletDO toDO(PaymentWalletDTO paymentWalletDTO) {
PaymentWalletDO paymentWalletDO = new PaymentWalletDO();
// 拷贝
BeanUtils.copyProperties(paymentWalletDTO, paymentWalletDO, IgnoreNullUtil.getNullPropertyNames(paymentWalletDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(paymentWalletDTO.getPaymentWalletId() != null){
if(userId != null){
paymentWalletDO.setUpdateBy(userId);
}else {
paymentWalletDO.setUpdateBy(new Long("0"));
}
paymentWalletDO.setUpdateByName(userName);
paymentWalletDO.setUpdateTime(new Date());
}else {
if(userId != null){
paymentWalletDO.setCreateBy(userId);
paymentWalletDO.setUpdateBy(userId);
}else {
paymentWalletDO.setCreateBy(new Long("0"));
paymentWalletDO.setUpdateBy(new Long("0"));
}
paymentWalletDO.setCreateByName(userName);
paymentWalletDO.setUpdateByName(userName);
paymentWalletDO.setCreateTime(new Date());
paymentWalletDO.setUpdateTime(new Date());
paymentWalletDO.setDelFlag(1);
}
return paymentWalletDO;
}
}
@@ -0,0 +1,65 @@
package com.mhd.bms.interfaces.assembler.receiptManage;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.receiptManage.repository.todo.ReceiptDetailDO;
import com.mhd.bms.interfaces.dto.receiptManage.ReceiptDetailDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 收款单详情Assembler
*
* @author gen
* @date 2024-07-08
*/
@Component
public class ReceiptDetailAssembler {
/**
* 转换实体
*/
public ReceiptDetailDO toDO(ReceiptDetailDTO receiptDetailDTO) {
ReceiptDetailDO receiptDetailDO = new ReceiptDetailDO();
// 拷贝
BeanUtils.copyProperties(receiptDetailDTO, receiptDetailDO, IgnoreNullUtil.getNullPropertyNames(receiptDetailDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(receiptDetailDTO.getReceiptDetailId() != null){
if(userId != null){
receiptDetailDO.setUpdateBy(userId);
}else {
receiptDetailDO.setUpdateBy(new Long("0"));
}
receiptDetailDO.setUpdateByName(userName);
receiptDetailDO.setUpdateTime(new Date());
}else {
if(userId != null){
receiptDetailDO.setCreateBy(userId);
receiptDetailDO.setUpdateBy(userId);
}else {
receiptDetailDO.setCreateBy(new Long("0"));
receiptDetailDO.setUpdateBy(new Long("0"));
}
receiptDetailDO.setCreateByName(userName);
receiptDetailDO.setUpdateByName(userName);
receiptDetailDO.setCreateTime(new Date());
receiptDetailDO.setUpdateTime(new Date());
receiptDetailDO.setDelFlag(1);
}
return receiptDetailDO;
}
}
@@ -0,0 +1,65 @@
package com.mhd.bms.interfaces.assembler.receiptManage;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.receiptManage.repository.todo.ReceiptManageDO;
import com.mhd.bms.interfaces.dto.receiptManage.ReceiptManageDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 收款单管理Assembler
*
* @author gen
* @date 2024-07-08
*/
@Component
public class ReceiptManageAssembler {
/**
* 转换实体
*/
public ReceiptManageDO toDO(ReceiptManageDTO receiptManageDTO) {
ReceiptManageDO receiptManageDO = new ReceiptManageDO();
// 拷贝
BeanUtils.copyProperties(receiptManageDTO, receiptManageDO, IgnoreNullUtil.getNullPropertyNames(receiptManageDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(receiptManageDTO.getReceiptManageId() != null){
if(userId != null){
receiptManageDO.setUpdateBy(userId);
}else {
receiptManageDO.setUpdateBy(new Long("0"));
}
receiptManageDO.setUpdateByName(userName);
receiptManageDO.setUpdateTime(new Date());
}else {
if(userId != null){
receiptManageDO.setCreateBy(userId);
receiptManageDO.setUpdateBy(userId);
}else {
receiptManageDO.setCreateBy(new Long("0"));
receiptManageDO.setUpdateBy(new Long("0"));
}
receiptManageDO.setCreateByName(userName);
receiptManageDO.setUpdateByName(userName);
receiptManageDO.setCreateTime(new Date());
receiptManageDO.setUpdateTime(new Date());
receiptManageDO.setDelFlag(1);
}
return receiptManageDO;
}
}
@@ -0,0 +1,65 @@
package com.mhd.bms.interfaces.assembler.reportForm;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.reportForm.repository.todo.FormQueryManageDO;
import com.mhd.bms.interfaces.dto.reportForm.FormQueryManageDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 查询条件管理Assembler
*
* @author gen
* @date 2024-07-26
*/
@Component
public class FormQueryManageAssembler {
/**
* 转换实体
*/
public FormQueryManageDO toDO(FormQueryManageDTO formQueryManageDTO) {
FormQueryManageDO formQueryManageDO = new FormQueryManageDO();
// 拷贝
BeanUtils.copyProperties(formQueryManageDTO, formQueryManageDO, IgnoreNullUtil.getNullPropertyNames(formQueryManageDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(formQueryManageDTO.getFormQueryManageId() != null){
if(userId != null){
formQueryManageDO.setUpdateBy(userId);
}else {
formQueryManageDO.setUpdateBy(new Long("0"));
}
formQueryManageDO.setUpdateByName(userName);
formQueryManageDO.setUpdateTime(new Date());
}else {
if(userId != null){
formQueryManageDO.setCreateBy(userId);
formQueryManageDO.setUpdateBy(userId);
}else {
formQueryManageDO.setCreateBy(new Long("0"));
formQueryManageDO.setUpdateBy(new Long("0"));
}
formQueryManageDO.setCreateByName(userName);
formQueryManageDO.setUpdateByName(userName);
formQueryManageDO.setCreateTime(new Date());
formQueryManageDO.setUpdateTime(new Date());
formQueryManageDO.setDelFlag(1);
}
return formQueryManageDO;
}
}
@@ -0,0 +1,65 @@
package com.mhd.bms.interfaces.assembler.reportForm;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.reportForm.repository.todo.FormQueryParamsDO;
import com.mhd.bms.interfaces.dto.reportForm.FormQueryParamsDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 报查询条件管理Assembler
*
* @author gen
* @date 2024-07-25
*/
@Component
public class FormQueryParamsAssembler {
/**
* 转换实体
*/
public FormQueryParamsDO toDO(FormQueryParamsDTO formQueryParamsDTO) {
FormQueryParamsDO formQueryParamsDO = new FormQueryParamsDO();
// 拷贝
BeanUtils.copyProperties(formQueryParamsDTO, formQueryParamsDO, IgnoreNullUtil.getNullPropertyNames(formQueryParamsDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(formQueryParamsDTO.getFormQueryParamsId() != null){
if(userId != null){
formQueryParamsDO.setUpdateBy(userId);
}else {
formQueryParamsDO.setUpdateBy(new Long("0"));
}
formQueryParamsDO.setUpdateByName(userName);
formQueryParamsDO.setUpdateTime(new Date());
}else {
if(userId != null){
formQueryParamsDO.setCreateBy(userId);
formQueryParamsDO.setUpdateBy(userId);
}else {
formQueryParamsDO.setCreateBy(new Long("0"));
formQueryParamsDO.setUpdateBy(new Long("0"));
}
formQueryParamsDO.setCreateByName(userName);
formQueryParamsDO.setUpdateByName(userName);
formQueryParamsDO.setCreateTime(new Date());
formQueryParamsDO.setUpdateTime(new Date());
formQueryParamsDO.setDelFlag(1);
}
return formQueryParamsDO;
}
}
@@ -0,0 +1,65 @@
package com.mhd.bms.interfaces.assembler.reportForm;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.reportForm.repository.todo.ReportFormDO;
import com.mhd.bms.interfaces.dto.reportForm.ReportFormDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 分析报管理Assembler
*
* @author gen
* @date 2024-07-25
*/
@Component
public class ReportFormAssembler {
/**
* 转换实体
*/
public ReportFormDO toDO(ReportFormDTO reportFormDTO) {
ReportFormDO reportFormDO = new ReportFormDO();
// 拷贝
BeanUtils.copyProperties(reportFormDTO, reportFormDO, IgnoreNullUtil.getNullPropertyNames(reportFormDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(reportFormDTO.getReportFormId() != null){
if(userId != null){
reportFormDO.setUpdateBy(userId);
}else {
reportFormDO.setUpdateBy(new Long("0"));
}
reportFormDO.setUpdateByName(userName);
reportFormDO.setUpdateTime(new Date());
}else {
if(userId != null){
reportFormDO.setCreateBy(userId);
reportFormDO.setUpdateBy(userId);
}else {
reportFormDO.setCreateBy(new Long("0"));
reportFormDO.setUpdateBy(new Long("0"));
}
reportFormDO.setCreateByName(userName);
reportFormDO.setUpdateByName(userName);
reportFormDO.setCreateTime(new Date());
reportFormDO.setUpdateTime(new Date());
reportFormDO.setDelFlag(1);
}
return reportFormDO;
}
}
@@ -0,0 +1,65 @@
package com.mhd.bms.interfaces.assembler.settlementCustomers;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.settlementCustomers.repository.todo.SettlementCustomersDO;
import com.mhd.bms.interfaces.dto.settlementCustomers.SettlementCustomersDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 结算对象Assembler
*
* @author gen
* @date 2024-06-17
*/
@Component
public class SettlementCustomersAssembler {
/**
* 转换实体
*/
public SettlementCustomersDO toDO(SettlementCustomersDTO settlementCustomersDTO) {
SettlementCustomersDO settlementCustomersDO = new SettlementCustomersDO();
// 拷贝
BeanUtils.copyProperties(settlementCustomersDTO, settlementCustomersDO, IgnoreNullUtil.getNullPropertyNames(settlementCustomersDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(settlementCustomersDTO.getSettlementCustomersId() != null){
if(userId != null){
settlementCustomersDO.setUpdateBy(userId);
}else {
settlementCustomersDO.setUpdateBy(new Long("0"));
}
settlementCustomersDO.setUpdateByName(userName);
settlementCustomersDO.setUpdateTime(new Date());
}else {
if(userId != null){
settlementCustomersDO.setCreateBy(userId);
settlementCustomersDO.setUpdateBy(userId);
}else {
settlementCustomersDO.setCreateBy(new Long("0"));
settlementCustomersDO.setUpdateBy(new Long("0"));
}
settlementCustomersDO.setCreateByName(userName);
settlementCustomersDO.setUpdateByName(userName);
settlementCustomersDO.setCreateTime(new Date());
settlementCustomersDO.setUpdateTime(new Date());
settlementCustomersDO.setDelFlag(1);
}
return settlementCustomersDO;
}
}
@@ -0,0 +1,65 @@
package com.mhd.bms.interfaces.assembler.taskFlowRecords;
import cn.hutool.core.util.ObjectUtil;
import com.mhd.bms.domain.taskFlowRecords.repository.todo.TaskFlowRecordsDO;
import com.mhd.bms.interfaces.dto.taskFlowRecords.TaskFlowRecordsDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 任务流水记录Assembler
*
* @author gen
* @date 2024-06-20
*/
@Component
public class TaskFlowRecordsAssembler {
/**
* 转换实体
*/
public TaskFlowRecordsDO toDO(TaskFlowRecordsDTO taskFlowRecordsDTO) {
TaskFlowRecordsDO taskFlowRecordsDO = new TaskFlowRecordsDO();
// 拷贝
BeanUtils.copyProperties(taskFlowRecordsDTO, taskFlowRecordsDO, IgnoreNullUtil.getNullPropertyNames(taskFlowRecordsDTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(taskFlowRecordsDTO.getTaskFlowRecordsId() != null){
if(userId != null){
taskFlowRecordsDO.setUpdateBy(userId);
}else {
taskFlowRecordsDO.setUpdateBy(new Long("0"));
}
taskFlowRecordsDO.setUpdateByName(userName);
taskFlowRecordsDO.setUpdateTime(new Date());
}else {
if(userId != null){
taskFlowRecordsDO.setCreateBy(userId);
taskFlowRecordsDO.setUpdateBy(userId);
}else {
taskFlowRecordsDO.setCreateBy(new Long("0"));
taskFlowRecordsDO.setUpdateBy(new Long("0"));
}
taskFlowRecordsDO.setCreateByName(userName);
taskFlowRecordsDO.setUpdateByName(userName);
taskFlowRecordsDO.setCreateTime(new Date());
taskFlowRecordsDO.setUpdateTime(new Date());
taskFlowRecordsDO.setDelFlag(1);
}
return taskFlowRecordsDO;
}
}
@@ -0,0 +1,127 @@
package com.mhd.bms.interfaces.dto.billManage;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 账单流水明细对象 bill_detail
*
* @author gen
* @date 2024-07-02
*/
@Data
public class BillDetailDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("账单流水明细id")
private Long billDetailId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("账单管理id")
@Excel(name = "账单管理id")
private Long billManageId;
@ApiModelProperty("账单编号")
@Excel(name = "账单编号")
private String billNumber;
@ApiModelProperty("计费流水id")
@Excel(name = "计费流水id")
private Long billingStatementId;
@ApiModelProperty("计费流水号")
@Excel(name = "计费流水号")
private String billingFlow;
@ApiModelProperty("费用总额")
@Excel(name = "费用总额")
private BigDecimal billingTotalAmount;
@ApiModelProperty("账单优惠金额")
@Excel(name = "账单优惠金额")
private BigDecimal billingDiscountAmount;
@ApiModelProperty("账单金额")
@Excel(name = "账单金额")
private BigDecimal billingAmount;
@ApiModelProperty("账单类型(1-应收,2-应付)")
@Excel(name = "账单类型", readConverterExp = "1=-应收,2-应付")
private Integer billType;
@ApiModelProperty("期望金额")
@Excel(name = "期望金额")
private BigDecimal billingExpectedAmount;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty("结算对象code")
@Excel(name = "结算对象code")
private String settlementCustomersCode;
@ApiModelProperty("结算对象")
@Excel(name = "结算对象")
private String settlementEntity;
@ApiModelProperty("业务日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "业务日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date businessDate;
@ApiModelProperty("周期开始时间")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "周期开始时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date cycleBeginTime;
@ApiModelProperty("周期结束时间")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "周期结束时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date cycleEndTime;
@ApiModelProperty("费用类型code(服务项)")
@Excel(name = "费用类型code", readConverterExp = "服=务项")
private String serviceItemsCode;
@ApiModelProperty("费用类型")
@Excel(name = "费用类型")
private String serviceItemsName;
@ApiModelProperty("一级费用科目code")
@Excel(name = "一级费用科目code")
private String firstSubjectCode;
@ApiModelProperty("一级费用科目(结算项)")
@Excel(name = "一级费用科目", readConverterExp = "结=算项")
private String firstSubjectName;
@ApiModelProperty("二级费用科目code")
@Excel(name = "二级费用科目code")
private String secondSubjectCode;
@ApiModelProperty("二级费用科目(结算项)")
@Excel(name = "二级费用科目", readConverterExp = "结=算项")
private String secondSubjectName;
}
@@ -0,0 +1,214 @@
package com.mhd.bms.interfaces.dto.billManage;
import com.mhd.bms.domain.billManage.repository.po.BillDetailPO;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
import java.util.Set;
/**
* 账单管理对象 bill_manage
*
* @author gen
* @date 2024-07-02
*/
@Data
public class BillManageDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("账单管理id")
private Long billManageId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("账单编号")
@Excel(name = "账单编号")
private String billNumber;
@ApiModelProperty("账单类型(1-应收,2-应付)")
@Excel(name = "账单类型", readConverterExp = "1=-应收,2-应付")
private Integer billType;
@ApiModelProperty("账单状态(1-未确认,2-对账中,3-未收款/付款,4-部分收款/付款,5-已收款/付款,6-已作废,7-已退款)")
@Excel(name = "账单状态", readConverterExp = "1=-未确认,2-对账中,3-未收款/付款,4-部分收款/付款,5-已收款/付款,6-已作废,7-已退款")
private Integer billState;
@ApiModelProperty("账单流程节点(1-发起对账,2-客户确认,3-财务审核,4-收款/付款)")
@Excel(name = "账单流程节点", readConverterExp = "1=-发起对账,2-客户确认,3-财务审核,4-收款/付款")
private Integer billStep;
@ApiModelProperty("系统来源")
@Excel(name = "系统来源")
private String belongModule;
@ApiModelProperty("系统来源code")
@Excel(name = "系统来源code")
private String belongModuleCode;
@ApiModelProperty("结算对象id")
@Excel(name = "结算对象id")
private Long settlementCustomersId;
@ApiModelProperty("结算对象code")
@Excel(name = "结算对象code")
private String settlementCustomersCode;
@ApiModelProperty("结算对象")
@Excel(name = "结算对象")
private String settlementEntity;
@ApiModelProperty("账单总金额")
@Excel(name = "账单总金额")
private BigDecimal billTotalAmount;
@ApiModelProperty("优惠金额")
@Excel(name = "优惠金额")
private BigDecimal billDiscountAmount;
@ApiModelProperty("账单金额")
@Excel(name = "账单金额")
private BigDecimal billAmount;
@ApiModelProperty("已收/付金额")
@Excel(name = "已收/付金额")
private BigDecimal billAmountSettlement;
@ApiModelProperty("未收/付金额")
@Excel(name = "未收/付金额")
private BigDecimal billAmountUnsettled;
@ApiModelProperty("期望金额")
@Excel(name = "期望金额")
private BigDecimal billExpectedAmount;
@ApiModelProperty("对账状态(1-暂未确认,2-申请调账,3-财务调账,4-核对无误)")
@Excel(name = "对账状态", readConverterExp = "1=-暂未确认,2-申请调账,3-财务调账,4-核对无误")
private Integer reconciliationStatus;
@ApiModelProperty("对账意见描述")
@Excel(name = "对账意见描述")
private String reconciliationOpinion;
@ApiModelProperty("客户凭证地址")
@Excel(name = "客户凭证地址")
private String voucherAddress;
@ApiModelProperty("财务审核结果(1-同意,2-拒绝)")
@Excel(name = "财务审核结果(1-同意,2-拒绝)")
private Integer financialReviewFlag;
@ApiModelProperty("审核意见描述")
@Excel(name = "审核意见描述")
private String financialReviewOpinion;
@ApiModelProperty("周期开始时间")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "周期开始时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date cycleBeginTime;
@ApiModelProperty("周期结束时间")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "周期结束时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date cycleEndTime;
@ApiModelProperty("收款/付款时间")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "收款/付款时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date settlementTime;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String billRemark;
@ApiModelProperty("折扣百分比")
@Excel(name = "折扣百分比")
private BigDecimal billDiscount;
@ApiModelProperty("折扣上限金额")
@Excel(name = "折扣上限金额")
private BigDecimal billDiscountLimit;
@ApiModelProperty("费用计算精度code")
@Excel(name = "费用计算精度code")
private String costAccuracyCode;
@ApiModelProperty("费用计算精度name")
@Excel(name = "费用计算精度name")
private String costAccuracyName;
@ApiModelProperty("尾数计算code")
@Excel(name = "尾数计算code")
private String tailCalculationCode;
@ApiModelProperty("尾数计算name")
@Excel(name = "尾数计算name")
private String tailCalculationName;
@ApiModelProperty("账单金额精度code")
@Excel(name = "账单金额精度code")
private String amountAccuracyCode;
@ApiModelProperty("账单金额精度name")
@Excel(name = "账单金额精度name")
private String amountAccuracyName;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty(name = "创建时间查询条件开始日期")
private String createTimeStart;
@ApiModelProperty(name = "创建时间查询条件结束日期")
private String createTimeEnd;
@ApiModelProperty(name = "修改时间查询条件开始日期")
private String updateTimeStart;
@ApiModelProperty(name = "修改时间查询条件结束日期")
private String updateTimeEnd;
@ApiModelProperty("查询条件类型(1-未结清,2-已结清,3-已作废)")
private Integer queryParam;
@ApiModelProperty("账单管理ids")
private String billManageIds;
@ApiModelProperty(name = "账单管理id集合")
private Set<String> billManageIdSet;
@ApiModelProperty("账单详情明细列表")
private List<BillDetailDTO> billDetailDTOList;
@ApiModelProperty("结算方式(1-现金,2-油卡)")
private Integer settlementWay;
@ApiModelProperty("结算方式")
private String settlementMethod;
@ApiModelProperty("结算方式编码")
private String settlementMethodCode;
@ApiModelProperty("实收金额")
private BigDecimal actualReceivedAmount;
@ApiModelProperty("结算单优惠金额")
private BigDecimal settlementDiscountsAmount;
}
@@ -0,0 +1,56 @@
package com.mhd.bms.interfaces.dto.billOperationLog;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 账单操作日志对象 bill_operation_log
*
* @author gen
* @date 2024-07-09
*/
@Data
public class BillOperationLogDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("账单操作日志id")
private Long billOperationLogId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("账单管理id")
@Excel(name = "账单管理id")
private Long billManageId;
@ApiModelProperty("操作类型(1-创建账单,2-调整账单,3-确认账单,4-发起对账,5-客户确认,6-财务审核,7-收款,8-作废账单,9-删除账单,10-退款,11-付款)")
@Excel(name = "操作类型", readConverterExp = "1=-创建账单,2-调整账单,3-确认账单,4-发起对账,5-客户确认,6-财务审核,7-收款,8-作废账单,9-删除账单,10-退款,11-付款")
private Integer operationType;
@ApiModelProperty("操作信息")
@Excel(name = "操作信息")
private String operationInfo;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
}
@@ -0,0 +1,68 @@
package com.mhd.bms.interfaces.dto.billingRules;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 计费参数对象 billing_params
*
* @author gen
* @date 2024-07-12
*/
@Data
public class BillingParamsDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("计费参数id")
private Long billingParamsId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("计费参数表名称")
@Excel(name = "计费参数表名称")
private String billingParamsName;
@ApiModelProperty("说明")
@Excel(name = "说明")
private String billingIllustrate;
@ApiModelProperty("计费参数json串")
@Excel(name = "计费参数json串")
private String billingParamsJson;
@ApiModelProperty("计费参数输出json串")
@Excel(name = "计费参数输出json串")
private String billingOutputJson;
@ApiModelProperty("预置规则json串")
@Excel(name = "预置规则json串")
private String preSetRules;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty("计费规则id")
private Long billingRulesId;
}
@@ -0,0 +1,108 @@
package com.mhd.bms.interfaces.dto.billingRules;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 计费规则对象 billing_rules
*
* @author gen
* @date 2024-07-12
*/
@Data
public class BillingRulesDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("计费规则id")
private Long billingRulesId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("费用类型code(服务项)")
@Excel(name = "费用类型code", readConverterExp = "服=务项")
private String serviceItemsCode;
@ApiModelProperty("费用类型")
@Excel(name = "费用类型")
private String serviceItemsName;
@ApiModelProperty("一级费用科目code")
@Excel(name = "一级费用科目code")
private String firstSubjectCode;
@ApiModelProperty("一级费用科目(结算项)")
@Excel(name = "一级费用科目", readConverterExp = "结=算项")
private String firstSubjectName;
@ApiModelProperty("二级费用科目code")
@Excel(name = "二级费用科目code")
private String secondSubjectCode;
@ApiModelProperty("二级费用科目(结算项)")
@Excel(name = "二级费用科目", readConverterExp = "结=算项")
private String secondSubjectName;
@ApiModelProperty("单据类型code")
@Excel(name = "单据类型code")
private String documentTypeCode;
@ApiModelProperty("单据类型")
@Excel(name = "单据类型")
private String documentType;
@ApiModelProperty("规则说明")
@Excel(name = "规则说明", readConverterExp = "规则说明")
private String billingRulesIllustrate;
@ApiModelProperty("状态(1-开启,2-关闭)")
@Excel(name = "状态", readConverterExp = "1=-开启,2-关闭")
private Integer billingRulesState;
@ApiModelProperty("计费公式")
@Excel(name = "计费公式")
private String billingFormula;
@ApiModelProperty("计费规则ids")
private String billingRulesIds;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty(name = "计费参数集合")
private List<BillingParamsDTO> billingParamsDTOList;
@ApiModelProperty("计费规则编码")
@Excel(name = "计费规则编码")
private String billingRulesCode;
@ApiModelProperty("计费规则名称")
@Excel(name = "计费规则名称", readConverterExp = "计费规则名称")
private String billingRulesName;
@ApiModelProperty(name = "创建时间查询条件开始日期")
private String createTimeStart;
@ApiModelProperty(name = "创建时间查询条件结束日期")
private String createTimeEnd;
}
@@ -0,0 +1,42 @@
package com.mhd.bms.interfaces.dto.billingRules;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.validation.annotation.Validated;
import javax.validation.constraints.NotBlank;
/**
* 费用计算请求实体
*
*/
@Data
public class CostCalculationDTO{
private static final long serialVersionUID = 1L;
@ApiModelProperty("原始单号")
private String originalBusinessNum;
@ApiModelProperty("单据类型编码")
@NotBlank(message = "单据类型编码不能为空")
private String documentTypeCode;
@ApiModelProperty("费用科目(一级或二级)")
@NotBlank(message = "费用科目编码不能为空")
private String subjectCode;
@ApiModelProperty("合同编号")
@NotBlank(message = "合同编号不能为空")
private String contractNumber;
@ApiModelProperty("参数json数组")
@NotBlank(message = "计费参数不能为空")
private String formJson;
}
@@ -0,0 +1,57 @@
package com.mhd.bms.interfaces.dto.billingStatement;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mhd.common.core.annotation.Excel;
import com.mhd.common.core.web.domain.BaseVOEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class BillingStatementCollectDTO extends BaseVOEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("计费流水id")
private Long billingStatementId;
@ApiModelProperty("结算对象")
private String settlementEntity;
@ApiModelProperty("结算代码")
private String settlementCustomersCode;
@ApiModelProperty("费用总额")
private BigDecimal billAmountSum;
@ApiModelProperty("费用类型")
private Integer accountExpenseType;
@ApiModelProperty("流水数量")
private Integer countFee;
@ApiModelProperty("创建时间从")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date businessStartDate;
@ApiModelProperty("创建时间至")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date businessEndDate;
@ApiModelProperty("所属组织")
private String organizationName;
@ApiModelProperty("一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("出账状态")
private Integer billingState;
@ApiModelProperty("合同类型")
@Excel(name = "合同类型")
private String contractType;
}
@@ -0,0 +1,230 @@
package com.mhd.bms.interfaces.dto.billingStatement;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 计费流水对象 billing_statement
*
* @author gen
* @date 2024-06-26
*/
@Data
public class BillingStatementDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("计费流水id")
private Long billingStatementId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("结算对象id")
@Excel(name = "结算对象id")
private Long settlementCustomersId;
@ApiModelProperty("结算对象code")
@Excel(name = "结算对象code")
private String settlementCustomersCode;
@ApiModelProperty("结算对象")
@Excel(name = "结算对象")
private String settlementEntity;
@ApiModelProperty("业务日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "业务日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date businessDate;
@ApiModelProperty("周期开始时间")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "周期开始时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date cycleBeginTime;
@ApiModelProperty("周期结束时间")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "周期结束时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date cycleEndTime;
@ApiModelProperty("费用类型code(服务项)")
@Excel(name = "费用类型code", readConverterExp = "服=务项")
private String serviceItemsCode;
@ApiModelProperty("费用类型")
@Excel(name = "费用类型")
private String serviceItemsName;
@ApiModelProperty("费用类型id(服务项)")
@Excel(name = "费用类型id", readConverterExp = "服=务项")
private Long serviceItemsManageId;
@ApiModelProperty("一级费用科目code")
@Excel(name = "一级费用科目code")
private String firstSubjectCode;
@ApiModelProperty("一级费用科目(结算项)")
@Excel(name = "一级费用科目", readConverterExp = "结=算项")
private String firstSubjectName;
@ApiModelProperty("二级费用科目code")
@Excel(name = "二级费用科目code")
private String secondSubjectCode;
@ApiModelProperty("二级费用科目(结算项)")
@Excel(name = "二级费用科目", readConverterExp = "结=算项")
private String secondSubjectName;
@ApiModelProperty("流水金额")
@Excel(name = "流水金额")
private BigDecimal billingAmount;
@ApiModelProperty("收支类型(1-应收,2-应付)")
@Excel(name = "收支类型", readConverterExp = "1=-应收,2-应付")
private Integer accountExpenseType;
@ApiModelProperty("流水备注")
@Excel(name = "流水备注")
private String billingRemark;
@ApiModelProperty("业务单号")
@Excel(name = "业务单号")
private String originalBusinessNum;
@ApiModelProperty("业务流水号")
@Excel(name = "业务流水号")
private String businessFlow;
@ApiModelProperty("合同编号")
@Excel(name = "合同编号")
private String contractNumber;
@ApiModelProperty("合同名称")
@Excel(name = "合同名称")
private String contractName;
@ApiModelProperty("合同管理id")
@Excel(name = "合同管理id")
private Long contractManageId;
@ApiModelProperty("项目编码")
@Excel(name = "项目编码")
private String projectCode;
@ApiModelProperty("项目名称")
@Excel(name = "项目名称")
private String projectName;
@ApiModelProperty("项目管理id")
@Excel(name = "项目管理id")
private Long projectManageId;
@ApiModelProperty("流水状态(1-待审核,2-已审核,3-已出账,4-已驳回,5-已作废)")
@Excel(name = "流水状态", readConverterExp = "1=-待审核,2-已审核,3-已出账,4-已驳回,5-已作废")
private Integer billingState;
@ApiModelProperty("红冲状态(1-未红冲,2-已红冲)")
@Excel(name = "红冲状态", readConverterExp = "1=-未红冲,2-已红冲")
private Integer redFlushState;
@ApiModelProperty("类型名称")
@Excel(name = "类型名称")
private String documentType;
@ApiModelProperty("类型编码")
@Excel(name = "类型编码")
private String documentTypeCode;
@ApiModelProperty("单据类型id")
@Excel(name = "单据类型id")
private Long documentTypeId;
@ApiModelProperty("对接系统编码")
@Excel(name = "对接系统编码")
private String belongModuleCode;
@ApiModelProperty("对接系统")
@Excel(name = "对接系统")
private String belongModule;
@ApiModelProperty("数据来源(1-系统生成,2-手工录入)")
@Excel(name = "数据来源", readConverterExp = "1=-系统生成,2-手工录入")
private Integer dataSources;
@ApiModelProperty("审核备注")
@Excel(name = "审核备注")
private String reviewRemarks;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty("计费流水号")
@Excel(name = "计费流水号")
private String billingFlow;
@ApiModelProperty("红冲原因")
@Excel(name = "红冲原因")
private String redFlushRemark;
@ApiModelProperty("计费流水ids")
private String billingStatementIds;
@ApiModelProperty("合同类型")
@Excel(name = "合同类型")
private String contractType;
@ApiModelProperty("查询状态(1-未出账,2-已出账,3-其他)")
private Integer queryState;
@ApiModelProperty(name = "审核操作(1-通过,2-驳回)")
private Integer auditOperation;
@ApiModelProperty(name = "计费周期查询条件开始日期")
private String businessDateStart;
@ApiModelProperty(name = "计费周期查询条件结束日期")
private String businessDateEnd;
@ApiModelProperty(name = "创建时间查询条件开始日期")
private String createTimeStart;
@ApiModelProperty(name = "创建时间查询条件结束日期")
private String createTimeEnd;
@ApiModelProperty(name = "修改时间查询条件开始日期")
private String updateTimeStart;
@ApiModelProperty(name = "修改时间查询条件结束日期")
private String updateTimeEnd;
@ApiModelProperty("账单创建时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
private Date billCreateTime;
@ApiModelProperty("账单管理id")
private Long billManageId;
@ApiModelProperty("结算方式(1-现金,2-油卡)")
private Integer settlementWay;
@ApiModelProperty("业务单据记录id")
private Long businessDocumentId;
}
@@ -0,0 +1,199 @@
package com.mhd.bms.interfaces.dto.businessDocument;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 业务单据对象 business_document
*
* @author gen
* @date 2024-06-21
*/
@Data
public class BusinessDocumentDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("业务单据记录id")
private Long businessDocumentId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("业务流水")
@Excel(name = "业务流水")
private String businessFlow;
@ApiModelProperty("状态(1-未生效,2-已生效,3-已计费,4-已驳回,5-已作废")
@Excel(name = "状态", readConverterExp = "状态(1-未生效,2-已生效,3-已计费,4-已驳回,5-已作废")
private Integer businessState;
@ApiModelProperty("来源模块")
@Excel(name = "来源模块")
private String belongModule;
@ApiModelProperty("来源模块code")
@Excel(name = "来源模块code")
private String belongModuleCode;
@ApiModelProperty("数据来源(1-系统生成,2-手工录入)")
@Excel(name = "数据来源", readConverterExp = "1=-系统生成,2-手工录入")
private Integer dataSources;
@ApiModelProperty("单据类型id")
@Excel(name = "单据类型id")
private Long documentTypeId;
@ApiModelProperty("单据类型code")
@Excel(name = "单据类型code")
private String documentTypeCode;
@ApiModelProperty("单据类型")
@Excel(name = "单据类型")
private String documentType;
@ApiModelProperty("原始业务单号")
@Excel(name = "原始业务单号")
private String originalBusinessNum;
@ApiModelProperty("项目编码")
@Excel(name = "项目编码")
private String projectCode;
@ApiModelProperty("项目名称")
@Excel(name = "项目名称")
private String projectName;
@ApiModelProperty("合同编号")
@Excel(name = "合同编号")
private String contractNumber;
@ApiModelProperty("合同名称")
@Excel(name = "合同名称")
private String contractName;
@ApiModelProperty("账单金额")
@Excel(name = "账单金额")
private BigDecimal billAmount;
@ApiModelProperty("预计费金额")
@Excel(name = "预计费金额")
private BigDecimal estimatedCost;
@ApiModelProperty("一级费用科目code")
@Excel(name = "一级费用科目code")
private String firstSubjectCode;
@ApiModelProperty("一级费用科目")
@Excel(name = "一级费用科目")
private String firstSubjectName;
@ApiModelProperty("二级费用科目code")
@Excel(name = "二级费用科目code")
private String secondSubjectCode;
@ApiModelProperty("二级费用科目")
@Excel(name = "二级费用科目")
private String secondSubjectName;
@ApiModelProperty("结算对象id")
@Excel(name = "结算对象id")
private Long settlementCustomersId;
@ApiModelProperty("结算对象code")
@Excel(name = "结算对象code")
private String settlementCustomersCode;
@ApiModelProperty("结算对象")
@Excel(name = "结算对象")
private String settlementEntity;
@ApiModelProperty("计费时间")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "计费时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date billingTime;
@ApiModelProperty("单据表单json数据")
@Excel(name = "单据表单json数据")
private String documentFormJson;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty(name = "创建时间查询条件开始日期")
private String createTimeStart;
@ApiModelProperty(name = "创建时间查询条件结束日期")
private String createTimeEnd;
@ApiModelProperty(name = "修改时间查询条件开始日期")
private String updateTimeStart;
@ApiModelProperty(name = "修改时间查询条件结束日期")
private String updateTimeEnd;
@ApiModelProperty("业务单据记录ids")
private String businessDocumentIds;
@ApiModelProperty(name = "审核操作(1-通过,2-驳回)")
private Integer auditOperation;
@ApiModelProperty("合同管理id")
@Excel(name = "合同管理id", readConverterExp = "合同管理id")
private Long contractManageId;
@ApiModelProperty("项目管理id")
@Excel(name = "项目管理id", readConverterExp = "项目管理id")
private Long projectManageId;
@ApiModelProperty("原始流水号")
@Excel(name = "原始流水号")
private String originalSerialNumber;
@ApiModelProperty("费用类型code(服务项)")
@Excel(name = "费用类型code(服务项)")
private String serviceItemsCode;
@ApiModelProperty("费用类型")
@Excel(name = "费用类型")
private String serviceItemsName;
@ApiModelProperty("费用类型id(服务项)")
@Excel(name = "费用类型id(服务项)")
private Long serviceItemsManageId;
@ApiModelProperty("单据备注")
@Excel(name = "单据备注")
private String remark;
@ApiModelProperty("审核备注")
@Excel(name = "审核备注")
private String reviewRemarks;
@ApiModelProperty("结算方式(1-现金,2-油卡)")
private Integer settlementWay;
@ApiModelProperty("新计费金额")
private BigDecimal newBillAmount;
@ApiModelProperty("重算金额")
private BigDecimal recalculateCost;
}
@@ -0,0 +1,64 @@
package com.mhd.bms.interfaces.dto.conditionalMapping;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 条件映射管理对象 conditional_mapping
*
* @author gen
* @date 2024-08-07
*/
@Data
public class ConditionalMappingDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("条件映射表id")
private Long conditionalMappingId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("源内容")
@Excel(name = "源内容")
private String sourceContent;
@ApiModelProperty("映射后")
@Excel(name = "映射后")
private String afterMapping;
@ApiModelProperty("映射类型(1-关键字,2-条件,3-结果)")
@Excel(name = "映射类型", readConverterExp = "1=-关键字,2-条件,3-结果")
private Integer mappingType;
@ApiModelProperty("映射语句")
@Excel(name = "映射语句")
private String mappedStatement;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty("条件映射表ids")
private String conditionalMappingIds;
}
@@ -0,0 +1,82 @@
package com.mhd.bms.interfaces.dto.documentType;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 单据类型对象 document_type
*
* @author gen
* @date 2024-06-18
*/
@Data
public class DocumentTypeDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("单据类型id")
private Long documentTypeId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("类型名称")
@Excel(name = "类型名称")
private String documentType;
@ApiModelProperty("类型编码")
@Excel(name = "类型编码")
private String documentTypeCode;
@ApiModelProperty("对接系统编码")
@Excel(name = "对接系统编码")
private String belongModuleCode;
@ApiModelProperty("对接系统")
@Excel(name = "对接系统")
private String belongModule;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
@ApiModelProperty("参数json数组")
@Excel(name = "参数json数组")
private String formJson;
@ApiModelProperty("启用状态(1-启用,2-关闭)")
@Excel(name = "启用状态", readConverterExp = "1=-启用,2-关闭")
private Integer enablingStatus;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty(name = "创建时间查询条件开始日期")
private String createTimeStart;
@ApiModelProperty(name = "创建时间查询条件结束日期")
private String createTimeEnd;
@ApiModelProperty("单据类型ids")
private String documentTypeIds;
}
@@ -0,0 +1,64 @@
package com.mhd.bms.interfaces.dto.mappingMethod;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 方法映射对象 mapping_method
*
* @author gen
* @date 2024-07-12
*/
@Data
public class MappingMethodDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("方法映射表id")
private Long mappingMethodId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("方法名称")
@Excel(name = "方法名称")
private String methodName;
@ApiModelProperty("映射方法")
@Excel(name = "映射方法")
private String mappingMethod;
@ApiModelProperty("类型(1-内置方法,2-逻辑语句)")
@Excel(name = "类型", readConverterExp = "1=-内置方法,2-逻辑语句")
private Integer mappingType;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty("方法映射表ids")
private String mappingMethodIds;
}
@@ -0,0 +1,56 @@
package com.mhd.bms.interfaces.dto.paymentManage;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 支付管理对象 payment_manage
*
* @author gen
* @date 2024-07-09
*/
@Data
public class PaymentManageDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("支付管理id")
private Long paymentManageId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("支付方式编码")
@Excel(name = "支付方式编码")
private String paymentMethodCode;
@ApiModelProperty("支付方式名称")
@Excel(name = "支付方式名称")
private String paymentMethod;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty("支付管理ids")
private String paymentManageIds;
}
@@ -0,0 +1,128 @@
package com.mhd.bms.interfaces.dto.paymentOrder;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 付款单对象 payment_order
*
* @author gen
* @date 2024-07-16
*/
@Data
public class PaymentOrderDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("付款单id")
private Long paymentOrderId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("支付通道code")
@Excel(name = "支付通道code")
private String paymentChannelCode;
@ApiModelProperty("支付通道name")
@Excel(name = "支付通道name")
private String paymentChannelName;
@ApiModelProperty("付款方式code")
@Excel(name = "付款方式code")
private String paymentMethodCode;
@ApiModelProperty("付款方式")
@Excel(name = "付款方式")
private String paymentMethod;
@ApiModelProperty("付款卡号id")
@Excel(name = "付款卡号id")
private Long paymentCardId;
@ApiModelProperty("付款人")
private String paymentBindingName;
@ApiModelProperty("卡号")
@Excel(name = "卡号")
private String paymentCard;
@ApiModelProperty("交易流水")
@Excel(name = "交易流水")
private String transactionFlow;
@ApiModelProperty("付款凭证")
@Excel(name = "付款凭证")
private String receiptVoucher;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String paymentRemark;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty("账单管理ids")
private String billManageIds;
@ApiModelProperty(name = "付款账单明细")
private List<PaymentOrderDetailsDTO> paymentOrderDetailsDTOList;
@ApiModelProperty("付款单号")
private String paymentOrderNum;
@ApiModelProperty("结算对象编码")
private String settlementCustomersCode;
@ApiModelProperty("结算对象id")
private Long settlementCustomersId;
@ApiModelProperty("结算主体")
private String settlementEntity;
@ApiModelProperty("付款状态(1-未转账,2-转账中,3-转账成功,4-转账失败)")
private Integer paymentState;
@ApiModelProperty(name = "创建时间查询条件开始日期")
private String createTimeStart;
@ApiModelProperty(name = "创建时间查询条件结束日期")
private String createTimeEnd;
@ApiModelProperty("结算方式(1-现金,2-油卡)")
private Integer settlementWay;
@ApiModelProperty("付款来源(1-人工付款,2-线上支付)")
private Integer paymentSource;
@ApiModelProperty("开户银行名称")
private String bankName;
@ApiModelProperty("银行卡号")
private String bankCardNumber;
@ApiModelProperty("银行卡预留姓名")
private String bankBindingName;
@ApiModelProperty(name = "支付密码")
private String payPassword;
}
@@ -0,0 +1,73 @@
package com.mhd.bms.interfaces.dto.paymentOrder;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 付款单详情对象 payment_order_details
*
* @author gen
* @date 2024-07-16
*/
@Data
public class PaymentOrderDetailsDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("付款单id")
private Long paymentOrderDetailsId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("账单编号")
@Excel(name = "账单编号")
private String billNumber;
@ApiModelProperty("账单金额")
@Excel(name = "账单金额")
private BigDecimal billAmount;
@ApiModelProperty("已付金额")
@Excel(name = "已付金额")
private BigDecimal billAmountSettlement;
@ApiModelProperty("本次付款金额")
@Excel(name = "本次付款金额")
private BigDecimal paymentAmount;
@ApiModelProperty("剩余未付金额")
@Excel(name = "剩余未付金额")
private BigDecimal billAmountUnsettledResidue;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty("付款单id")
private Long paymentOrderId;
@ApiModelProperty("账单管理id")
private Long billManageId;
@ApiModelProperty("付款单号")
private String paymentOrderNum;
}
@@ -0,0 +1,80 @@
package com.mhd.bms.interfaces.dto.paymentWallet;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 支付钱包管理对象 payment_wallet
*
* @author gen
* @date 2024-07-09
*/
@Data
public class PaymentWalletDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("支付钱包管理id")
private Long paymentWalletId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("主体编码(银行卡号、微信openid、支付宝openid等)")
@Excel(name = "主体编码", readConverterExp = "银=行卡号、微信openid、支付宝openid等")
private String mainNumber;
@ApiModelProperty("主体名称")
@Excel(name = "主体名称")
private String mainName;
@ApiModelProperty("银行名称")
@Excel(name = "银行名称")
private String bankName;
@ApiModelProperty("开户行")
@Excel(name = "开户行")
private String bankDeposi;
@ApiModelProperty("手机号")
@Excel(name = "手机号")
private String phone;
@ApiModelProperty("支付方式编码")
@Excel(name = "支付方式编码")
private String paymentMethodCode;
@ApiModelProperty("支付方式名称")
@Excel(name = "支付方式名称")
private String paymentMethod;
@ApiModelProperty("支付方式id")
@Excel(name = "支付方式id")
private Long paymentManageId;
@ApiModelProperty("支付钱包管理ids")
private String paymentWalletIds;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
}
@@ -0,0 +1,85 @@
package com.mhd.bms.interfaces.dto.receiptManage;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 收款单详情对象 receipt_detail
*
* @author gen
* @date 2024-07-08
*/
@Data
public class ReceiptDetailDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("收款单id")
private Long receiptDetailId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("账单id")
@Excel(name = "账单id")
private Long billManageId;
@ApiModelProperty("账单编号")
@Excel(name = "账单编号")
private String billNumber;
@ApiModelProperty("收款优惠金额")
@Excel(name = "收款优惠金额")
private BigDecimal collectedDiscount;
@ApiModelProperty("账单金额")
@Excel(name = "账单金额")
private BigDecimal billAmount;
@ApiModelProperty("已收金额")
@Excel(name = "已收金额")
private BigDecimal billAmountSettlement;
@ApiModelProperty("未收金额")
@Excel(name = "未收金额")
private BigDecimal billAmountUnsettled;
@ApiModelProperty("收款金额")
@Excel(name = "收款金额")
private BigDecimal collectedAmount;
@ApiModelProperty("剩余未收金额")
@Excel(name = "剩余未收金额")
private BigDecimal billAmountUnsettledResidue;
@ApiModelProperty("收款单id")
@Excel(name = "收款单id")
private Long receiptManageId;
@ApiModelProperty("收款单号")
@Excel(name = "收款单号")
private String collectionNum;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
}
@@ -0,0 +1,167 @@
package com.mhd.bms.interfaces.dto.receiptManage;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.List;
/**
* 收款单管理对象 receipt_manage
*
* @author gen
* @date 2024-07-08
*/
@Data
public class ReceiptManageDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("收款单id")
private Long receiptManageId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("收款单号")
@Excel(name = "收款单号")
private String collectionNum;
@ApiModelProperty("结算对象id")
@Excel(name = "结算对象id")
private Long settlementCustomersId;
@ApiModelProperty("结算对象code")
@Excel(name = "结算对象code")
private String settlementCustomersCode;
@ApiModelProperty("结算对象")
@Excel(name = "结算对象")
private String settlementEntity;
@ApiModelProperty("收款优惠金额")
@Excel(name = "收款优惠金额")
private BigDecimal collectedDiscount;
@ApiModelProperty("账单金额")
@Excel(name = "账单金额")
private BigDecimal billAmount;
@ApiModelProperty("已收金额")
@Excel(name = "已收金额")
private BigDecimal billAmountSettlement;
@ApiModelProperty("未收金额")
@Excel(name = "未收金额")
private BigDecimal billAmountUnsettled;
@ApiModelProperty("收款金额")
@Excel(name = "收款金额")
private BigDecimal collectedAmount;
@ApiModelProperty("剩余未收")
@Excel(name = "剩余未收")
private BigDecimal uncollectedAmount;
@ApiModelProperty("收款方式code")
@Excel(name = "收款方式code")
private String paymentMethodCode;
@ApiModelProperty("收款方式")
@Excel(name = "收款方式")
private String paymentMethod;
@ApiModelProperty("收款卡号id")
@Excel(name = "收款卡号id")
private Long paymentCardId;
@ApiModelProperty("收款卡号")
@Excel(name = "收款卡号")
private String paymentCard;
@ApiModelProperty("交易流水")
@Excel(name = "交易流水")
private String transactionFlow;
@ApiModelProperty("收据号")
@Excel(name = "收据号")
private String receiptNumber;
@ApiModelProperty("收款时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date collectionTime;
@ApiModelProperty("收款凭证")
@Excel(name = "收款凭证")
private String receiptVoucher;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String collectionRemark;
@ApiModelProperty("收款单ids")
private String receiptManageIds;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty("账单管理ids")
private String billManageIds;
@ApiModelProperty("账单管理ids")
private List<ReceiptDetailDTO> receiptDetailDTOList;
@ApiModelProperty(name = "收款人用户ID")
private Long payeeUserId;
@ApiModelProperty("收款人")
private String payeeName;
@ApiModelProperty("退款金额")
private BigDecimal refundAmount;
@ApiModelProperty("退款时间")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date refundTime;
@ApiModelProperty(name = "创建时间查询条件开始日期")
private String createTimeStart;
@ApiModelProperty(name = "创建时间查询条件结束日期")
private String createTimeEnd;
@ApiModelProperty(name = "修改时间查询条件开始日期")
private String updateTimeStart;
@ApiModelProperty(name = "修改时间查询条件结束日期")
private String updateTimeEnd;
@ApiModelProperty(name = "收款时间查询条件开始日期")
private String collectionTimeStart;
@ApiModelProperty(name = "收款时间查询条件结束日期")
private String collectionTimeEnd;
@ApiModelProperty("收款状态(1-正常,2-退款)")
private Integer paymentStatus;
@ApiModelProperty(name = "支付密码")
private String payPassword;
@ApiModelProperty("收款来源(1-人工付款,2-线上支付)")
private Integer collectionSource;
}
@@ -0,0 +1,61 @@
package com.mhd.bms.interfaces.dto.reportForm;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 查询条件管理对象 form_query_manage
*
* @author gen
* @date 2024-07-26
*/
@Data
public class FormQueryManageDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("查询条件管理id")
private Long formQueryManageId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("查询条件名称")
@Excel(name = "查询条件名称")
private String formQueryName;
@ApiModelProperty("所属报表类型((1-综合分析报表,2-账单分析报表,3-结算分析报表))")
@Excel(name = "所属报表类型", readConverterExp = "(=1-综合分析报表,2-账单分析报表,3-结算分析报表")
private Integer formType;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty(name = "查询条件明细列表")
private List<FormQueryParamsDTO> formQueryParamsDTOList;
@ApiModelProperty("报表查询id")
private Long reportFormId;
@ApiModelProperty("默认状态(1-是,2-否)")
private Integer defaultFlag;
}
@@ -0,0 +1,82 @@
package com.mhd.bms.interfaces.dto.reportForm;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 报查询条件管理对象 form_query_params
*
* @author gen
* @date 2024-07-25
*/
@Data
public class FormQueryParamsDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("报表查询条件id")
private Long formQueryParamsId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("字段编码")
@Excel(name = "字段编码")
private String field;
@ApiModelProperty("字段名称")
@Excel(name = "字段名称")
private String fieldName;
@ApiModelProperty("过滤方法(1-=,2-!=,3->,4->=,5-<,6-<=,7-包含,8-不包含,9-在列表,10-不在列表)")
private Integer filterMethod;
@ApiModelProperty("输入框值")
@Excel(name = "输入框值")
private String inputBoxText;
@ApiModelProperty("输入框查询方法")
@Excel(name = "输入框查询方法")
private String inputBoxMethod;
@ApiModelProperty("输入框类型(1-文本,2-下拉框,3-日期选择器)")
@Excel(name = "输入框类型", readConverterExp = "1=-文本,2-下拉框,3-日期选择器")
private Integer inputBoxType;
@ApiModelProperty("关系(1-并且,2-或者)")
@Excel(name = "关系", readConverterExp = "1=-并且,2-或者")
private Integer queryRelation;
@ApiModelProperty("序号")
@Excel(name = "序号")
private Integer sort;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty("查询条件管理id")
private Long formQueryManageId;
@ApiModelProperty("查询条件json(前端保存用)")
private String paramsInfoJson;
}
@@ -0,0 +1,69 @@
package com.mhd.bms.interfaces.dto.reportForm;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 分析报管理对象 report_form
*
* @author gen
* @date 2024-07-25
*/
@Data
public class ReportFormDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("报表查询id")
private Long reportFormId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("报表名称")
@Excel(name = "报表名称")
private String reportFormName;
@ApiModelProperty("序号")
@Excel(name = "序号")
private Integer sort;
@ApiModelProperty("描述")
@Excel(name = "描述")
private String formDescribe;
@ApiModelProperty("创建人")
@Excel(name = "创建人")
private String createFormName;
@ApiModelProperty("查询条件json")
@Excel(name = "查询条件json")
private String queryParamJson;
@ApiModelProperty("报表类型(1-综合分析报表,2-账单分析报表,3-结算分析报表)")
@Excel(name = "报表类型", readConverterExp = "1=-综合分析报表,2-账单分析报表,3-结算分析报表")
private Integer formType;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
}
@@ -0,0 +1,105 @@
package com.mhd.bms.interfaces.dto.settlementCustomers;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 结算对象对象 settlement_customers
*
* @author gen
* @date 2024-06-17
*/
@Data
public class SettlementCustomersDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("结算对象id")
private Long settlementCustomersId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("结算对象编码")
@Excel(name = "结算对象编码")
private String settlementCustomersCode;
@ApiModelProperty("结算主体id")
@Excel(name = "结算主体id")
private Long settlementEntityId;
@ApiModelProperty("结算主体")
@Excel(name = "结算主体")
private String settlementEntity;
@ApiModelProperty("结算方式")
@Excel(name = "结算方式")
private String settlementMethod;
@ApiModelProperty("结算方式编码")
@Excel(name = "结算方式编码")
private String settlementMethodCode;
@ApiModelProperty("开户银行名称")
@Excel(name = "开户银行名称")
private String bankName;
@ApiModelProperty("银行卡号")
@Excel(name = "银行卡号")
private String bankCardNumber;
@ApiModelProperty("银行卡预留姓名")
@Excel(name = "银行卡预留姓名")
private String bankBindingName;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty(name = "创建时间查询条件开始日期")
private String createTimeStart;
@ApiModelProperty(name = "创建时间查询条件结束日期")
private String createTimeEnd;
@ApiModelProperty("结算对象ids")
private String settlementCustomersIds;
@ApiModelProperty("主体角色(1-客户,2-供应商)")
@Excel(name = "主体角色(1-客户,2-供应商)")
private Integer mainRole;
@ApiModelProperty("客户类型")
private String customerType;
@ApiModelProperty("客户类型编码")
private String customerTypeCode;
@ApiModelProperty("项目编码")
private String projectCode;
@ApiModelProperty("项目名称")
private String projectName;
}
@@ -0,0 +1,151 @@
package com.mhd.bms.interfaces.dto.taskFlowRecords;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 任务流水记录对象 task_flow_records
*
* @author gen
* @date 2024-06-20
*/
@Data
public class TaskFlowRecordsDTO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("任务流水记录id")
private Long taskFlowRecordsId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("任务流水")
@Excel(name = "任务流水")
private String taskFlow;
@ApiModelProperty("来源模块code")
@Excel(name = "来源模块code")
private String belongModuleCode;
@ApiModelProperty("来源模块")
@Excel(name = "来源模块")
private String belongModule;
@ApiModelProperty("单据类别id")
@Excel(name = "单据类别id")
private Long documentTypeId;
@ApiModelProperty("单据类别code")
@Excel(name = "单据类别code")
private String documentTypeCode;
@ApiModelProperty("单据类别")
@Excel(name = "单据类别")
private String documentType;
@ApiModelProperty("一级费用科目code")
@Excel(name = "一级费用科目code")
private String firstSubjectCode;
@ApiModelProperty("一级费用科目")
@Excel(name = "一级费用科目")
private String firstSubjectName;
@ApiModelProperty("二级费用科目code")
@Excel(name = "二级费用科目code")
private String secondSubjectCode;
@ApiModelProperty("二级费用科目")
@Excel(name = "二级费用科目")
private String secondSubjectName;
@ApiModelProperty("原始业务单号")
@Excel(name = "原始业务单号")
private String originalBusinessNum;
@ApiModelProperty("结算对象")
@Excel(name = "结算对象")
private String settlementEntity;
@ApiModelProperty("结算对象id")
@Excel(name = "结算对象id")
private Long settlementCustomersId;
@ApiModelProperty("主体角色(1-客户,2-供应商)")
@Excel(name = "主体角色", readConverterExp = "1-客户,2-供应商")
private Integer mainRole;
@ApiModelProperty("合同编号")
@Excel(name = "合同编号")
private String contractNumber;
@ApiModelProperty("合同名称")
@Excel(name = "合同名称")
private String contractName;
@ApiModelProperty("计费规则id")
@Excel(name = "计费规则id")
private Long billingRulesId;
@ApiModelProperty("计费规则名称")
@Excel(name = "计费规则名称")
private String billingRules;
@ApiModelProperty("计费规则code")
@Excel(name = "计费规则code")
private String billingRulesCode;
@ApiModelProperty("计费过程")
@Excel(name = "计费过程")
private String billingProcess;
@ApiModelProperty("计费结果")
@Excel(name = "计费结果")
private String billingResults;
@ApiModelProperty("原始参数json")
@Excel(name = "原始参数json")
private String requestParams;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty(name = "创建时间查询条件开始日期")
private String createTimeStart;
@ApiModelProperty(name = "创建时间查询条件结束日期")
private String createTimeEnd;
@ApiModelProperty(name = "修改时间查询条件开始日期")
private String updateTimeStart;
@ApiModelProperty(name = "修改时间查询条件结束日期")
private String updateTimeEnd;
@ApiModelProperty("任务流水记录ids")
private String taskFlowRecordsIds;
@ApiModelProperty("费用类型code(服务项)")
private String serviceItemsCode;
@ApiModelProperty("费用类型")
private String serviceItemsName;
}
@@ -0,0 +1,284 @@
package com.mhd.bms.interfaces.facadeApi;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import com.mhd.bms.application.server.billManage.BillManageApplicationService;
import com.mhd.bms.domain.billManage.repository.po.BillDetailPO;
import com.mhd.bms.domain.billingStatement.repository.todo.BillingStatementDO;
import com.mhd.bms.infrastructure.utils.UniqueKeyUtil;
import com.mhd.bms.interfaces.dto.billingStatement.BillingStatementDTO;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.redis.enums.RedisLockTypeEnum;
import com.mhd.common.redis.service.RedisLock;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.redisson.RedissonMultiLock;
import org.redisson.api.RLock;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.mhd.bms.interfaces.dto.billManage.BillManageDTO;
import com.mhd.bms.domain.billManage.repository.todo.BillManageDO;
import com.mhd.bms.domain.billManage.repository.po.BillManagePO;
import com.mhd.bms.interfaces.assembler.billManage.BillManageAssembler;
import javax.annotation.Resource;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
/**
* 账单管理Api
*
* @author gen
* @date 2024-07-02
*/
@Slf4j
@RestController
@RequestMapping("/billManageApi")
public class BillManageApi extends BaseController{
@Autowired
private BillManageApplicationService billManageApplicationService;
@Autowired
private RedisLock redisLock;
/**
* 分页查询账单管理列表
*/
@ApiOperation("查询应收账单管理列表")
@GetMapping("/receivableList")
public TableDataInfo receivableList(BillManageDTO billManageDTO)
{
//转换实体
BillManageDO billManageDO = new BillManageDO();
BeanUtils.copyProperties(billManageDTO,billManageDO);
startPage();
billManageDO.setBillType(1);
List<BillManagePO> list = billManageApplicationService.queryList(billManageDO);
return getDataTable(list);
}
@ApiOperation("应收账单管理列表统计")
@GetMapping(value = "/receivableListCount")
public AjaxResult receivableListCount(BillManageDTO billManageDTO)
{
//转换实体
BillManageDO billManageDO = new BillManageDO();
BeanUtils.copyProperties(billManageDTO,billManageDO);
billManageDO.setBillType(1);
return AjaxResult.success(billManageApplicationService.listCount(billManageDO));
}
@ApiOperation("应付账单管理列表统计")
@GetMapping(value = "/paymentListCount")
public AjaxResult paymentListCount(BillManageDTO billManageDTO)
{
//转换实体
BillManageDO billManageDO = new BillManageDO();
BeanUtils.copyProperties(billManageDTO,billManageDO);
billManageDO.setBillType(2);
return AjaxResult.success(billManageApplicationService.listCount(billManageDO));
}
@ApiOperation("查询应付账单管理列表")
@GetMapping("/paymentList")
public TableDataInfo paymentList(BillManageDTO billManageDTO)
{
//转换实体
BillManageDO billManageDO = new BillManageDO();
BeanUtils.copyProperties(billManageDTO,billManageDO);
startPage();
billManageDO.setBillType(2);
List<BillManagePO> list = billManageApplicationService.queryList(billManageDO);
return getDataTable(list);
}
/**
* 批量删除账单管理
*/
@ApiOperation("批量删除账单管理")
@PostMapping("/deleteByIds")
public AjaxResult deleteByIds(@RequestBody BillManageDTO billManageDTO)
{
try {
return toAjax(billManageApplicationService.deleteByIds(billManageDTO));
}catch (Exception e){
return AjaxResult.error("删除失败:"+e.getMessage());
}
}
@ApiOperation("批量作废")
@PostMapping("/nullifyByIds")
public AjaxResult nullifyByIds(@RequestBody BillManageDTO billManageDTO)
{
try {
return toAjax(billManageApplicationService.nullifyByIds(billManageDTO));
}catch (Exception e){
return AjaxResult.error("操作失败:"+e.getMessage());
}
}
@ApiOperation("发起对账")
@PostMapping("/reconciliation")
public AjaxResult reconciliation(@RequestBody BillManageDTO billManageDTO)
{
try {
return toAjax(billManageApplicationService.reconciliation(billManageDTO));
}catch (Exception e){
return AjaxResult.error("发起对账失败:"+e.getMessage());
}
}
@ApiOperation("确认账单")
@PostMapping("/confirmBilling")
public AjaxResult confirmBilling(@RequestBody BillManageDTO billManageDTO)
{
try {
return toAjax(billManageApplicationService.confirmBilling(billManageDTO));
}catch (Exception e){
return AjaxResult.error("确认账单失败:"+e.getMessage());
}
}
/**
* 获取账单管理详细信息
*/
@ApiOperation("获取账单管理明细")
@GetMapping(value = "/getInfoById")
public AjaxResult getInfoById(BillManageDTO billManageDTO)
{
return AjaxResult.success(billManageApplicationService.getInfoById(billManageDTO));
}
@ApiOperation("确认调整账单")
@PostMapping("/confirmChangeBill")
public AjaxResult confirmChangeBill(@RequestBody BillManageDTO billManageDTO)
{
if(billManageDTO.getBillManageId() == null){
throw new ServiceException("调整账单id不能为空");
}
//加锁
RLock lock = null;
RedisLockTypeEnum redisLockTypeEnum = RedisLockTypeEnum.BMS;
String key = redisLockTypeEnum.getUniqueKey(UniqueKeyUtil.getBillingKey(String.valueOf(billManageDTO.getBillManageId())));
try {
lock = redisLock.getRLock(key);
//尝试获取锁 不等待 持有锁10分钟
if (!lock.tryLock(-1, 10, TimeUnit.MINUTES)) {
lock = null;
throw new ServiceException("账单正在调整中,请稍后重试");
}
log.info("调整账单加锁成功");
billManageApplicationService.confirmChangeBill(billManageDTO);
return AjaxResult.success("操作成功");
}catch (Exception e){
return AjaxResult.error("调整账单失败:"+e.getMessage());
} finally {
if (lock != null && lock.isHeldByCurrentThread()){
lock.unlock();
log.info("调整账单释放锁成功");
}
}
}
@ApiOperation("应收账单-客户确认")
@PostMapping("/customerConfirmation")
public AjaxResult customerConfirmation(@RequestBody BillManageDTO billManageDTO)
{
if(billManageDTO.getBillManageId() == null){
throw new ServiceException("账单id不能为空");
}
//加锁
RLock lock = null;
RedisLockTypeEnum redisLockTypeEnum = RedisLockTypeEnum.BMS;
String key = redisLockTypeEnum.getUniqueKey(UniqueKeyUtil.getBillingKey(String.valueOf(billManageDTO.getBillManageId())));
try {
lock = redisLock.getRLock(key);
//尝试获取锁 不等待 持有锁10分钟
if (!lock.tryLock(-1, 10, TimeUnit.MINUTES)) {
lock = null;
throw new ServiceException("账单正在操作中,请稍后重试");
}
log.info("客户确认账单加锁成功");
billManageApplicationService.customerConfirmation(billManageDTO);
return AjaxResult.success("操作成功");
}catch (Exception e){
return AjaxResult.error("客户确认账单失败:"+e.getMessage());
} finally {
if (lock != null && lock.isHeldByCurrentThread()){
lock.unlock();
log.info("客户确认账单释放锁成功");
}
}
}
@ApiOperation("应收账单-财务审核")
@PostMapping("/financialReview")
public AjaxResult financialReview(@RequestBody BillManageDTO billManageDTO)
{
if(billManageDTO.getBillManageId() == null){
throw new ServiceException("账单id不能为空");
}
//加锁
RLock lock = null;
RedisLockTypeEnum redisLockTypeEnum = RedisLockTypeEnum.BMS;
String key = redisLockTypeEnum.getUniqueKey(UniqueKeyUtil.getBillingKey(String.valueOf(billManageDTO.getBillManageId())));
try {
lock = redisLock.getRLock(key);
//尝试获取锁 不等待 持有锁10分钟
if (!lock.tryLock(-1, 10, TimeUnit.MINUTES)) {
lock = null;
throw new ServiceException("账单正在操作中,请稍后重试");
}
log.info("财务审核账单加锁成功");
billManageApplicationService.financialReview(billManageDTO);
return AjaxResult.success("操作成功");
}catch (Exception e){
return AjaxResult.error("财务审核账单失败:"+e.getMessage());
} finally {
if (lock != null && lock.isHeldByCurrentThread()){
lock.unlock();
log.info("财务审核账单释放锁成功");
}
}
}
/**
* 获取账单详情
*/
@ApiOperation("获取账单详情")
@GetMapping(value = "/getDetailsById")
public AjaxResult getDetailsById(BillManageDTO billManageDTO)
{
return AjaxResult.success(billManageApplicationService.getDetailsById(billManageDTO));
}
}
@@ -0,0 +1,99 @@
package com.mhd.bms.interfaces.facadeApi;
import java.util.List;
import com.mhd.bms.application.server.billOperationLog.BillOperationLogApplicationService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.mhd.bms.interfaces.dto.billOperationLog.BillOperationLogDTO;
import com.mhd.bms.domain.billOperationLog.repository.todo.BillOperationLogDO;
import com.mhd.bms.domain.billOperationLog.repository.po.BillOperationLogPO;
import com.mhd.bms.interfaces.assembler.billOperationLog.BillOperationLogAssembler;
import javax.annotation.Resource;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
/**
* 账单操作日志Api
*
* @author gen
* @date 2024-07-09
*/
@RestController
@RequestMapping("/billOperationLogApi")
public class BillOperationLogApi extends BaseController{
@Autowired
private BillOperationLogApplicationService billOperationLogApplicationService;
@Resource
private BillOperationLogAssembler billOperationLogAssembler;
/**
* 分页查询账单操作日志列表
*/
@ApiOperation("查询账单操作日志列表")
@GetMapping("/list")
public TableDataInfo list(BillOperationLogDTO billOperationLogDTO)
{
//转换实体
BillOperationLogDO billOperationLogDO = billOperationLogAssembler.toDO(billOperationLogDTO);
startPage();
List<BillOperationLogPO> list = billOperationLogApplicationService.queryList(billOperationLogDO);
return getDataTable(list);
}
/**
* 保存账单操作日志
*/
@ApiOperation("保存账单操作日志")
@PostMapping("/edit")
public AjaxResult edit(@RequestBody BillOperationLogDTO billOperationLogDTO)
{
//转换实体
BillOperationLogDO billOperationLogDO = billOperationLogAssembler.toDO(billOperationLogDTO);
if(billOperationLogDTO.getBillOperationLogId() != null){
return toAjax(billOperationLogApplicationService.update(billOperationLogDO));
}else {
return toAjax(billOperationLogApplicationService.insert(billOperationLogDO));
}
}
/**
* 批量删除账单操作日志
*/
@ApiOperation("批量删除账单操作日志")
@DeleteMapping("/deleteByIds/{billOperationLogIds}")
public AjaxResult delete(@PathVariable Long[] billOperationLogIds)
{
return toAjax(billOperationLogApplicationService.delete(billOperationLogIds));
}
/**
* 获取账单操作日志详细信息
*/
@ApiOperation("获取账单操作日志")
@GetMapping(value = "/getInfo/{billOperationLogId}")
public AjaxResult getInfo(@PathVariable("billOperationLogId") Long billOperationLogId)
{
return AjaxResult.success(billOperationLogApplicationService.getInfo(billOperationLogId));
}
}
@@ -0,0 +1,120 @@
package com.mhd.bms.interfaces.facadeApi;
import java.util.List;
import com.mhd.bms.application.server.billingRules.BillingRulesApplicationService;
import com.mhd.bms.domain.billingRules.entity.BillingParams;
import com.mhd.bms.domain.billingRules.repository.todo.BillingParamsDO;
import com.mhd.bms.interfaces.dto.billingRules.BillingParamsDTO;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.mhd.bms.interfaces.dto.billingRules.BillingRulesDTO;
import com.mhd.bms.domain.billingRules.repository.todo.BillingRulesDO;
import com.mhd.bms.domain.billingRules.repository.po.BillingRulesPO;
import com.mhd.bms.interfaces.assembler.billingRules.BillingRulesAssembler;
import javax.annotation.Resource;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
/**
* 计费规则Api
*
* @author gen
* @date 2024-07-12
*/
@RestController
@RequestMapping("/billingRulesApi")
public class BillingRulesApi extends BaseController{
@Autowired
private BillingRulesApplicationService billingRulesApplicationService;
@Resource
private BillingRulesAssembler billingRulesAssembler;
/**
* 分页查询计费规则列表
*/
@ApiOperation("查询计费规则列表")
@GetMapping("/list")
public TableDataInfo list(BillingRulesDTO billingRulesDTO)
{
//转换实体
BillingRulesDO billingRulesDO = new BillingRulesDO();
BeanUtils.copyProperties(billingRulesDTO,billingRulesDO);
startPage();
List<BillingRulesPO> list = billingRulesApplicationService.queryList(billingRulesDO);
return getDataTable(list);
}
/**
* 保存计费规则
*/
@ApiOperation("保存计费规则")
@PostMapping("/saveBillingRules")
public AjaxResult saveBillingRules(@RequestBody BillingRulesDTO billingRulesDTO)
{
//转换实体
BillingRulesDO billingRulesDO = billingRulesAssembler.toDO(billingRulesDTO);
if(billingRulesDTO.getBillingRulesId() != null){
return toAjax(billingRulesApplicationService.update(billingRulesDO));
}else {
return toAjax(billingRulesApplicationService.insert(billingRulesDO));
}
}
/**
* 批量删除计费规则
*/
@ApiOperation("批量删除计费规则")
@PostMapping("/deleteByIds")
public AjaxResult deleteByIds(@RequestBody BillingRulesDTO billingRulesDTO)
{
try {
return toAjax(billingRulesApplicationService.deleteByIds(billingRulesDTO));
}catch (Exception e){
return AjaxResult.error("操作失败:" + e.getMessage());
}
}
/**
* 获取计费规则详细信息
*/
@ApiOperation("获取计费规则详情")
@GetMapping(value = "/getInfoById")
public AjaxResult getInfoById(BillingRulesDTO billingRulesDTO)
{
return AjaxResult.success(billingRulesApplicationService.getInfoById(billingRulesDTO));
}
@ApiOperation("修改计费规则状态")
@PostMapping("/changeStates")
public AjaxResult changeStates(@RequestBody BillingRulesDTO billingRulesDTO)
{
try {
return toAjax(billingRulesApplicationService.changeStates(billingRulesDTO));
}catch (Exception e){
return AjaxResult.error("操作失败:" + e.getMessage());
}
}
@ApiOperation("获取计费规则详情(不含明细)")
@GetMapping(value = "/getInfoByCode")
public AjaxResult getInfoByCode(@RequestParam("billingRulesCode") String billingRulesCode)
{
BillingRulesPO billingRulesPO = billingRulesApplicationService.getInfoByCode(billingRulesCode);
return AjaxResult.success(billingRulesPO == null ? new BillingRulesPO(): billingRulesPO);
}
}
@@ -0,0 +1,330 @@
package com.mhd.bms.interfaces.facadeApi;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import com.mhd.bms.application.server.billingStatement.BillingStatementApplicationService;
import com.mhd.bms.domain.billManage.repository.po.BillDetailPO;
import com.mhd.bms.domain.billManage.repository.po.BillManagePO;
import com.mhd.bms.domain.billingStatement.repository.po.BillingStatementCollectPO;
import com.mhd.bms.domain.billingStatement.repository.todo.BillingStatementCollectDO;
import com.mhd.bms.infrastructure.utils.UniqueKeyUtil;
import com.mhd.bms.interfaces.dto.billingStatement.BillingStatementCollectDTO;
import com.mhd.common.core.domain.entity.R;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.core.utils.StringUtils;
import com.mhd.common.redis.enums.RedisLockTypeEnum;
import com.mhd.bms.infrastructure.utils.UniqueKeyUtil;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.core.utils.StringUtils;
import com.mhd.common.redis.enums.RedisLockTypeEnum;
import com.mhd.common.redis.service.RedisLock;
import lombok.extern.slf4j.Slf4j;
import org.redisson.RedissonMultiLock;
import org.redisson.api.RLock;
import org.springframework.beans.BeanUtils;
import io.swagger.annotations.ApiOperation;
import org.redisson.RedissonMultiLock;
import org.redisson.api.RLock;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.mhd.bms.interfaces.dto.billingStatement.BillingStatementDTO;
import com.mhd.bms.domain.billingStatement.repository.todo.BillingStatementDO;
import com.mhd.bms.domain.billingStatement.repository.po.BillingStatementPO;
import com.mhd.bms.interfaces.assembler.billingStatement.BillingStatementAssembler;
import javax.annotation.Resource;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
/**
* 计费流水Api
*
* @author gen
* @date 2024-06-26
*/
@Slf4j
@RestController
@RequestMapping("/billingStatementApi")
public class BillingStatementApi extends BaseController {
@Autowired
private BillingStatementApplicationService billingStatementApplicationService;
@Resource
private BillingStatementAssembler billingStatementAssembler;
@Autowired
private RedisLock redisLock;
/**
* 分页查询计费流水列表
*/
@ApiOperation("查询计费流水列表")
@GetMapping("/list")
public TableDataInfo list(BillingStatementDTO billingStatementDTO) {
//转换实体
BillingStatementDO billingStatementDO = new BillingStatementDO();
BeanUtils.copyProperties(billingStatementDTO, billingStatementDO);
startPage();
List<BillingStatementPO> list = billingStatementApplicationService.queryList(billingStatementDO);
return getDataTable(list);
}
/**
* 查询出账汇总
*/
@ApiOperation("查询出账汇总")
@GetMapping("/collectList")
public TableDataInfo collectList(BillingStatementCollectDTO billingStatementCollectDTO) {
BillingStatementCollectDO billingStatementAssemblerDO = new BillingStatementCollectDO();
BeanUtils.copyProperties(billingStatementCollectDTO, billingStatementAssemblerDO);
startPage();
List<BillingStatementCollectPO> billingStatementCollectDOS =
billingStatementApplicationService.queryCollectList(billingStatementAssemblerDO);
return getDataTable(billingStatementCollectDOS);
}
/**
* 查询出账未出账全部
*/
@ApiOperation("查询出账未出账全部")
@GetMapping("/collectListSize")
public AjaxResult collectListSize(BillingStatementCollectDO billingStatementCollectDO) {
return AjaxResult.success(billingStatementApplicationService.collectListSize(billingStatementCollectDO));
}
/**
* 查询出账详情
*/
@ApiOperation("查询出账详情")
@GetMapping("/collectDetails")
public AjaxResult collectDetails(BillingStatementCollectDTO dto) {
BillingStatementCollectDO bdo = billingStatementAssembler.toCDO(dto);
if (Objects.isNull(bdo.getSettlementCustomersCode()) || bdo.getSettlementCustomersCode().equals("")) {
return AjaxResult.error("结算对象code不能为空");
}
return AjaxResult.success(billingStatementApplicationService.queryDetails(bdo));
}
/**
* 保存计费流水
*/
@ApiOperation("保存计费流水")
@PostMapping("/save")
public AjaxResult save(@RequestBody BillingStatementDTO billingStatementDTO) {
try {
//转换实体
BillingStatementDO billingStatementDO = billingStatementAssembler.toDO(billingStatementDTO);
if (billingStatementDTO.getBillingStatementId() != null) {
return toAjax(billingStatementApplicationService.update(billingStatementDO));
} else {
return toAjax(billingStatementApplicationService.insert(billingStatementDO));
}
}catch (Exception e){
return AjaxResult.error("操作失败"+e.getMessage());
}
}
/**
* 批量删除计费流水
*/
@ApiOperation("批量删除计费流水")
@PostMapping("/deleteByIds")
public AjaxResult deleteByIds(@RequestBody BillingStatementDTO billingStatementDTO) {
try {
return toAjax(billingStatementApplicationService.deleteByIds(billingStatementDTO));
}catch (Exception e){
return AjaxResult.error(e.getMessage());
}
}
/**
* 获取计费流水详细信息
*/
@ApiOperation("获取计费流水")
@GetMapping(value = "/getInfoById")
public AjaxResult getInfoById(BillingStatementDTO billingStatementDTO) {
return AjaxResult.success(billingStatementApplicationService.getInfo(billingStatementDTO.getBillingStatementId()));
}
@ApiOperation("批量审核")
@PostMapping("/reviewBilling")
public AjaxResult reviewBilling(@RequestBody BillingStatementDTO billingStatementDTO)
{
try {
billingStatementApplicationService.reviewBilling(billingStatementDTO);
return AjaxResult.success("审核成功");
}catch (Exception e){
return AjaxResult.error(e.getMessage());
}
}
@ApiOperation("批量费用红冲")
@PostMapping("/redFlushBilling")
public AjaxResult redFlushBilling(@RequestBody BillingStatementDTO billingStatementDTO)
{
try {
billingStatementApplicationService.redFlushBilling(billingStatementDTO);
return AjaxResult.success("操作成功");
}catch (Exception e){
return AjaxResult.error(e.getMessage());
}
}
@ApiOperation("生成账单")
@PostMapping("/generateBills")
public AjaxResult generateBills(@RequestBody BillingStatementDTO billingStatementDTO)
{
if(!StringUtils.isNotEmpty(billingStatementDTO.getBillingStatementIds())){
throw new ServiceException("所选生成账单对象不能为空");
}
//加锁
RedissonMultiLock redissonMultiLock = null;
boolean payInfoDetailLock = false;
try {
RedisLockTypeEnum redisLockTypeEnum = RedisLockTypeEnum.BMS;
List<RLock> locks = new ArrayList<>();
Set<String> billingSet = Stream.of(billingStatementDTO.getBillingStatementIds().split(",")).collect(Collectors.toSet());
billingSet.forEach(x -> {
//获取唯一key值
String key = redisLockTypeEnum.getUniqueKey(UniqueKeyUtil.getBillingKey(x.toString()));
locks.add(redisLock.getRLock(key));
});
redissonMultiLock = new RedissonMultiLock(locks.toArray(new RLock[billingSet.size()]));
//尝试获取锁 不等待 持有锁10分钟
payInfoDetailLock = redissonMultiLock.tryLock(-1, 10, TimeUnit.MINUTES);
if (!payInfoDetailLock) {
redissonMultiLock = null;
return AjaxResult.error("计费流水正在处理,请稍后再试");
}
log.info("生成账单加锁成功");
billingStatementApplicationService.generateBills(billingStatementDTO);
return AjaxResult.success("操作成功");
}catch (Exception e){
return AjaxResult.error(e.getMessage());
} finally {
if (redissonMultiLock != null && payInfoDetailLock) {
redissonMultiLock.unlock();
log.info("生成账单释放了锁");
}
}
}
@ApiOperation("批量流水作废")
@PostMapping("/nullifyByIds")
public AjaxResult nullifyByIds(@RequestBody BillingStatementDTO billingStatementDTO)
{
try {
billingStatementApplicationService.nullifyByIds(billingStatementDTO);
return AjaxResult.success("操作成功");
}catch (Exception e){
return AjaxResult.error(e.getMessage());
}
}
@ApiOperation("查询批量出账列表")
@GetMapping("/queryPaymentOutList")
public TableDataInfo queryPaymentOutList(BillingStatementDTO billingStatementDTO)
{
//转换实体
BillingStatementDO billingStatementDO = new BillingStatementDO();
BeanUtils.copyProperties(billingStatementDTO,billingStatementDO);
List<BillManagePO> list = billingStatementApplicationService.queryPaymentOutList(billingStatementDO);
return getDataTable(list);
}
@ApiOperation("批量生成账单")
@PostMapping("/batchGenerateBills")
public AjaxResult batchGenerateBills(@RequestBody BillingStatementDTO billingStatementDTO)
{
/*
暂时不做异步处理,后续使用中,数据量较大时,在考虑异步处理或者其他优化
*/
if(!StringUtils.isNotEmpty(billingStatementDTO.getBillingStatementIds())){
throw new ServiceException("所选生成账单对象不能为空");
}
//加锁
RedissonMultiLock redissonMultiLock = null;
boolean payInfoDetailLock = false;
try {
RedisLockTypeEnum redisLockTypeEnum = RedisLockTypeEnum.BMS;
List<RLock> locks = new ArrayList<>();
Set<String> billingSet = Stream.of(billingStatementDTO.getBillingStatementIds().split(",")).collect(Collectors.toSet());
billingSet.forEach(x -> {
//获取唯一key值
String key = redisLockTypeEnum.getUniqueKey(UniqueKeyUtil.getBillingKey(x.toString()));
locks.add(redisLock.getRLock(key));
});
redissonMultiLock = new RedissonMultiLock(locks.toArray(new RLock[billingSet.size()]));
//尝试获取锁 不等待 持有锁10分钟
payInfoDetailLock = redissonMultiLock.tryLock(-1, 10, TimeUnit.MINUTES);
if (!payInfoDetailLock) {
redissonMultiLock = null;
return AjaxResult.error("计费流水正在处理,请稍后再试");
}
log.info("生成账单加锁成功");
//批量生成账单
billingStatementApplicationService.batchGenerateBills(billingStatementDTO);
return AjaxResult.success("操作成功");
}catch (Exception e){
return AjaxResult.error(e.getMessage());
} finally {
if (redissonMultiLock != null && payInfoDetailLock) {
redissonMultiLock.unlock();
log.info("生成账单释放了锁");
}
}
}
@ApiOperation("查询计费流水列表统计")
@GetMapping("/queryListCount")
public AjaxResult<Map<String,String>> queryListCount(BillingStatementDTO billingStatementDTO)
{
//转换实体
BillingStatementDO billingStatementDO = new BillingStatementDO();
BeanUtils.copyProperties(billingStatementDTO,billingStatementDO);
Map<String,String> listCount = billingStatementApplicationService.queryListCount(billingStatementDO);
return AjaxResult.success("查询成功",listCount);
}
@ApiOperation("应收账单-添加费用")
@PostMapping("/addCost")
public AjaxResult addCost(@RequestBody BillingStatementDTO billingStatementDTO) {
try {
BillingStatementDO billingStatementDO = billingStatementAssembler.toDO(billingStatementDTO);
BillingStatementPO billingStatementPO = billingStatementApplicationService.addCost(billingStatementDO);
return AjaxResult.success("操作成功",billingStatementPO == null ? new BillingStatementPO():billingStatementPO);
}catch (Exception e){
return AjaxResult.error("操作失败"+e.getMessage());
}
}
@ApiOperation("应收账单-添加明细")
@GetMapping("/getBillDetailsList")
public TableDataInfo getBillDetailsList(BillingStatementDTO billingStatementDTO) {
BillingStatementDO billingStatementDO = new BillingStatementDO();
BeanUtils.copyProperties(billingStatementDTO, billingStatementDO);
//转换实体
List<BillingStatementPO> list = billingStatementApplicationService.getBillDetailsList(billingStatementDO);
return getDataTable(list);
}
}
@@ -0,0 +1,219 @@
package com.mhd.bms.interfaces.facadeApi;
import java.util.List;
import com.mhd.bms.application.server.businessDocument.BusinessDocumentApplicationService;
import com.mhd.common.core.domain.dto.BusinessDataPushDTO;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.mhd.bms.interfaces.dto.businessDocument.BusinessDocumentDTO;
import com.mhd.bms.domain.businessDocument.repository.todo.BusinessDocumentDO;
import com.mhd.bms.domain.businessDocument.repository.po.BusinessDocumentPO;
import com.mhd.bms.interfaces.assembler.businessDocument.BusinessDocumentAssembler;
import javax.annotation.Resource;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
/**
* 业务单据Api
*
* @author gen
* @date 2024-06-21
*/
@RestController
@RequestMapping("/businessDocumentApi")
public class BusinessDocumentApi extends BaseController{
@Autowired
private BusinessDocumentApplicationService businessDocumentApplicationService;
@Resource
private BusinessDocumentAssembler businessDocumentAssembler;
/**
* 分页查询业务单据列表
*/
@ApiOperation("查询业务单据列表")
@GetMapping("/list")
public TableDataInfo list(BusinessDocumentDTO businessDocumentDTO)
{
//转换实体
BusinessDocumentDO businessDocumentDO = new BusinessDocumentDO();
BeanUtils.copyProperties(businessDocumentDTO,businessDocumentDO);
startPage();
List<BusinessDocumentPO> list = businessDocumentApplicationService.queryList(businessDocumentDO);
return getDataTable(list);
}
/**
* 保存业务单据
*/
@ApiOperation("保存业务单据")
@PostMapping("/save")
public AjaxResult save(@RequestBody BusinessDocumentDTO businessDocumentDTO)
{
try {
//转换实体
BusinessDocumentDO businessDocumentDO = businessDocumentAssembler.toDO(businessDocumentDTO);
if(businessDocumentDTO.getBusinessDocumentId() != null){
return toAjax(businessDocumentApplicationService.update(businessDocumentDO));
}else {
return toAjax(businessDocumentApplicationService.insert(businessDocumentDO));
}
}catch (Exception e){
return AjaxResult.error("保存业务单据失败" +e.getMessage());
}
}
/**
* 批量删除业务单据
*/
@ApiOperation("批量删除业务单据")
@PostMapping("/deleteByIds")
public AjaxResult deleteByIds(@RequestBody BusinessDocumentDTO businessDocumentDTO)
{
try {
businessDocumentApplicationService.deleteByIds(businessDocumentDTO);
return AjaxResult.success("删除成功");
}catch (Exception e){
return AjaxResult.error("删除失败:" + e.getMessage());
}
}
/**
* 获取业务单据详细信息
*/
@ApiOperation("获取业务单据")
@GetMapping(value = "/getInfoById")
public AjaxResult getInfoById(BusinessDocumentDTO businessDocumentDTO)
{
return AjaxResult.success(businessDocumentApplicationService.getInfo(businessDocumentDTO.getBusinessDocumentId()));
}
/**
* 同步业务数据
*/
@ApiOperation("同步业务单据")
@PostMapping("/syncData")
public AjaxResult syncData(@RequestBody BusinessDocumentDTO businessDocumentDTO)
{
try {
//转换实体
BusinessDocumentDO businessDocumentDO = businessDocumentAssembler.toDO(businessDocumentDTO);
String result = businessDocumentApplicationService.syncData(businessDocumentDO);
return AjaxResult.success("同步成功",result);
}catch (Exception e){
return AjaxResult.error("同步业务单据失败" + e.getMessage());
}
}
@ApiOperation("费用重算")
@PostMapping("/costRecalculation")
public AjaxResult costRecalculation(@RequestBody List<BusinessDocumentDTO> businessDocumentDTOList)
{
try {
businessDocumentApplicationService.costRecalculation(businessDocumentDTOList);
return AjaxResult.success("操作成功");
}catch (Exception e){
return AjaxResult.error("操作失败" + e.getMessage());
}
}
@ApiOperation("费用重算重算列表查询")
@GetMapping("/costRecalculationList")
public AjaxResult costRecalculationList(BusinessDocumentDTO businessDocumentDTO)
{
BusinessDocumentDO businessDocumentDO = new BusinessDocumentDO();
BeanUtils.copyProperties(businessDocumentDTO,businessDocumentDO);
List<BusinessDocumentPO> list = businessDocumentApplicationService.costRecalculationList(businessDocumentDO);
return AjaxResult.success("操作成功",list);
}
@ApiOperation("批量作废业务单据")
@PostMapping("/nullifyByIds")
public AjaxResult nullifyByIds(@RequestBody BusinessDocumentDTO businessDocumentDTO)
{
try {
businessDocumentApplicationService.nullifyByIds(businessDocumentDTO);
return AjaxResult.success("作废成功");
}catch (Exception e){
return AjaxResult.error("作废失败:" + e.getMessage());
}
}
@ApiOperation("批量生效业务单据")
@PostMapping("/takeEffectByIds")
public AjaxResult takeEffectByIds(@RequestBody BusinessDocumentDTO businessDocumentDTO)
{
try {
businessDocumentApplicationService.takeEffectByIds(businessDocumentDTO);
return AjaxResult.success("操作成功");
}catch (Exception e){
return AjaxResult.error("操作失败:" + e.getMessage());
}
}
@ApiOperation("批量审核业务单据")
@PostMapping("/auditByIds")
public AjaxResult auditByIds(@RequestBody BusinessDocumentDTO businessDocumentDTO)
{
try {
businessDocumentApplicationService.auditByIds(businessDocumentDTO);
return AjaxResult.success("操作成功");
}catch (Exception e){
return AjaxResult.error("操作失败:" + e.getMessage());
}
}
@ApiOperation("导入业务单据")
@PostMapping("/importDocument")
public AjaxResult importDocument(@RequestBody List<BusinessDocumentDTO> businessDocumentDTOList)
{
try {
//转换实体
return toAjax(businessDocumentApplicationService.importDocument(businessDocumentDTOList));
}catch (Exception e){
return AjaxResult.error("导入业务单据失败" +e.getMessage());
}
}
@ApiOperation("推送同步业务单据")
@PostMapping("/pushSyncData")
public AjaxResult pushSyncData(@RequestBody @Validated BusinessDataPushDTO businessDataPushDTO)
{
try {
//转换实体
BusinessDocumentDO businessDocumentDO = new BusinessDocumentAssembler().syncDataAssemble(businessDataPushDTO);
return toAjax(businessDocumentApplicationService.pushSyncData(businessDocumentDO));
}catch (Exception e){
return AjaxResult.error("结算系统操作失败:" + e.getMessage());
}
}
}
@@ -0,0 +1,93 @@
package com.mhd.bms.interfaces.facadeApi;
import java.util.List;
import com.mhd.bms.application.server.conditionalMapping.ConditionalMappingApplicationService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.mhd.bms.interfaces.dto.conditionalMapping.ConditionalMappingDTO;
import com.mhd.bms.domain.conditionalMapping.repository.todo.ConditionalMappingDO;
import com.mhd.bms.domain.conditionalMapping.repository.po.ConditionalMappingPO;
import com.mhd.bms.interfaces.assembler.conditionalMapping.ConditionalMappingAssembler;
import javax.annotation.Resource;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
/**
* 条件映射管理Api
*
* @author gen
* @date 2024-08-07
*/
@RestController
@RequestMapping("/conditionalMappingApi")
public class ConditionalMappingApi extends BaseController{
@Autowired
private ConditionalMappingApplicationService conditionalMappingApplicationService;
@Resource
private ConditionalMappingAssembler conditionalMappingAssembler;
/**
* 分页查询条件映射管理列表
*/
@ApiOperation("查询条件映射管理列表")
@GetMapping("/list")
public TableDataInfo list(ConditionalMappingDTO conditionalMappingDTO)
{
//转换实体
ConditionalMappingDO conditionalMappingDO = conditionalMappingAssembler.toDO(conditionalMappingDTO);
startPage();
List<ConditionalMappingPO> list = conditionalMappingApplicationService.queryList(conditionalMappingDO);
return getDataTable(list);
}
/**
* 保存条件映射管理
*/
@ApiOperation("保存条件映射管理")
@PostMapping("/save")
public AjaxResult save(@RequestBody ConditionalMappingDTO conditionalMappingDTO)
{
//转换实体
ConditionalMappingDO conditionalMappingDO = conditionalMappingAssembler.toDO(conditionalMappingDTO);
if(conditionalMappingDTO.getConditionalMappingId() != null){
return toAjax(conditionalMappingApplicationService.update(conditionalMappingDO));
}else {
return toAjax(conditionalMappingApplicationService.insert(conditionalMappingDO));
}
}
/**
* 批量删除条件映射管理
*/
@ApiOperation("批量删除条件映射管理")
@PostMapping("/deleteByIds")
public AjaxResult deleteByIds(@RequestBody ConditionalMappingDTO conditionalMappingDTO)
{
return toAjax(conditionalMappingApplicationService.deleteByIds(conditionalMappingDTO));
}
/**
* 获取条件映射管理详细信息
*/
@ApiOperation("获取条件映射管理")
@GetMapping(value = "/getInfoById")
public AjaxResult getInfoById(@RequestParam("conditionalMappingId") Long conditionalMappingId)
{
return AjaxResult.success(conditionalMappingApplicationService.getInfo(conditionalMappingId));
}
}
@@ -0,0 +1,45 @@
package com.mhd.bms.interfaces.facadeApi;
import com.mhd.bms.application.server.billingRules.CostCalculationApplicationService;
import com.mhd.bms.domain.billingRules.repository.po.BillingRulesPO;
import com.mhd.bms.domain.costCalculation.po.BillingCostPo;
import com.mhd.bms.interfaces.dto.billingRules.CostCalculationDTO;
import com.mhd.bms.interfaces.dto.documentType.DocumentTypeDTO;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.security.annotation.RepeatSubmit;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* 费用计算Api
*/
@RestController
@RequestMapping("/costCalculationApi")
public class CostCalculationApi extends BaseController{
@Autowired
private CostCalculationApplicationService costCalculationApplicationService;
/**
* BMS费用计算
*/
@RepeatSubmit
@ApiOperation("BMS费用计算")
@PostMapping("/costCalculation")
public AjaxResult costCalculation(@Validated @RequestBody CostCalculationDTO costCalculationDTO)
{
try {
BillingCostPo billingCostPo = costCalculationApplicationService.costCalculation(costCalculationDTO);
return AjaxResult.success("计算成功",billingCostPo == null ? new BillingCostPo():billingCostPo);
}catch (Exception e){
return AjaxResult.error("费用计算失败:" + e.getMessage());
}
}
}
@@ -0,0 +1,118 @@
package com.mhd.bms.interfaces.facadeApi;
import java.util.List;
import java.util.Set;
import com.mhd.bms.application.server.documentType.DocumentTypeApplicationService;
import com.mhd.bms.domain.businessDocument.repository.po.BusinessDocumentPO;
import com.mhd.bms.domain.businessDocument.repository.todo.BusinessDocumentDO;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.mhd.bms.interfaces.dto.documentType.DocumentTypeDTO;
import com.mhd.bms.domain.documentType.repository.todo.DocumentTypeDO;
import com.mhd.bms.domain.documentType.repository.po.DocumentTypePO;
import com.mhd.bms.interfaces.assembler.documentType.DocumentTypeAssembler;
import javax.annotation.Resource;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
/**
* 单据类型Api
*
* @author gen
* @date 2024-06-18
*/
@RestController
@RequestMapping("/documentTypeApi")
public class DocumentTypeApi extends BaseController{
@Autowired
private DocumentTypeApplicationService documentTypeApplicationService;
@Resource
private DocumentTypeAssembler documentTypeAssembler;
/**
* 分页查询单据类型列表
*/
@ApiOperation("查询单据类型列表")
@GetMapping("/list")
public TableDataInfo list(DocumentTypeDTO documentTypeDTO)
{
//转换实体
DocumentTypeDO documentTypeDO = documentTypeAssembler.toDO(documentTypeDTO);
startPage();
List<DocumentTypePO> list = documentTypeApplicationService.queryList(documentTypeDO);
return getDataTable(list);
}
/**
* 保存单据类型
*/
@ApiOperation("保存单据类型")
@PostMapping("/save")
public AjaxResult save(@RequestBody DocumentTypeDTO documentTypeDTO)
{
//转换实体
DocumentTypeDO documentTypeDO = documentTypeAssembler.toDO(documentTypeDTO);
if(documentTypeDTO.getDocumentTypeId() != null){
return toAjax(documentTypeApplicationService.update(documentTypeDO));
}else {
return toAjax(documentTypeApplicationService.insert(documentTypeDO));
}
}
/**
* 批量删除单据类型
*/
@ApiOperation("批量删除单据类型")
@PostMapping("/deleteByIds")
public AjaxResult deleteByIds(@RequestBody DocumentTypeDTO documentTypeDTO)
{
return toAjax(documentTypeApplicationService.deleteByIds(documentTypeDTO));
}
/**
* 获取单据类型详细信息
*/
@ApiOperation("获取单据类型")
@GetMapping(value = "/getInfoById")
public AjaxResult getInfoById(DocumentTypeDTO documentTypeDTO)
{
return AjaxResult.success(documentTypeApplicationService.getInfo(documentTypeDTO.getDocumentTypeId()));
}
@ApiOperation("修改单据类型状态")
@PostMapping("/changeStatus")
public AjaxResult changeStatus(@RequestBody DocumentTypeDTO documentTypeDTO)
{
DocumentTypeDO documentTypeDO = new DocumentTypeDO();
BeanUtils.copyProperties(documentTypeDTO,documentTypeDO);
try {
return toAjax(documentTypeApplicationService.changeStatus(documentTypeDO));
}catch (Exception e){
return AjaxResult.error("修改单据类型状态失败:"+e.getMessage());
}
}
@ApiOperation("根据单据Code查询单据信息")
@GetMapping("/getDocumentInfoByCodeSet")
public AjaxResult getDocumentInfoByCodeSet(@RequestParam("documentTypeCodeSet") Set<String> documentTypeCodeSet)
{
DocumentTypeDO documentTypeDO = new DocumentTypeDO();
documentTypeDO.setDocumentTypeCodeSet(documentTypeCodeSet);
List<DocumentTypePO> list = documentTypeApplicationService.queryList(documentTypeDO);
return AjaxResult.success("操作成功",list);
}
}
@@ -0,0 +1,96 @@
package com.mhd.bms.interfaces.facadeApi;
import java.util.List;
import com.mhd.bms.application.server.reportForm.FormQueryManageApplicationService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.mhd.bms.interfaces.dto.reportForm.FormQueryManageDTO;
import com.mhd.bms.domain.reportForm.repository.todo.FormQueryManageDO;
import com.mhd.bms.domain.reportForm.repository.po.FormQueryManagePO;
import com.mhd.bms.interfaces.assembler.reportForm.FormQueryManageAssembler;
import javax.annotation.Resource;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
/**
* 查询条件管理Api
*
* @author gen
* @date 2024-07-26
*/
@RestController
@RequestMapping("/formQueryManageApi")
public class FormQueryManageApi extends BaseController{
@Autowired
private FormQueryManageApplicationService formQueryManageApplicationService;
@Resource
private FormQueryManageAssembler formQueryManageAssembler;
/**
* 分页查询查询条件管理列表
*/
@ApiOperation("查询查询条件管理列表")
@GetMapping("/list")
public AjaxResult list(FormQueryManageDTO formQueryManageDTO)
{
//转换实体
FormQueryManageDO formQueryManageDO = new FormQueryManageDO();
BeanUtils.copyProperties(formQueryManageDTO,formQueryManageDO);
List<FormQueryManagePO> list = formQueryManageApplicationService.queryList(formQueryManageDO);
return AjaxResult.success("操作成功",list);
}
/**
* 保存查询条件管理
*/
@ApiOperation("保存查询条件管理")
@PostMapping("/save")
public AjaxResult save(@RequestBody FormQueryManageDTO formQueryManageDTO)
{
//转换实体
FormQueryManageDO formQueryManageDO = formQueryManageAssembler.toDO(formQueryManageDTO);
if(formQueryManageDTO.getFormQueryManageId() != null){
return toAjax(formQueryManageApplicationService.update(formQueryManageDO));
}else {
return toAjax(formQueryManageApplicationService.insert(formQueryManageDO));
}
}
/**
* 批量删除查询条件管理
*/
@ApiOperation("批量删除查询条件管理")
@PostMapping("/deleteByIds")
public AjaxResult deleteByIds(@RequestBody FormQueryManageDTO formQueryManageDTO)
{
return toAjax(formQueryManageApplicationService.deleteByIds(formQueryManageDTO));
}
/**
* 获取查询条件管理详细信息
*/
@ApiOperation("获取查询条件管理")
@GetMapping(value = "/getInfoById")
public AjaxResult getInfo(@RequestParam(value = "formQueryManageId",required = true) Long formQueryManageId)
{
return AjaxResult.success(formQueryManageApplicationService.getInfo(formQueryManageId));
}
}
@@ -0,0 +1,84 @@
package com.mhd.bms.interfaces.facadeApi;
import java.util.List;
import com.mhd.bms.application.server.reportForm.FormQueryParamsApplicationService;
import com.mhd.bms.interfaces.assembler.reportForm.FormQueryParamsAssembler;
import com.mhd.bms.interfaces.dto.reportForm.FormQueryParamsDTO;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.mhd.bms.domain.reportForm.repository.todo.FormQueryParamsDO;
import com.mhd.bms.domain.reportForm.repository.po.FormQueryParamsPO;
import javax.annotation.Resource;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
/**
* 报查询条件管理Api
*
* @author gen
* @date 2024-07-25
*/
@RestController
@RequestMapping("/formQueryParamsApi")
public class FormQueryParamsApi extends BaseController{
@Autowired
private FormQueryParamsApplicationService formQueryParamsApplicationService;
@Resource
private FormQueryParamsAssembler formQueryParamsAssembler;
/**
* 分页查询报查询条件管理列表
*/
@ApiOperation("查询报查询条件管理列表")
@GetMapping("/list")
public AjaxResult list(FormQueryParamsDTO formQueryParamsDTO)
{
//转换实体
FormQueryParamsDO formQueryParamsDO = new FormQueryParamsDO();
BeanUtils.copyProperties(formQueryParamsDTO,formQueryParamsDO);
List<FormQueryParamsPO> list = formQueryParamsApplicationService.queryList(formQueryParamsDO);
return AjaxResult.success("操作成功",list);
}
/**
* 批量删除报查询条件管理
*/
@ApiOperation("批量删除报查询条件管理")
@DeleteMapping("/deleteByIds/{formQueryParamsIds}")
public AjaxResult delete(@PathVariable Long[] formQueryParamsIds)
{
return toAjax(formQueryParamsApplicationService.delete(formQueryParamsIds));
}
/**
* 获取报查询条件管理详细信息
*/
@ApiOperation("获取报查询条件管理")
@GetMapping(value = "/getInfo/{formQueryParamsId}")
public AjaxResult getInfo(@PathVariable("formQueryParamsId") Long formQueryParamsId)
{
return AjaxResult.success(formQueryParamsApplicationService.getInfo(formQueryParamsId));
}
}
@@ -0,0 +1,102 @@
package com.mhd.bms.interfaces.facadeApi;
import java.util.List;
import com.mhd.bms.application.server.mappingMethod.MappingMethodApplicationService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.mhd.bms.interfaces.dto.mappingMethod.MappingMethodDTO;
import com.mhd.bms.domain.mappingMethod.repository.todo.MappingMethodDO;
import com.mhd.bms.domain.mappingMethod.repository.po.MappingMethodPO;
import com.mhd.bms.interfaces.assembler.mappingMethod.MappingMethodAssembler;
import javax.annotation.Resource;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
/**
* 方法映射Api
*
* @author gen
* @date 2024-07-12
*/
@RestController
@RequestMapping("/mappingMethodApi")
public class MappingMethodApi extends BaseController{
@Autowired
private MappingMethodApplicationService mappingMethodApplicationService;
@Resource
private MappingMethodAssembler mappingMethodAssembler;
/**
* 分页查询方法映射列表
*/
@ApiOperation("查询方法映射列表")
@GetMapping("/list")
public TableDataInfo list(MappingMethodDTO mappingMethodDTO)
{
//转换实体
MappingMethodDO mappingMethodDO = new MappingMethodDO();
BeanUtils.copyProperties(mappingMethodDTO,mappingMethodDO);
startPage();
List<MappingMethodPO> list = mappingMethodApplicationService.queryList(mappingMethodDO);
return getDataTable(list);
}
/**
* 保存方法映射
*/
@ApiOperation("保存方法映射")
@PostMapping("/save")
public AjaxResult save(@RequestBody MappingMethodDTO mappingMethodDTO)
{
//转换实体
MappingMethodDO mappingMethodDO = mappingMethodAssembler.toDO(mappingMethodDTO);
if(mappingMethodDTO.getMappingMethodId() != null){
return toAjax(mappingMethodApplicationService.update(mappingMethodDO));
}else {
return toAjax(mappingMethodApplicationService.insert(mappingMethodDO));
}
}
/**
* 批量删除方法映射
*/
@ApiOperation("批量删除方法映射")
@PostMapping("/deleteByIds")
public AjaxResult deleteByIds(@RequestBody MappingMethodDTO mappingMethodDTO)
{
return toAjax(mappingMethodApplicationService.deleteByIds(mappingMethodDTO));
}
/**
* 获取方法映射详细信息
*/
@ApiOperation("获取方法映射")
@GetMapping(value = "/getInfoById")
public AjaxResult getInfoById(MappingMethodDTO mappingMethodDTO)
{
return AjaxResult.success(mappingMethodApplicationService.getInfoById(mappingMethodDTO));
}
}
@@ -0,0 +1,115 @@
package com.mhd.bms.interfaces.facadeApi;
import java.util.ArrayList;
import java.util.List;
import com.mhd.bms.application.server.paymentManage.PaymentManageApplicationService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.mhd.bms.interfaces.dto.paymentManage.PaymentManageDTO;
import com.mhd.bms.domain.paymentManage.repository.todo.PaymentManageDO;
import com.mhd.bms.domain.paymentManage.repository.po.PaymentManagePO;
import com.mhd.bms.interfaces.assembler.paymentManage.PaymentManageAssembler;
import javax.annotation.Resource;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
/**
* 支付管理Api
*
* @author gen
* @date 2024-07-09
*/
@RestController
@RequestMapping("/paymentManageApi")
public class PaymentManageApi extends BaseController{
@Autowired
private PaymentManageApplicationService paymentManageApplicationService;
@Resource
private PaymentManageAssembler paymentManageAssembler;
/**
* 分页查询支付管理列表
*/
@ApiOperation("查询支付管理列表")
@GetMapping("/list")
public TableDataInfo list(PaymentManageDTO paymentManageDTO)
{
//转换实体
PaymentManageDO paymentManageDO = paymentManageAssembler.toDO(paymentManageDTO);
startPage();
List<PaymentManagePO> list = paymentManageApplicationService.queryList(paymentManageDO);
return getDataTable(list);
}
@ApiOperation("查询支付管理列表--不分页")
@GetMapping("/listNoPage")
public AjaxResult listNoPage(PaymentManageDTO paymentManageDTO)
{
//转换实体
PaymentManageDO paymentManageDO = paymentManageAssembler.toDO(paymentManageDTO);
List<PaymentManagePO> list = paymentManageApplicationService.queryList(paymentManageDO);
return AjaxResult.success("操作成功", list == null ? new ArrayList<>():list);
}
/**
* 保存支付管理
*/
@ApiOperation("保存支付管理")
@PostMapping("/save")
public AjaxResult save(@RequestBody PaymentManageDTO paymentManageDTO)
{
//转换实体
PaymentManageDO paymentManageDO = paymentManageAssembler.toDO(paymentManageDTO);
if(paymentManageDTO.getPaymentManageId() != null){
return toAjax(paymentManageApplicationService.update(paymentManageDO));
}else {
return toAjax(paymentManageApplicationService.insert(paymentManageDO));
}
}
/**
* 批量删除支付管理
*/
@ApiOperation("批量删除支付管理")
@PostMapping("/deleteByIds")
public AjaxResult deleteByIds(@RequestBody PaymentManageDTO paymentManageDTO)
{
try {
return toAjax(paymentManageApplicationService.deleteByIds(paymentManageDTO));
}catch (Exception e){
return AjaxResult.error("操作失败:" + e.getMessage());
}
}
/**
* 获取支付管理详细信息
*/
@ApiOperation("获取支付管理")
@GetMapping(value = "/getInfo/{paymentManageId}")
public AjaxResult getInfo(@PathVariable("paymentManageId") Long paymentManageId)
{
return AjaxResult.success(paymentManageApplicationService.getInfo(paymentManageId));
}
}
@@ -0,0 +1,157 @@
package com.mhd.bms.interfaces.facadeApi;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import com.mhd.bms.application.server.paymentOrder.PaymentOrderApplicationService;
import com.mhd.bms.domain.receiptManage.repository.todo.ReceiptManageDO;
import com.mhd.bms.infrastructure.utils.UniqueKeyUtil;
import com.mhd.bms.interfaces.dto.receiptManage.ReceiptManageDTO;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.core.utils.StringUtils;
import com.mhd.common.redis.enums.RedisLockTypeEnum;
import com.mhd.common.redis.service.RedisLock;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.redisson.RedissonMultiLock;
import org.redisson.api.RLock;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.mhd.bms.interfaces.dto.paymentOrder.PaymentOrderDTO;
import com.mhd.bms.domain.paymentOrder.repository.todo.PaymentOrderDO;
import com.mhd.bms.domain.paymentOrder.repository.po.PaymentOrderPO;
import com.mhd.bms.interfaces.assembler.paymentOrder.PaymentOrderAssembler;
import javax.annotation.Resource;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
/**
* 付款单Api
*
* @author gen
* @date 2024-07-16
*/
@Slf4j
@RestController
@RequestMapping("/paymentOrderApi")
public class PaymentOrderApi extends BaseController{
@Autowired
private PaymentOrderApplicationService paymentOrderApplicationService;
@Resource
private PaymentOrderAssembler paymentOrderAssembler;
@Autowired
private RedisLock redisLock;
/**
* 分页查询付款单列表
*/
@ApiOperation("查询付款单列表")
@GetMapping("/list")
public TableDataInfo list(PaymentOrderDTO paymentOrderDTO)
{
//转换实体
PaymentOrderDO paymentOrderDO = new PaymentOrderDO();
BeanUtils.copyProperties(paymentOrderDTO,paymentOrderDO);
startPage();
List<PaymentOrderPO> list = paymentOrderApplicationService.queryList(paymentOrderDO);
return getDataTable(list);
}
/**
* 编辑付款单
*/
@ApiOperation("编辑付款单")
@PostMapping("/edit")
public AjaxResult edit(@RequestBody PaymentOrderDTO paymentOrderDTO)
{
//转换实体
PaymentOrderDO paymentOrderDO = paymentOrderAssembler.toDO(paymentOrderDTO);
if(paymentOrderDTO.getPaymentOrderId() != null){
return toAjax(paymentOrderApplicationService.update(paymentOrderDO));
}else {
return toAjax(paymentOrderApplicationService.insert(paymentOrderDO));
}
}
/**
* 批量删除付款单
*/
@ApiOperation("批量删除付款单")
@DeleteMapping("/deleteByIds/{paymentOrderIds}")
public AjaxResult delete(@PathVariable Long[] paymentOrderIds)
{
return toAjax(paymentOrderApplicationService.delete(paymentOrderIds));
}
/**
* 获取付款单详细信息
*/
@ApiOperation("获取付款单")
@GetMapping(value = "/getInfoById")
public AjaxResult getInfoById(PaymentOrderDTO paymentOrderDTO)
{
return AjaxResult.success(paymentOrderApplicationService.getInfoById(paymentOrderDTO));
}
@ApiOperation("批量付款")
@PostMapping("/batchPayment")
public AjaxResult batchPayment(@RequestBody PaymentOrderDTO paymentOrderDTO)
{
if(!StringUtils.isNotEmpty(paymentOrderDTO.getBillManageIds())){
throw new ServiceException("付款账单不能为空");
}
RedissonMultiLock redissonMultiLock = null;
boolean payInfoDetailLock = false;
try {
RedisLockTypeEnum redisLockTypeEnum = RedisLockTypeEnum.BMS;
List<RLock> locks = new ArrayList<>();
Set<String> billingSet = Stream.of(paymentOrderDTO.getBillManageIds().split(",")).collect(Collectors.toSet());
billingSet.forEach(x -> {
//获取唯一key值
String key = redisLockTypeEnum.getUniqueKey(UniqueKeyUtil.getBillingKey(x.toString()));
locks.add(redisLock.getRLock(key));
});
redissonMultiLock = new RedissonMultiLock(locks.toArray(new RLock[billingSet.size()]));
//尝试获取锁 不等待 持有锁10分钟
payInfoDetailLock = redissonMultiLock.tryLock(-1, 10, TimeUnit.MINUTES);
if (!payInfoDetailLock) {
redissonMultiLock = null;
return AjaxResult.error("账单正在处理,请稍后再试");
}
log.info("账单付款加锁成功");
//转换实体
PaymentOrderDO paymentOrderDO = new PaymentOrderAssembler().toDO(paymentOrderDTO);
BeanUtils.copyProperties(paymentOrderDTO,paymentOrderDO);
return toAjax(paymentOrderApplicationService.batchPayment(paymentOrderDO));
}catch (Exception e){
return AjaxResult.error("付款失败" + e.getMessage());
}finally {
if (redissonMultiLock != null && payInfoDetailLock) {
redissonMultiLock.unlock();
log.info("账单付款释放了锁");
}
}
}
}
@@ -0,0 +1,114 @@
package com.mhd.bms.interfaces.facadeApi;
import java.util.ArrayList;
import java.util.List;
import com.mhd.bms.application.server.paymentWallet.PaymentWalletApplicationService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.mhd.bms.interfaces.dto.paymentWallet.PaymentWalletDTO;
import com.mhd.bms.domain.paymentWallet.repository.todo.PaymentWalletDO;
import com.mhd.bms.domain.paymentWallet.repository.po.PaymentWalletPO;
import com.mhd.bms.interfaces.assembler.paymentWallet.PaymentWalletAssembler;
import javax.annotation.Resource;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
/**
* 支付钱包管理Api
*
* @author gen
* @date 2024-07-09
*/
@RestController
@RequestMapping("/paymentWalletApi")
public class PaymentWalletApi extends BaseController{
@Autowired
private PaymentWalletApplicationService paymentWalletApplicationService;
@Resource
private PaymentWalletAssembler paymentWalletAssembler;
/**
* 分页查询支付钱包管理列表
*/
@ApiOperation("查询支付钱包管理列表")
@GetMapping("/list")
public TableDataInfo list(PaymentWalletDTO paymentWalletDTO)
{
//转换实体
PaymentWalletDO paymentWalletDO = paymentWalletAssembler.toDO(paymentWalletDTO);
startPage();
List<PaymentWalletPO> list = paymentWalletApplicationService.queryList(paymentWalletDO);
return getDataTable(list);
}
/**
* 保存支付钱包管理
*/
@ApiOperation("保存支付钱包管理")
@PostMapping("/save")
public AjaxResult save(@RequestBody PaymentWalletDTO paymentWalletDTO)
{
//转换实体
PaymentWalletDO paymentWalletDO = paymentWalletAssembler.toDO(paymentWalletDTO);
if(paymentWalletDTO.getPaymentWalletId() != null){
return toAjax(paymentWalletApplicationService.update(paymentWalletDO));
}else {
return toAjax(paymentWalletApplicationService.insert(paymentWalletDO));
}
}
/**
* 批量删除支付钱包管理
*/
@ApiOperation("批量删除支付钱包管理")
@PostMapping("/deleteByIds")
public AjaxResult deleteByIds(@RequestBody PaymentWalletDTO paymentWalletDTO)
{
return toAjax(paymentWalletApplicationService.deleteByIds(paymentWalletDTO));
}
/**
* 获取支付钱包管理详细信息
*/
@ApiOperation("获取支付钱包管理")
@GetMapping(value = "/getInfoById")
public AjaxResult getInfoById(PaymentWalletDTO paymentWalletDTO)
{
return AjaxResult.success(paymentWalletApplicationService.getInfoById(paymentWalletDTO));
}
@ApiOperation("查询支付钱包管理列表--不分页")
@GetMapping("/listNoPage")
public AjaxResult listNoPage(PaymentWalletDTO paymentWalletDTO)
{
//转换实体
PaymentWalletDO paymentWalletDO = new PaymentWalletDO();
BeanUtils.copyProperties(paymentWalletDTO,paymentWalletDO);
List<PaymentWalletPO> list = paymentWalletApplicationService.queryList(paymentWalletDO);
return AjaxResult.success("操作成功",list == null ? new ArrayList<>():list);
}
}
@@ -0,0 +1,185 @@
package com.mhd.bms.interfaces.facadeApi;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import com.mhd.bms.application.server.receiptManage.ReceiptManageApplicationService;
import com.mhd.bms.infrastructure.utils.UniqueKeyUtil;
import com.mhd.bms.interfaces.dto.billingStatement.BillingStatementDTO;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.core.utils.StringUtils;
import com.mhd.common.redis.enums.RedisLockTypeEnum;
import com.mhd.common.redis.service.RedisLock;
import com.mhd.common.security.annotation.RepeatSubmit;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.redisson.RedissonMultiLock;
import org.redisson.api.RLock;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.mhd.bms.interfaces.dto.receiptManage.ReceiptManageDTO;
import com.mhd.bms.domain.receiptManage.repository.todo.ReceiptManageDO;
import com.mhd.bms.domain.receiptManage.repository.po.ReceiptManagePO;
import com.mhd.bms.interfaces.assembler.receiptManage.ReceiptManageAssembler;
import javax.annotation.Resource;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
/**
* 收款单管理Api
*
* @author gen
* @date 2024-07-08
*/
@Slf4j
@RestController
@RequestMapping("/receiptManageApi")
public class ReceiptManageApi extends BaseController{
@Autowired
private ReceiptManageApplicationService receiptManageApplicationService;
@Resource
private ReceiptManageAssembler receiptManageAssembler;
@Autowired
private RedisLock redisLock;
/**
* 分页查询收款单管理列表
*/
@ApiOperation("查询收款单管理列表")
@GetMapping("/list")
public TableDataInfo list(ReceiptManageDTO receiptManageDTO)
{
//转换实体
ReceiptManageDO receiptManageDO = new ReceiptManageDO();
BeanUtils.copyProperties(receiptManageDTO,receiptManageDO);
startPage();
List<ReceiptManagePO> list = receiptManageApplicationService.queryList(receiptManageDO);
return getDataTable(list);
}
/**
* 编辑收款单管理
*/
@ApiOperation("批量收款")
@RepeatSubmit
@PostMapping("/batchCollection")
public AjaxResult batchCollection(@RequestBody ReceiptManageDTO receiptManageDTO)
{
if(!StringUtils.isNotEmpty(receiptManageDTO.getBillManageIds())){
throw new ServiceException("收款账单不能为空");
}
RedissonMultiLock redissonMultiLock = null;
boolean payInfoDetailLock = false;
try {
RedisLockTypeEnum redisLockTypeEnum = RedisLockTypeEnum.BMS;
List<RLock> locks = new ArrayList<>();
Set<String> billingSet = Stream.of(receiptManageDTO.getBillManageIds().split(",")).collect(Collectors.toSet());
billingSet.forEach(x -> {
//获取唯一key值
String key = redisLockTypeEnum.getUniqueKey(UniqueKeyUtil.getBillingKey(x.toString()));
locks.add(redisLock.getRLock(key));
});
redissonMultiLock = new RedissonMultiLock(locks.toArray(new RLock[billingSet.size()]));
//尝试获取锁 不等待 持有锁10分钟
payInfoDetailLock = redissonMultiLock.tryLock(-1, 10, TimeUnit.MINUTES);
if (!payInfoDetailLock) {
redissonMultiLock = null;
return AjaxResult.error("账单正在处理,请稍后再试");
}
log.info("生成账单加锁成功");
//转换实体
ReceiptManageDO receiptManageDO = new ReceiptManageDO();
BeanUtils.copyProperties(receiptManageDTO,receiptManageDO);
return toAjax(receiptManageApplicationService.batchCollection(receiptManageDO));
}catch (Exception e){
return AjaxResult.error("收款失败" + e.getMessage());
}finally {
if (redissonMultiLock != null && payInfoDetailLock) {
redissonMultiLock.unlock();
log.info("生成账单释放了锁");
}
}
}
/**
* 批量删除收款单管理
*/
@ApiOperation("批量删除收款单管理")
@DeleteMapping("/deleteByIds/{receiptManageIds}")
public AjaxResult delete(@PathVariable Long[] receiptManageIds)
{
return toAjax(receiptManageApplicationService.delete(receiptManageIds));
}
/**
* 获取收款单管理详细信息
*/
@ApiOperation("获取收款单详情")
@GetMapping(value = "/getDetailsInfo")
public AjaxResult getDetailsInfo(ReceiptManageDTO receiptManageDTO)
{
ReceiptManagePO receiptManagePO = receiptManageApplicationService.getDetailsInfo(receiptManageDTO);
return AjaxResult.success("操作成功",receiptManagePO==null ? new ReceiptManagePO():receiptManagePO);
}
@ApiOperation("退款")
@PostMapping("/refund")
public AjaxResult refund(@RequestBody ReceiptManageDTO receiptManageDTO) {
if(!StringUtils.isNotEmpty(receiptManageDTO.getReceiptManageIds())){
throw new ServiceException("收款账单不能为空");
}
RedissonMultiLock redissonMultiLock = null;
boolean payInfoDetailLock = false;
try {
RedisLockTypeEnum redisLockTypeEnum = RedisLockTypeEnum.BMS;
List<RLock> locks = new ArrayList<>();
Set<String> billingSet = Stream.of(receiptManageDTO.getReceiptManageIds().split(",")).collect(Collectors.toSet());
billingSet.forEach(x -> {
//获取唯一key值
String key = redisLockTypeEnum.getUniqueKey(UniqueKeyUtil.getBillingKey(x.toString()));
locks.add(redisLock.getRLock(key));
});
redissonMultiLock = new RedissonMultiLock(locks.toArray(new RLock[billingSet.size()]));
//尝试获取锁 不等待 持有锁10分钟
payInfoDetailLock = redissonMultiLock.tryLock(-1, 10, TimeUnit.MINUTES);
if (!payInfoDetailLock) {
redissonMultiLock = null;
return AjaxResult.error("结算单正在处理,请稍后再试");
}
log.info("结算单退款加锁成功");
//转换实体
ReceiptManageDO receiptManageDO = new ReceiptManageDO();
BeanUtils.copyProperties(receiptManageDTO,receiptManageDO);
return toAjax(receiptManageApplicationService.refund(receiptManageDO));
}catch (Exception e){
return AjaxResult.error("退款失败:" + e.getMessage());
}finally {
if (redissonMultiLock != null && payInfoDetailLock) {
redissonMultiLock.unlock();
log.info("结算单退款释放了锁");
}
}
}
}
@@ -0,0 +1,145 @@
package com.mhd.bms.interfaces.facadeApi;
import java.util.List;
import java.util.Map;
import com.mhd.bms.application.server.reportForm.ReportFormApplicationService;
import com.mhd.common.core.web.page.TableDataInfo;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.mhd.bms.interfaces.dto.reportForm.ReportFormDTO;
import com.mhd.bms.domain.reportForm.repository.todo.ReportFormDO;
import com.mhd.bms.domain.reportForm.repository.po.ReportFormPO;
import com.mhd.bms.interfaces.assembler.reportForm.ReportFormAssembler;
import javax.annotation.Resource;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
/**
* 分析报表管理Api
*
* @author gen
* @date 2024-07-25
*/
@RestController
@RequestMapping("/reportFormApi")
public class ReportFormApi extends BaseController{
@Autowired
private ReportFormApplicationService reportFormApplicationService;
@Resource
private ReportFormAssembler reportFormAssembler;
/**
* 分页查询分析报管理列表
*/
@ApiOperation("查询分析报管理列表")
@GetMapping("/list")
public AjaxResult list(ReportFormDTO reportFormDTO)
{
//转换实体
ReportFormDO reportFormDO = new ReportFormDO();
BeanUtils.copyProperties(reportFormDTO,reportFormDO);
List<ReportFormPO> list = reportFormApplicationService.queryList(reportFormDO);
return AjaxResult.success("操作成功",list);
}
/**
* 保存分析报管理
*/
@ApiOperation("保存分析报管理")
@PostMapping("/save")
public AjaxResult save(@RequestBody ReportFormDTO reportFormDTO)
{
//转换实体
ReportFormDO reportFormDO = reportFormAssembler.toDO(reportFormDTO);
if(reportFormDTO.getReportFormId() != null){
return toAjax(reportFormApplicationService.update(reportFormDO));
}else {
return toAjax(reportFormApplicationService.insert(reportFormDO));
}
}
/**
* 批量删除分析报管理
*/
@ApiOperation("批量删除分析报管理")
@PostMapping("/deleteByIds")
public AjaxResult deleteByIds(@RequestBody ReportFormDTO reportFormDTO)
{
try {
return toAjax(reportFormApplicationService.deleteByIds(reportFormDTO));
}catch (Exception e){
return AjaxResult.error("删除失败");
}
}
/**
* 获取分析报管理详细信息
*/
@ApiOperation("获取分析报管理")
@GetMapping(value = "/getInfoById")
public AjaxResult getInfoById(@RequestParam(required = true, value = "reportFormId") Long reportFormId)
{
return AjaxResult.success(reportFormApplicationService.getInfo(reportFormId));
}
@ApiOperation("综合分析报表查询")
@PostMapping("/comprehensiveList")
public AjaxResult comprehensiveList(@RequestBody ReportFormDTO reportFormDTO)
{
//转换实体
ReportFormDO reportFormDO = new ReportFormDO();
BeanUtils.copyProperties(reportFormDTO,reportFormDO);
List<Map<String,Object>> list = reportFormApplicationService.comprehensiveList(reportFormDO);
return AjaxResult.success("操作成功",list);
}
@ApiOperation("账单分析报表查询")
@PostMapping("/billAnalysisList")
public AjaxResult billAnalysisList(@RequestBody ReportFormDTO reportFormDTO)
{
//转换实体
ReportFormDO reportFormDO = new ReportFormDO();
BeanUtils.copyProperties(reportFormDTO,reportFormDO);
List<Map<String,Object>> list = reportFormApplicationService.billAnalysisList(reportFormDO);
return AjaxResult.success("操作成功",list);
}
@ApiOperation("结算分析报表查询(应付)")
@PostMapping("/settlementAnalysisPaymentList")
public AjaxResult settlementAnalysisPaymentList(@RequestBody ReportFormDTO reportFormDTO)
{
//转换实体
ReportFormDO reportFormDO = new ReportFormDO();
BeanUtils.copyProperties(reportFormDTO,reportFormDO);
reportFormDO.setAccountExpenseType(2);
List<Map<String,Object>> list = reportFormApplicationService.settlementAnalysisList(reportFormDO);
return AjaxResult.success("操作成功",list);
}
@ApiOperation("结算分析报表查询(应收)")
@PostMapping("/settlementAnalysisReceiptList")
public AjaxResult settlementAnalysisReceiptList(@RequestBody ReportFormDTO reportFormDTO)
{
//转换实体
ReportFormDO reportFormDO = new ReportFormDO();
BeanUtils.copyProperties(reportFormDTO,reportFormDO);
reportFormDO.setAccountExpenseType(1);
List<Map<String,Object>> list = reportFormApplicationService.settlementAnalysisList(reportFormDO);
return AjaxResult.success("操作成功",list);
}
}
@@ -0,0 +1,134 @@
package com.mhd.bms.interfaces.facadeApi;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.mhd.bms.application.server.settlementCustomers.SettlementCustomersApplicationService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.web.bind.annotation.*;
import com.mhd.bms.interfaces.dto.settlementCustomers.SettlementCustomersDTO;
import com.mhd.bms.domain.settlementCustomers.repository.todo.SettlementCustomersDO;
import com.mhd.bms.domain.settlementCustomers.repository.po.SettlementCustomersPO;
import com.mhd.bms.interfaces.assembler.settlementCustomers.SettlementCustomersAssembler;
import javax.annotation.Resource;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
/**
* 结算对象Api
*
* @author gen
* @date 2024-06-17
*/
@RestController
@RequestMapping("/settlementCustomersApi")
public class SettlementCustomersApi extends BaseController{
@Autowired
private SettlementCustomersApplicationService settlementCustomersApplicationService;
@Resource
private SettlementCustomersAssembler settlementCustomersAssembler;
/**
* 分页查询结算对象列表
*/
@ApiOperation("查询结算对象列表")
@GetMapping("/list")
public TableDataInfo list(SettlementCustomersDTO settlementCustomersDTO)
{
//转换实体
SettlementCustomersDO settlementCustomersDO = new SettlementCustomersDO();
BeanUtils.copyProperties(settlementCustomersDTO,settlementCustomersDO);
startPage();
List<SettlementCustomersPO> list = settlementCustomersApplicationService.queryList(settlementCustomersDO);
return getDataTable(list);
}
@ApiOperation("查询结算对象")
@GetMapping("/settlementObjects")
public AjaxResult getSettlementObjects(SettlementCustomersDTO settlementCustomersDTO){
return AjaxResult.success(settlementCustomersApplicationService.getSettlementObjectList(settlementCustomersAssembler.toDO(settlementCustomersDTO)));
}
/**
* 保存结算对象
*/
@ApiOperation("保存结算对象")
@PostMapping("/save")
public AjaxResult save(@RequestBody SettlementCustomersDTO settlementCustomersDTO)
{
try {
//转换实体
SettlementCustomersDO settlementCustomersDO = settlementCustomersAssembler.toDO(settlementCustomersDTO);
if(settlementCustomersDTO.getSettlementCustomersId() != null){
return toAjax(settlementCustomersApplicationService.update(settlementCustomersDO));
}else {
return toAjax(settlementCustomersApplicationService.insert(settlementCustomersDO));
}
}catch (Exception e){
return AjaxResult.error("操作失败:"+e.getMessage());
}
}
/**
* 批量删除结算对象
*/
@ApiOperation("批量删除结算对象")
@PostMapping("/deleteByIds")
public AjaxResult deleteByIds(@RequestBody SettlementCustomersDTO settlementCustomersDTO)
{
try {
settlementCustomersApplicationService.deleteByIds(settlementCustomersDTO);
return AjaxResult.success("操作成功");
}catch (Exception e){
return AjaxResult.error(e.getMessage());
}
}
/**
* 获取结算对象详细信息
*/
@ApiOperation("获取结算对象")
@GetMapping(value = "/getInfoById")
public AjaxResult getInfoById( SettlementCustomersDTO settlementCustomersDTO)
{
return AjaxResult.success(settlementCustomersApplicationService.getInfo(settlementCustomersDTO.getSettlementCustomersId()));
}
@ApiOperation("同步结算对象")
@PostMapping("/syncSettlementCustomers")
public AjaxResult syncSettlementCustomers()
{
try {
settlementCustomersApplicationService.syncSettlementCustomers();
return AjaxResult.success("操作成功");
}catch (Exception e){
return AjaxResult.error(e.getMessage());
}
}
@ApiOperation("根据获取结算对象获取")
@GetMapping(value = "/getInfoByCode")
public AjaxResult getInfoByCode(@RequestParam("settlementCustomersCode")String settlementCustomersCode)
{
return AjaxResult.success(settlementCustomersApplicationService.getInfoByCode(settlementCustomersCode));
}
}
@@ -0,0 +1,97 @@
package com.mhd.bms.interfaces.facadeApi;
import java.util.List;
import com.mhd.bms.application.server.taskFlowRecords.TaskFlowRecordsApplicationService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.mhd.bms.interfaces.dto.taskFlowRecords.TaskFlowRecordsDTO;
import com.mhd.bms.domain.taskFlowRecords.repository.todo.TaskFlowRecordsDO;
import com.mhd.bms.domain.taskFlowRecords.repository.po.TaskFlowRecordsPO;
import com.mhd.bms.interfaces.assembler.taskFlowRecords.TaskFlowRecordsAssembler;
import javax.annotation.Resource;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfo;
/**
* 任务流水记录Api
*
* @author gen
* @date 2024-06-20
*/
@RestController
@RequestMapping("/taskFlowRecordsApi")
public class TaskFlowRecordsApi extends BaseController{
@Autowired
private TaskFlowRecordsApplicationService taskFlowRecordsApplicationService;
@Resource
private TaskFlowRecordsAssembler taskFlowRecordsAssembler;
/**
* 分页查询任务流水记录列表
*/
@ApiOperation("查询任务流水记录列表")
@GetMapping("/list")
public TableDataInfo list(TaskFlowRecordsDTO taskFlowRecordsDTO)
{
//转换实体
TaskFlowRecordsDO taskFlowRecordsDO = new TaskFlowRecordsDO();
BeanUtils.copyProperties(taskFlowRecordsDTO,taskFlowRecordsDO);
startPage();
List<TaskFlowRecordsPO> list = taskFlowRecordsApplicationService.queryList(taskFlowRecordsDO);
return getDataTable(list);
}
/**
* 保存任务流水记录
*/
@ApiOperation("保存任务流水记录")
@PostMapping("/save")
public AjaxResult save(@RequestBody TaskFlowRecordsDTO taskFlowRecordsDTO)
{
//转换实体
TaskFlowRecordsDO taskFlowRecordsDO = taskFlowRecordsAssembler.toDO(taskFlowRecordsDTO);
return toAjax(taskFlowRecordsApplicationService.insert(taskFlowRecordsDO));
}
/**
* 批量删除任务流水记录
*/
@ApiOperation("批量删除任务流水记录")
@PostMapping("/deleteByIds")
public AjaxResult deleteByIds(@RequestBody TaskFlowRecordsDTO taskFlowRecordsDTO)
{
return toAjax(taskFlowRecordsApplicationService.deleteByIds(taskFlowRecordsDTO));
}
/**
* 获取任务流水记录详细信息
*/
@ApiOperation("获取任务流水记录")
@GetMapping(value = "/getInfoById")
public AjaxResult getInfoById(TaskFlowRecordsDTO taskFlowRecordsDTO)
{
return AjaxResult.success(taskFlowRecordsApplicationService.getInfo(taskFlowRecordsDTO.getTaskFlowRecordsId()));
}
}