From dc8644f6be762aba643285a4c7460729c7e4d4ff Mon Sep 17 00:00:00 2001 From: "shunyi.kuang" <846002312@qq.com> Date: Mon, 29 Dec 2025 16:33:58 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=AC=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/sales/client/ICustomerClient.java | 24 ++++++ .../sales/client/IGradeSystemClient.java | 24 ++++++ .../module/sales/vo/LngCustomerPageVo.java | 3 +- .../module/sales/vo/LngScorePageVo.java | 15 +++- .../supplier/client/ISupplierClient.java | 24 ++++++ .../module/supplier/vo/LngScorePageVo.java | 23 ++++-- .../sales/client/CustomerClientImpl.java | 50 ++++++++++++ .../sales/client/GradeSystemClientImpl.java | 50 ++++++++++++ .../sales/controller/CustomerController.java | 55 +++++++++++-- .../controller/CustomerScoreController.java | 4 - .../controller/GradeSystemController.java | 78 ++++++++++++++++--- .../sales/service/ICustomerService.java | 2 + .../service/impl/CustomerServiceImpl.java | 8 ++ .../supplier/client/SupplierClientImpl.java | 50 ++++++++++++ .../controller/SupplierController.java | 57 ++++++++++++-- .../supplier/service/ISupplierService.java | 2 + .../service/impl/SupplierServiceImpl.java | 9 +++ 17 files changed, 445 insertions(+), 33 deletions(-) create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/client/ICustomerClient.java create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/client/IGradeSystemClient.java create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/client/ISupplierClient.java create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/client/CustomerClientImpl.java create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/client/GradeSystemClientImpl.java create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/client/SupplierClientImpl.java diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/client/ICustomerClient.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/client/ICustomerClient.java new file mode 100644 index 0000000..ca55ebf --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/client/ICustomerClient.java @@ -0,0 +1,24 @@ +package com.xjrsoft.module.sales.client; + +import java.util.Map; + +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import com.xjrsoft.common.constant.GlobalConstant; + +/** + * @author: ksy + * @since: 2025/11/5 + */ +@FeignClient(value = GlobalConstant.CLIENT_PCITC_MDM_NAME, path = GlobalConstant.CLIENT_API_PRE + GlobalConstant.SALES_MODULE_PREFIX + "/tran/customer") +public interface ICustomerClient { + + @GetMapping("/getAllTranData") + Map getAllTranData(); + + @GetMapping("/getTranById") + String getTranById(@RequestParam("id")String id); + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/client/IGradeSystemClient.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/client/IGradeSystemClient.java new file mode 100644 index 0000000..c13768d --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/client/IGradeSystemClient.java @@ -0,0 +1,24 @@ +package com.xjrsoft.module.sales.client; + +import java.util.Map; + +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import com.xjrsoft.common.constant.GlobalConstant; + +/** + * @author: ksy + * @since: 2025/11/5 + */ +@FeignClient(value = GlobalConstant.CLIENT_PCITC_MDM_NAME, path = GlobalConstant.CLIENT_API_PRE + GlobalConstant.SALES_MODULE_PREFIX + "/tran/gradeSystem") +public interface IGradeSystemClient { + + @GetMapping("/getAllTranData") + Map getAllTranData(); + + @GetMapping("/getTranById") + String getTranById(@RequestParam("id")String id); + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerPageVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerPageVo.java index ad1c452..b679e92 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerPageVo.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngCustomerPageVo.java @@ -75,7 +75,8 @@ public class LngCustomerPageVo { * 状态(未提交/审批中/已审批/已驳回) */ @ApiModelProperty("状态(未提交/审批中/已审批/已驳回)") - @Trans(type = TransType.DIC, id = "1990669393069129729", transToFieldName = "approName") + //@Trans(type = TransType.DIC, id = "1990669393069129729", transToFieldName = "approName") + @Trans(type = TransType.DIC, id = "1990669393069129729") private String approCode; @ApiModelProperty("状态(未提交/审批中/已审批/已驳回)") diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngScorePageVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngScorePageVo.java index 2d1765c..7033474 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngScorePageVo.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/vo/LngScorePageVo.java @@ -34,13 +34,26 @@ public class LngScorePageVo { * 评价体系主键 */ @ApiModelProperty("评价体系主键") - //@Trans(type = TransType.API, id = "93d735dcb7364a0f8102188ec4d77ac7") + @Trans(type = TransType.GRADE_SYSTEM, transToFieldName = "gsName") private String gsId; + + /** + * 评价体系名称主键 + */ + @ApiModelProperty("评价体系名称") + private String gsName; /** * 供应商/客户 */ @ApiModelProperty("供应商/客户") + @Trans(type = TransType.CUSTOMER, transToFieldName = "cpName") private String cpCode; + + /** + * 供应商/客户 + */ + @ApiModelProperty("供应商/客户名称") + private String cpName; /** * 分数 */ diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/client/ISupplierClient.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/client/ISupplierClient.java new file mode 100644 index 0000000..c102743 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/client/ISupplierClient.java @@ -0,0 +1,24 @@ +package com.xjrsoft.module.supplier.client; + +import java.util.Map; + +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import com.xjrsoft.common.constant.GlobalConstant; + +/** + * @author: ksy + * @since: 2025/11/5 + */ +@FeignClient(value = GlobalConstant.CLIENT_PCITC_MDM_NAME, path = GlobalConstant.CLIENT_API_PRE + GlobalConstant.SUPPLIER_MODULE_PREFIX + "/tran/supplier") +public interface ISupplierClient { + + @GetMapping("/getAllTranData") + Map getAllTranData(); + + @GetMapping("/getTranById") + String getTranById(@RequestParam("id")String id); + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/vo/LngScorePageVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/vo/LngScorePageVo.java index b03cde1..5351b30 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/vo/LngScorePageVo.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/vo/LngScorePageVo.java @@ -31,16 +31,29 @@ public class LngScorePageVo { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime dateGrade; /** - * 评价体系主键 - */ - @ApiModelProperty("评价体系主键") - @Trans(type = TransType.API, id = "93d735dcb7364a0f8102188ec4d77ac7") - private String gsId; + * 评价体系主键 + */ + @ApiModelProperty("评价体系主键") + @Trans(type = TransType.GRADE_SYSTEM, transToFieldName = "gsName") + private String gsId; + + /** + * 评价体系名称主键 + */ + @ApiModelProperty("评价体系名称") + private String gsName; /** * 供应商/客户 */ @ApiModelProperty("供应商/客户") + @Trans(type = TransType.SUPPLIER, transToFieldName = "cpName") private String cpCode; + + /** + * 供应商/客户 + */ + @ApiModelProperty("供应商/客户名称") + private String cpName; /** * 分数 */ diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/client/CustomerClientImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/client/CustomerClientImpl.java new file mode 100644 index 0000000..2c2a9c6 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/client/CustomerClientImpl.java @@ -0,0 +1,50 @@ +package com.xjrsoft.module.sales.client; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import com.xjrsoft.common.constant.GlobalConstant; +import com.xjrsoft.common.utils.TenantUtil; +import com.xjrsoft.module.sales.entity.LngCustomer; +import com.xjrsoft.module.sales.service.ICustomerService; + +import lombok.AllArgsConstructor; + +/** + * @author: yjw + * @since: 2025/3/5 + */ +//@Api(hidden = true) +@RestController +@RequestMapping(GlobalConstant.CLIENT_API_PRE + GlobalConstant.SALES_MODULE_PREFIX + "/tran/customer") +@AllArgsConstructor +public class CustomerClientImpl implements ICustomerClient { + + private final ICustomerService customerService; + + @GetMapping("/getAllTranData") + @Override + public Map getAllTranData() { + try { + TenantUtil.ignore(true); + List list = customerService.list(); + return list.stream().collect(Collectors.toMap(LngCustomer::getCuCode,LngCustomer::getCuName)); + }finally { + TenantUtil.clear(); + } + } + + @GetMapping("/getTranById") + @Override + public String getTranById(@RequestParam("id")String code) { + LngCustomer cu = customerService.getByCode(code); + return cu!=null?cu.getCuName():null; + } + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/client/GradeSystemClientImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/client/GradeSystemClientImpl.java new file mode 100644 index 0000000..d058c81 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/client/GradeSystemClientImpl.java @@ -0,0 +1,50 @@ +package com.xjrsoft.module.sales.client; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import com.xjrsoft.common.constant.GlobalConstant; +import com.xjrsoft.common.utils.TenantUtil; +import com.xjrsoft.module.sales.entity.LngGradeSystem; +import com.xjrsoft.module.sales.service.IGradeSystemService; + +import lombok.AllArgsConstructor; + +/** + * @author: yjw + * @since: 2025/3/5 + */ +//@Api(hidden = true) +@RestController +@RequestMapping(GlobalConstant.CLIENT_API_PRE + GlobalConstant.SALES_MODULE_PREFIX + "/tran/gradeSystem") +@AllArgsConstructor +public class GradeSystemClientImpl implements IGradeSystemClient { + + private final IGradeSystemService gradeSystemService; + + @GetMapping("/getAllTranData") + @Override + public Map getAllTranData() { + try { + TenantUtil.ignore(true); + List list = gradeSystemService.list(); + return list.stream().collect(Collectors.toMap(e -> String.valueOf(e.getId()),LngGradeSystem::getGsName)); + }finally { + TenantUtil.clear(); + } + } + + @GetMapping("/getTranById") + @Override + public String getTranById(@RequestParam("id")String code) { + LngGradeSystem gs = gradeSystemService.getById(code); + return gs!=null?gs.getGsName():null; + } + +} 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 8891fbf..9cff337 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,10 +16,16 @@ 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.advice.tran.CustomerDataProvider; +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.sales.dto.LngCustomerPageDto; @@ -55,6 +62,8 @@ public class CustomerController { private final ICodeRuleClient codeRuleClient; private final String CUSTOMER_CODE = "customerCode"; + + private final CustomerDataProvider tranProvider; @GetMapping(value = "/page") @ApiOperation(value="LngCustomer列表(分页)") @@ -101,9 +110,27 @@ public class CustomerController { String code = codeRuleClient.genEncode(CUSTOMER_CODE); dto.setCuCode("C"+code); - UpdateLngCustomerDto obj = dataService.insert(dto); - codeRuleClient.useEncode(CUSTOMER_CODE); - return R.ok(obj); + //UpdateLngCustomerDto obj = dataService.insert(dto); + //return R.ok(obj); + return R.ok(dataService.insert(dto,new DataOperationListener() { + + @Override + public UpdateLngCustomerDto before(DataOperationContent content) { + 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); + UpdateLngCustomerDto obj =content.getObj(); + tranProvider.saveData(obj.getCuCode(), obj.getCuName()); + return obj; + } + })); } @@ -112,7 +139,25 @@ public class CustomerController { @SaCheckPermission("customer:edit") public R update(@Valid @RequestBody UpdateLngCustomerDto dto){ - return R.ok(dataService.updateById(dto)); + + return R.ok(dataService.updateById(dto,new DataOperationListener() { + + @Override + public UpdateLngCustomerDto before(DataOperationContent content) { + return null; + } + + @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)); + } + UpdateLngCustomerDto obj =content.getObj(); + tranProvider.saveData(obj.getCuCode(), obj.getCuName()); + return obj; + } + })); } @DeleteMapping diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/CustomerScoreController.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/CustomerScoreController.java index 9fdd4d7..91e3452 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/CustomerScoreController.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/CustomerScoreController.java @@ -21,19 +21,15 @@ import com.pictc.utils.StringUtils; 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.datalog.service.DatalogService; import com.xjrsoft.module.datalog.vo.DataChangeLogVo; import com.xjrsoft.module.sales.dto.LngScorePageDto; -import com.xjrsoft.module.sales.dto.UpdateLngCustomerGroupDto; import com.xjrsoft.module.sales.dto.UpdateLngScoreDto; import com.xjrsoft.module.sales.entity.LngScore; import com.xjrsoft.module.sales.service.IScoreCustomerService; import com.xjrsoft.module.sales.vo.LngScorePageVo; -import com.xjrsoft.module.sales.vo.LngScoreVo; import cn.dev33.satoken.annotation.SaCheckPermission; -import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import io.swagger.annotations.Api; diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/GradeSystemController.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/GradeSystemController.java index a64041b..ad2f342 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/GradeSystemController.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/GradeSystemController.java @@ -1,21 +1,35 @@ package com.xjrsoft.module.sales.controller; -import cn.dev33.satoken.annotation.SaCheckPermission; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.util.StrUtil; +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; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +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.pictc.utils.CollectionUtils; +import com.xjrsoft.common.advice.tran.GradeSystemDataProvider; +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.entity.LngBStationLng; -import com.xjrsoft.module.mdm.vo.LngBStationLngVo; import com.xjrsoft.module.sales.dto.LngGradeSystemPageDto; import com.xjrsoft.module.sales.dto.UpdateLngGradeSystemDto; import com.xjrsoft.module.sales.entity.LngGradeSystem; @@ -23,13 +37,13 @@ import com.xjrsoft.module.sales.service.IGradeSystemService; import com.xjrsoft.module.sales.vo.LngGradeSystemPageVo; import com.xjrsoft.module.sales.vo.LngGradeSystemVo; import com.xjrsoft.module.system.client.ICodeRuleClient; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.StrUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; -import org.springframework.web.bind.annotation.*; - -import javax.validation.Valid; -import java.util.List; /** * @title: 评价体系 @@ -48,6 +62,8 @@ public class GradeSystemController { private final DatalogService dataService; private final ICodeRuleClient codeRuleClient; private final String GS_CODE = "gsCode"; + + private final GradeSystemDataProvider tranProvider; @GetMapping(value = "/page") @ApiOperation(value="LngGradeSystem列表(分页)") @@ -92,16 +108,54 @@ public class GradeSystemController { public R add(@Valid @RequestBody UpdateLngGradeSystemDto dto){ String code = codeRuleClient.genEncode(GS_CODE); dto.setGsCode(code); - UpdateLngGradeSystemDto res = dataService.insert(dto); - codeRuleClient.useEncode(GS_CODE); + UpdateLngGradeSystemDto res = dataService.insert(dto,new DataOperationListener() { + + @Override + public UpdateLngGradeSystemDto before(DataOperationContent content) { + + return content.getObj(); + } + + @Override + public UpdateLngGradeSystemDto 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(GS_CODE); + UpdateLngGradeSystemDto obj =content.getObj(); + tranProvider.saveData(obj.getId().toString(), obj.getGsName()); + return obj; + } + }); return R.ok(res.getId()); + } @PutMapping @ApiOperation(value = "修改LngGradeSystem") @SaCheckPermission("gradeSystem:edit") public R update(@Valid @RequestBody UpdateLngGradeSystemDto dto){ - return R.ok(dataService.updateById(dto)); + //return R.ok(dataService.updateById(dto)); + + return R.ok(dataService.updateById(dto,new DataOperationListener() { + + @Override + public UpdateLngGradeSystemDto before(DataOperationContent content) { + return null; + } + + @Override + public UpdateLngGradeSystemDto 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)); + } + UpdateLngGradeSystemDto obj =content.getObj(); + tranProvider.saveData(obj.getId().toString(), obj.getGsName()); + return obj; + } + })); } @DeleteMapping diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/ICustomerService.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/ICustomerService.java index 721ca1c..87c0803 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/ICustomerService.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/ICustomerService.java @@ -27,4 +27,6 @@ public interface ICustomerService extends MPJBaseService, MPJDeepSe LngCustomerVo getCustomerById(Long id); + LngCustomer getByCode(String code); + } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/impl/CustomerServiceImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/impl/CustomerServiceImpl.java index b006793..fa2c271 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/impl/CustomerServiceImpl.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/service/impl/CustomerServiceImpl.java @@ -7,6 +7,7 @@ import java.util.stream.Collectors; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.yulichang.base.MPJBaseServiceImpl; import com.xjrsoft.module.sales.entity.LngCustomer; @@ -82,4 +83,11 @@ public class CustomerServiceImpl extends MPJBaseServiceImpl queryWrapper = new LambdaQueryWrapper(); + queryWrapper.eq(LngCustomer::getCuCode,code); + return baseMapper.selectOne(queryWrapper); + } } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/client/SupplierClientImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/client/SupplierClientImpl.java new file mode 100644 index 0000000..6c7342a --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/client/SupplierClientImpl.java @@ -0,0 +1,50 @@ +package com.xjrsoft.module.supplier.client; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import com.xjrsoft.common.constant.GlobalConstant; +import com.xjrsoft.common.utils.TenantUtil; +import com.xjrsoft.module.supplier.entity.LngSupplier; +import com.xjrsoft.module.supplier.service.ISupplierService; + +import lombok.AllArgsConstructor; + +/** + * @author: yjw + * @since: 2025/3/5 + */ +//@Api(hidden = true) +@RestController +@RequestMapping(GlobalConstant.CLIENT_API_PRE + GlobalConstant.SUPPLIER_MODULE_PREFIX + "/tran/supplier") +@AllArgsConstructor +public class SupplierClientImpl implements ISupplierClient { + + private final ISupplierService supplierService; + + @GetMapping("/getAllTranData") + @Override + public Map getAllTranData() { + try { + TenantUtil.ignore(true); + List list = supplierService.list(); + return list.stream().collect(Collectors.toMap(LngSupplier::getSuCode,LngSupplier::getSuName)); + }finally { + TenantUtil.clear(); + } + } + + @GetMapping("/getTranById") + @Override + public String getTranById(@RequestParam("id")String code) { + LngSupplier su = supplierService.getByCode(code); + return su!=null?su.getSuName():null; + } + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/controller/SupplierController.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/controller/SupplierController.java index c663983..f615b68 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/controller/SupplierController.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/controller/SupplierController.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,10 +16,17 @@ 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.advice.tran.CustomerDataProvider; +import com.xjrsoft.common.advice.tran.SupplierDataProvider; +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.supplier.dto.LngSupplierPageDto; @@ -54,6 +62,8 @@ public class SupplierController { private final ICodeRuleClient codeRuleClient; private final String SUPPLIER_CODE = "supplierCode"; + + private final SupplierDataProvider tranProvider; @GetMapping(value = "/page") @ApiOperation(value="LngSupplier列表(分页)") @@ -98,16 +108,53 @@ public class SupplierController { public R add(@Valid @RequestBody UpdateLngSupplierDto dto){ String code = codeRuleClient.genEncode(SUPPLIER_CODE); dto.setSuCode("S"+code); - UpdateLngSupplierDto res = dataService.insert(dto); - codeRuleClient.useEncode(SUPPLIER_CODE); - return R.ok(res); + //UpdateLngSupplierDto res = dataService.insert(dto); + + return R.ok(dataService.insert(dto,new DataOperationListener() { + + @Override + public UpdateLngSupplierDto before(DataOperationContent content) { + return content.getObj(); + } + + @Override + public UpdateLngSupplierDto 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(SUPPLIER_CODE); + UpdateLngSupplierDto obj =content.getObj(); + tranProvider.saveData(obj.getSuCode(), obj.getSuName()); + return obj; + } + })); + } @PutMapping @ApiOperation(value = "修改LngSupplier") @SaCheckPermission("supplier:edit") public R update(@Valid @RequestBody UpdateLngSupplierDto dto){ - return R.ok(dataService.updateById(dto)); + //return R.ok(dataService.updateById(dto)); + return R.ok(dataService.updateById(dto,new DataOperationListener() { + + @Override + public UpdateLngSupplierDto before(DataOperationContent content) { + return null; + } + + @Override + public UpdateLngSupplierDto 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)); + } + UpdateLngSupplierDto obj =content.getObj(); + tranProvider.saveData(obj.getSuCode(), obj.getSuName()); + return obj; + } + })); } @DeleteMapping diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/service/ISupplierService.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/service/ISupplierService.java index 4cb6661..3f5cf10 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/service/ISupplierService.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/service/ISupplierService.java @@ -31,4 +31,6 @@ public interface ISupplierService extends MPJBaseService, MPJDeepSe LngSupplierVo getSupplierById(Long id); + LngSupplier getByCode(String code); + } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/service/impl/SupplierServiceImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/service/impl/SupplierServiceImpl.java index d5249ab..88480a1 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/service/impl/SupplierServiceImpl.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/service/impl/SupplierServiceImpl.java @@ -5,8 +5,10 @@ import java.util.List; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.yulichang.base.MPJBaseServiceImpl; +import com.xjrsoft.module.sales.entity.LngCustomer; import com.xjrsoft.module.supplier.dto.UpdateLngSupplierDto; import com.xjrsoft.module.supplier.entity.LngSupplier; import com.xjrsoft.module.supplier.entity.LngSupplierBank; @@ -71,6 +73,13 @@ public class SupplierServiceImpl extends MPJBaseServiceImpl queryWrapper = new LambdaQueryWrapper(); + queryWrapper.eq(LngSupplier::getSuCode,code); + return baseMapper.selectOne(queryWrapper); + }