diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/CustomerController.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/CustomerController.java index bdbdd3f..83a1edd 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/CustomerController.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/CustomerController.java @@ -4,6 +4,7 @@ import java.util.List; import javax.validation.Valid; +import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -15,18 +16,26 @@ import org.springframework.web.bind.annotation.RestController; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.pictc.datalog.DataOperationContent; +import com.pictc.datalog.DataOperationListener; +import com.pictc.enums.BusinessCode; +import com.pictc.enums.ExceptionCommonCode; +import com.xjrsoft.common.exception.BusinessException; import com.xjrsoft.common.model.result.R; import com.xjrsoft.common.page.ConventPage; import com.xjrsoft.common.page.PageOutput; import com.xjrsoft.common.utils.VoToColumnUtil; +import com.xjrsoft.module.common.db.utils.CommonCallUtils; import com.xjrsoft.module.datalog.service.DatalogService; import com.xjrsoft.module.datalog.vo.DataChangeLogVo; +import com.xjrsoft.module.mdm.dto.UpdateLngBBankDto; import com.xjrsoft.module.sales.dto.LngCustomerPageDto; import com.xjrsoft.module.sales.dto.UpdateLngCustomerDto; import com.xjrsoft.module.sales.entity.LngCustomer; import com.xjrsoft.module.sales.service.ICustomerService; import com.xjrsoft.module.sales.vo.LngCustomerPageVo; import com.xjrsoft.module.sales.vo.LngCustomerVo; +import com.xjrsoft.module.system.client.ICodeRuleClient; import cn.dev33.satoken.annotation.SaCheckPermission; import cn.hutool.core.bean.BeanUtil; @@ -42,14 +51,20 @@ import lombok.AllArgsConstructor; * @Version 1.0 */ @RestController -@RequestMapping("/sales" + "/customer") +@RequestMapping("/sales/customer") @Api(value = "/sales" + "/customer",tags = "客户代码") @AllArgsConstructor public class CustomerController { private final ICustomerService customerService; + private final DatalogService dataService; + + + private final ICodeRuleClient codeRuleClient; + + private final String CUSTOMER_CODE = "customerCode"; @GetMapping(value = "/page") @ApiOperation(value="LngCustomer列表(分页)") @@ -98,9 +113,29 @@ public class CustomerController { @ApiOperation(value = "新增LngCustomer") @SaCheckPermission("customer:add") public R add(@Valid @RequestBody UpdateLngCustomerDto dto){ - UpdateLngCustomerDto res = dataService.insert(dto); - return R.ok(res.getId()); + + return R.ok(dataService.insert(dto,new DataOperationListener() { + + @Override + public UpdateLngCustomerDto before(DataOperationContent content) { + String code = codeRuleClient.genEncode(CUSTOMER_CODE); + dto.setCuCode("C"+code); + return content.getObj(); + } + + @Override + public UpdateLngCustomerDto after(DataOperationContent content) { + String msg = CommonCallUtils.saveAfter(content.getTableName(),content.getIdValue()); + if (StringUtils.isNotBlank(msg)) { + throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_EXEC_ERROR, msg)); + } + codeRuleClient.useEncode(CUSTOMER_CODE); + return content.getObj(); + } + })); + } + @PutMapping @ApiOperation(value = "修改LngCustomer") diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomer.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomer.java index 9f7fb84..0eac77e 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomer.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/entity/LngCustomer.java @@ -10,6 +10,11 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.github.yulichang.annotation.EntityMapping; +import com.pictc.annotations.datalog.JoinCaseType; +import com.pictc.annotations.datalog.JoinType; +import com.pictc.annotations.datalog.LogJoin; +import com.pictc.annotations.datalog.LogJoinColumn; +import com.pictc.annotations.datalog.ValueDirectionType; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -265,6 +270,10 @@ public class LngCustomer implements Serializable { @ApiModelProperty("lngCustomerAttrPower子表") @TableField(exist = false) @EntityMapping(thisField = "cuCode", joinField = "cuCode") + @LogJoin(name = "客户业务信息", + columns = { + @LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.LEFT) + }, caseType = JoinCaseType.NONE, target = LngCustomerAttrPower.class, type = JoinType.MANY) private List lngCustomerAttrPowerList; /** * lngCustomerBank @@ -272,6 +281,11 @@ public class LngCustomer implements Serializable { @ApiModelProperty("lngCustomerBank子表") @TableField(exist = false) @EntityMapping(thisField = "cuCode", joinField = "cuCode") + @LogJoin(name = "客户银行信息", + columns = { + @LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.LEFT) + }, caseType = JoinCaseType.NONE, target = LngCustomerBank.class, type = JoinType.MANY) + private List lngCustomerBankList; /** * lngCustomerDoc @@ -279,6 +293,11 @@ public class LngCustomer implements Serializable { @ApiModelProperty("lngCustomerDoc子表") @TableField(exist = false) @EntityMapping(thisField = "cuCode", joinField = "cuCode") + @LogJoin(name = "客户证书信息", + columns = { + @LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.LEFT) + }, caseType = JoinCaseType.NONE, target = LngCustomerDoc.class, type = JoinType.MANY) + private List lngCustomerDocList; /** * lngCustomerContact @@ -286,6 +305,11 @@ public class LngCustomer implements Serializable { @ApiModelProperty("lngCustomerContact子表") @TableField(exist = false) @EntityMapping(thisField = "cuCode", joinField = "cuCode") + @LogJoin(name = "客户联系人信息", + columns = { + @LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.LEFT) + }, caseType = JoinCaseType.NONE, target = LngCustomerContact.class, type = JoinType.MANY) + private List lngCustomerContactList; } \ No newline at end of file diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerAttrPowerMapper.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerAttrPowerMapper.java index 3091a47..566bf67 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerAttrPowerMapper.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerAttrPowerMapper.java @@ -12,6 +12,6 @@ import org.apache.ibatis.annotations.Mapper; * @Version 1.0 */ @Mapper -public interface LngCustomerAttrPowerMapper extends MPJBaseMapper { +public interface LngCustomerAttrPowerMapper extends MPJBaseMapper,BaseMapper { } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerBankMapper.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerBankMapper.java index 160671c..dcdaedc 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerBankMapper.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerBankMapper.java @@ -12,6 +12,6 @@ import org.apache.ibatis.annotations.Mapper; * @Version 1.0 */ @Mapper -public interface LngCustomerBankMapper extends MPJBaseMapper { +public interface LngCustomerBankMapper extends MPJBaseMapper,BaseMapper { } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerContactMapper.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerContactMapper.java index 85b2b09..ff40db2 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerContactMapper.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerContactMapper.java @@ -12,6 +12,6 @@ import org.apache.ibatis.annotations.Mapper; * @Version 1.0 */ @Mapper -public interface LngCustomerContactMapper extends MPJBaseMapper { +public interface LngCustomerContactMapper extends MPJBaseMapper,BaseMapper { } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerDocMapper.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerDocMapper.java index 200485d..bc462f0 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerDocMapper.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerDocMapper.java @@ -12,6 +12,6 @@ import org.apache.ibatis.annotations.Mapper; * @Version 1.0 */ @Mapper -public interface LngCustomerDocMapper extends MPJBaseMapper { +public interface LngCustomerDocMapper extends MPJBaseMapper,BaseMapper { } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerMapper.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerMapper.java index 87fb9c2..2abb756 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerMapper.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/mapper/LngCustomerMapper.java @@ -12,6 +12,6 @@ import org.apache.ibatis.annotations.Mapper; * @Version 1.0 */ @Mapper -public interface LngCustomerMapper extends MPJBaseMapper { +public interface LngCustomerMapper extends MPJBaseMapper,BaseMapper{ }