From 2f2d72abfb7a790b0ac7b3214d62324cbf289e59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=A7=89=E5=8D=93?= Date: Wed, 22 Oct 2025 16:38:47 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E5=B8=B8=E9=87=8F=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pictc/constant/FieldNameConstants.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/constant/FieldNameConstants.java diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/constant/FieldNameConstants.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/constant/FieldNameConstants.java new file mode 100644 index 0000000..79536b1 --- /dev/null +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/constant/FieldNameConstants.java @@ -0,0 +1,21 @@ +package com.pictc.constant; + +/** + * @author 张秉卓 + * @date 2025年10月22日 下午12:00:34 + * @Description: 表名常量 + */ +public interface FieldNameConstants { + + /** + * 编码 + */ + String CODE = "编码"; + + /** + * 名称 + */ + String FULL_NAME = "名称"; + + +} From 6af011937660488ec96cfddb4b95ceaaee11bd23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=A7=89=E5=8D=93?= Date: Thu, 23 Oct 2025 10:07:32 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E5=B8=B8=E9=87=8F=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pictc/constant/FieldNameConstants.java | 6 +- .../mdm/controller/CurrencyController.java | 48 +++++----- .../mdm/controller/PriceTermsController.java | 62 +++++------- .../module/mdm/service/ICurrencyService.java | 14 ++- .../mdm/service/IPriceTermsService.java | 15 ++- .../mdm/service/impl/CurrencyServiceImpl.java | 95 ++++++++++++++++++- .../service/impl/PriceTermsServiceImpl.java | 84 +++++++++++++++- 7 files changed, 250 insertions(+), 74 deletions(-) diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/constant/FieldNameConstants.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/constant/FieldNameConstants.java index 79536b1..50ca5a4 100644 --- a/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/constant/FieldNameConstants.java +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/constant/FieldNameConstants.java @@ -16,6 +16,10 @@ public interface FieldNameConstants { * 名称 */ String FULL_NAME = "名称"; - + + /** + * 本币 + */ + String LOCAL_SIGN = "本币"; } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/controller/CurrencyController.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/controller/CurrencyController.java index bbe6fc5..d633561 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/controller/CurrencyController.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/controller/CurrencyController.java @@ -12,18 +12,19 @@ import com.xjrsoft.common.page.ConventPage; import com.xjrsoft.common.page.PageOutput; import com.xjrsoft.common.model.result.R; import com.xjrsoft.common.utils.VoToColumnUtil; -import com.xjrsoft.module.mdm.dto.AddLngBCurrencyDto; -import com.xjrsoft.module.mdm.dto.UpdateLngBCurrencyDto; +import com.xjrsoft.module.mdm.dto.*; import cn.dev33.satoken.annotation.SaCheckPermission; -import com.xjrsoft.module.mdm.dto.LngBCurrencyPageDto; import com.xjrsoft.module.mdm.entity.LngBCurrency; +import com.xjrsoft.module.mdm.entity.LngBPriceTerm; import com.xjrsoft.module.mdm.service.ICurrencyService; import com.xjrsoft.module.mdm.vo.LngBCurrencyPageVo; import com.xjrsoft.module.datalog.vo.DataChangeLogVo; import com.xjrsoft.module.datalog.entity.DataChangeLog; import com.xjrsoft.module.datalog.service.DatalogService; import com.xjrsoft.module.mdm.vo.LngBCurrencyVo; +import com.xjrsoft.module.mdm.vo.LngBPriceTermPageVo; +import com.xjrsoft.module.mdm.vo.LngBPriceTermVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; @@ -53,15 +54,14 @@ public class CurrencyController { @ApiOperation(value="LngBCurrency列表(分页)") @SaCheckPermission("currency:list") public R page(@Valid LngBCurrencyPageDto dto){ - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper - .like(StrUtil.isNotBlank(dto.getFullName()),LngBCurrency::getFullName,dto.getFullName()) - .like(StrUtil.isNotBlank(dto.getValid()),LngBCurrency::getValid,dto.getValid()) - .like(StrUtil.isNotBlank(dto.getCode()),LngBCurrency::getCode,dto.getCode()) - .like(StrUtil.isNotBlank(dto.getLocalSign()),LngBCurrency::getLocalSign,dto.getLocalSign()) - .like(StrUtil.isNotBlank(dto.getNote()),LngBCurrency::getNote,dto.getNote()) - .orderByDesc(LngBCurrency::getId) + .and(StrUtil.isNotBlank(dto.getFullName()), r -> + r.like(LngBCurrency::getCode, dto.getFullName()) + .or() + .like(LngBCurrency::getFullName, dto.getFullName())) + .eq(StrUtil.isNotBlank(dto.getValid()),LngBCurrency::getValid,dto.getValid()) + .orderByAsc(LngBCurrency::getSort, LngBCurrency::getCode) .select(LngBCurrency.class,x -> VoToColumnUtil.fieldsToColumns(LngBCurrencyPageVo.class).contains(x.getProperty())); IPage page = currencyService.page(ConventPage.getPage(dto), queryWrapper); PageOutput pageOutput = ConventPage.getPageOutput(page, LngBCurrencyPageVo.class); @@ -78,29 +78,19 @@ public class CurrencyController { } return R.ok(BeanUtil.toBean(lngBCurrency, LngBCurrencyVo.class)); } - - @GetMapping(value = "/datalog") - @ApiOperation(value="根据id查询LngBCurrency数据详细日志") - @SaCheckPermission("currency:datalog") - public R datalog(@RequestParam Long id){ - List logs = dataService.findLogsByEntityId(UpdateLngBCurrencyDto.class,id); - return R.ok(logs); - } - @PostMapping @ApiOperation(value = "新增LngBCurrency") @SaCheckPermission("currency:add") public R add(@Valid @RequestBody UpdateLngBCurrencyDto dto){ - UpdateLngBCurrencyDto res = dataService.insert(dto); - return R.ok(res.getId()); + return R.ok(currencyService.add(dto)); } @PutMapping @ApiOperation(value = "修改LngBCurrency") @SaCheckPermission("currency:edit") public R update(@Valid @RequestBody UpdateLngBCurrencyDto dto){ - return R.ok(dataService.updateById(dto)); + return R.ok(currencyService.updateByDTO(dto)); } @DeleteMapping @@ -110,6 +100,18 @@ public class CurrencyController { return R.ok(dataService.deleteByIds(UpdateLngBCurrencyDto.class, ids)); } - + @PostMapping("/enable") + @ApiOperation(value = "启用LngBCurrency") + @SaCheckPermission("currency:enable") + public R enable(@Valid @RequestBody List ids){ + return R.ok(currencyService.enable(ids)); + } + + @PostMapping("/disable") + @ApiOperation(value = "禁用LngBCurrency") + @SaCheckPermission("currency:disable") + public R disable(@Valid @RequestBody List ids){ + return R.ok(currencyService.disable(ids)); + } } \ No newline at end of file diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/controller/PriceTermsController.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/controller/PriceTermsController.java index cdb46ca..93a289e 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/controller/PriceTermsController.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/controller/PriceTermsController.java @@ -1,28 +1,20 @@ package com.xjrsoft.module.mdm.controller; +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 com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.xjrsoft.common.constant.GlobalConstant; -import com.baomidou.mybatisplus.core.toolkit.StringPool; +import com.xjrsoft.common.model.result.R; import com.xjrsoft.common.page.ConventPage; import com.xjrsoft.common.page.PageOutput; -import com.xjrsoft.common.model.result.R; import com.xjrsoft.common.utils.VoToColumnUtil; -import com.xjrsoft.module.mdm.dto.AddLngBPriceTermDto; -import com.xjrsoft.module.mdm.dto.UpdateLngBPriceTermDto; -import cn.dev33.satoken.annotation.SaCheckPermission; - +import com.xjrsoft.module.datalog.service.DatalogService; import com.xjrsoft.module.mdm.dto.LngBPriceTermPageDto; +import com.xjrsoft.module.mdm.dto.UpdateLngBPriceTermDto; import com.xjrsoft.module.mdm.entity.LngBPriceTerm; import com.xjrsoft.module.mdm.service.IPriceTermsService; import com.xjrsoft.module.mdm.vo.LngBPriceTermPageVo; -import com.xjrsoft.module.datalog.vo.DataChangeLogVo; -import com.xjrsoft.module.datalog.entity.DataChangeLog; -import com.xjrsoft.module.datalog.service.DatalogService; import com.xjrsoft.module.mdm.vo.LngBPriceTermVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -30,7 +22,6 @@ import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; -import javax.validation.constraints.NotNull; import java.util.List; /** @@ -53,16 +44,14 @@ public class PriceTermsController { @ApiOperation(value="LngBPriceTerm列表(分页)") @SaCheckPermission("priceTerms:list") public R page(@Valid LngBPriceTermPageDto dto){ - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper - .like(StrUtil.isNotBlank(dto.getFullName()),LngBPriceTerm::getFullName,dto.getFullName()) - .like(StrUtil.isNotBlank(dto.getValid()),LngBPriceTerm::getValid,dto.getValid()) - .like(StrUtil.isNotBlank(dto.getCode()),LngBPriceTerm::getCode,dto.getCode()) - .like(StrUtil.isNotBlank(dto.getFreightSign()),LngBPriceTerm::getFreightSign,dto.getFreightSign()) - .like(StrUtil.isNotBlank(dto.getInsuranceSign()),LngBPriceTerm::getInsuranceSign,dto.getInsuranceSign()) - .like(StrUtil.isNotBlank(dto.getNote()),LngBPriceTerm::getNote,dto.getNote()) - .orderByDesc(LngBPriceTerm::getId) + .and(StrUtil.isNotBlank(dto.getFullName()), r -> + r.like(LngBPriceTerm::getCode, dto.getFullName()) + .or() + .like(LngBPriceTerm::getFullName, dto.getFullName())) + .eq(StrUtil.isNotBlank(dto.getValid()),LngBPriceTerm::getValid,dto.getValid()) + .orderByAsc(LngBPriceTerm::getSort, LngBPriceTerm::getCode) .select(LngBPriceTerm.class,x -> VoToColumnUtil.fieldsToColumns(LngBPriceTermPageVo.class).contains(x.getProperty())); IPage page = priceTermsService.page(ConventPage.getPage(dto), queryWrapper); PageOutput pageOutput = ConventPage.getPageOutput(page, LngBPriceTermPageVo.class); @@ -79,38 +68,39 @@ public class PriceTermsController { } return R.ok(BeanUtil.toBean(lngBPriceTerm, LngBPriceTermVo.class)); } - - @GetMapping(value = "/datalog") - @ApiOperation(value="根据id查询LngBPriceTerm数据详细日志") - @SaCheckPermission("priceTerms:datalog") - public R datalog(@RequestParam Long id){ - List logs = dataService.findLogsByEntityId(UpdateLngBPriceTermDto.class,id); - return R.ok(logs); - } - @PostMapping @ApiOperation(value = "新增LngBPriceTerm") @SaCheckPermission("priceTerms:add") public R add(@Valid @RequestBody UpdateLngBPriceTermDto dto){ - UpdateLngBPriceTermDto res = dataService.insert(dto); - return R.ok(res.getId()); + return R.ok(priceTermsService.add(dto)); } @PutMapping @ApiOperation(value = "修改LngBPriceTerm") @SaCheckPermission("priceTerms:edit") public R update(@Valid @RequestBody UpdateLngBPriceTermDto dto){ - return R.ok(dataService.updateById(dto)); + return R.ok(priceTermsService.updateByDTO(dto)); } @DeleteMapping @ApiOperation(value = "删除") @SaCheckPermission("priceTerms:delete") public R delete(@Valid @RequestBody List ids){ - return R.ok(dataService.deleteByIds(UpdateLngBPriceTermDto.class, ids)); - + return R.ok(dataService.deleteByIds(UpdateLngBPriceTermDto.class, ids)); } - + @PostMapping("/enable") + @ApiOperation(value = "启用LngBPriceTerm") + @SaCheckPermission("priceTerms:enable") + public R enable(@Valid @RequestBody List ids){ + return R.ok(priceTermsService.enable(ids)); + } + + @PostMapping("/disable") + @ApiOperation(value = "禁用LngBPriceTerm") + @SaCheckPermission("priceTerms:disable") + public R disable(@Valid @RequestBody List ids){ + return R.ok(priceTermsService.disable(ids)); + } } \ No newline at end of file diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/ICurrencyService.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/ICurrencyService.java index 8bc3c58..3438146 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/ICurrencyService.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/ICurrencyService.java @@ -1,11 +1,10 @@ package com.xjrsoft.module.mdm.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.github.yulichang.base.MPJBaseService; -import com.github.yulichang.extension.mapping.base.MPJDeepService; -import com.github.yulichang.extension.mapping.base.MPJRelationService; +import com.xjrsoft.module.mdm.dto.UpdateLngBCurrencyDto; import com.xjrsoft.module.mdm.entity.LngBCurrency; -import lombok.Data; + +import javax.validation.Valid; import java.util.List; /** @@ -16,4 +15,11 @@ import java.util.List; */ public interface ICurrencyService extends IService { + Long add(@Valid UpdateLngBCurrencyDto dto); + + boolean updateByDTO(@Valid UpdateLngBCurrencyDto dto); + + boolean enable(@Valid List ids); + + boolean disable(@Valid List ids); } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/IPriceTermsService.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/IPriceTermsService.java index 71bc609..c57d685 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/IPriceTermsService.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/IPriceTermsService.java @@ -1,11 +1,10 @@ package com.xjrsoft.module.mdm.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.github.yulichang.base.MPJBaseService; -import com.github.yulichang.extension.mapping.base.MPJDeepService; -import com.github.yulichang.extension.mapping.base.MPJRelationService; +import com.xjrsoft.module.mdm.dto.UpdateLngBPriceTermDto; import com.xjrsoft.module.mdm.entity.LngBPriceTerm; -import lombok.Data; + +import javax.validation.Valid; import java.util.List; /** @@ -16,4 +15,12 @@ import java.util.List; */ public interface IPriceTermsService extends IService { + + Long add(@Valid UpdateLngBPriceTermDto dto); + + boolean updateByDTO(@Valid UpdateLngBPriceTermDto dto); + + boolean enable(@Valid List ids); + + boolean disable(@Valid List ids); } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/impl/CurrencyServiceImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/impl/CurrencyServiceImpl.java index 2afee40..0976418 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/impl/CurrencyServiceImpl.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/impl/CurrencyServiceImpl.java @@ -1,17 +1,27 @@ package com.xjrsoft.module.mdm.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.github.yulichang.base.MPJBaseServiceImpl; +import com.pictc.constant.FieldNameConstants; +import com.pictc.constant.TableNameConstants; +import com.pictc.enums.BusinessCode; +import com.pictc.enums.ExceptionCommonCode; +import com.pictc.enums.ValidEnum; +import com.pictc.utils.DataLogTools; +import com.xjrsoft.common.enums.YesOrNoEnum; +import com.xjrsoft.common.exception.BusinessException; +import com.xjrsoft.module.common.db.service.CommonCallService; +import com.xjrsoft.module.mdm.dto.UpdateLngBCurrencyDto; import com.xjrsoft.module.mdm.entity.LngBCurrency; import com.xjrsoft.module.mdm.mapper.LngBCurrencyMapper; import com.xjrsoft.module.mdm.service.ICurrencyService; import lombok.AllArgsConstructor; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + import java.util.List; import java.util.Objects; -import java.util.stream.Collectors; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; /** * @title: service @@ -22,4 +32,83 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; @Service @AllArgsConstructor public class CurrencyServiceImpl extends ServiceImpl implements ICurrencyService { + private final CommonCallService commonCallService; + + @Override + @Transactional(rollbackFor = Exception.class) + public Long add(UpdateLngBCurrencyDto dto) { + this.checkParams(dto); + UpdateLngBCurrencyDto res = DataLogTools.insert(dto); + this.addOrUpdateAfter(res.getId()); + return res.getId(); + } + + private void checkParams(UpdateLngBCurrencyDto dto) { + Long codeCount = this.baseMapper.selectCount(new LambdaQueryWrapper() + .eq(LngBCurrency::getCode, dto.getCode()) + .ne(!Objects.isNull(dto.getId()), LngBCurrency::getId, dto.getId())); + if (codeCount > 0) { + throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DATA_FIELD_DUPLICATION, + FieldNameConstants.CODE)); + } + Long nameCount = this.baseMapper.selectCount(new LambdaQueryWrapper() + .eq(LngBCurrency::getFullName, dto.getFullName()) + .ne(!Objects.isNull(dto.getId()), LngBCurrency::getId, dto.getId())); + if (nameCount > 0) { + throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DATA_FIELD_DUPLICATION, + FieldNameConstants.FULL_NAME)); + } + if (YesOrNoEnum.YES.getTextCode().equals(dto.getLocalSign())) { + Long validCount = this.baseMapper.selectCount(new LambdaQueryWrapper() + .eq(LngBCurrency::getLocalSign, YesOrNoEnum.YES.getTextCode()) + .eq(LngBCurrency::getValid, ValidEnum.ENABLE.getCode()) + .ne(!Objects.isNull(dto.getId()), LngBCurrency::getId, dto.getId())); + if (validCount > 0) { + throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DATA_FIELD_DUPLICATION, + FieldNameConstants.LOCAL_SIGN)); + } + } + } + + private void addOrUpdateAfter(Long id) { + String msg = commonCallService.saveAfter(TableNameConstants.LNG_B_CURRENCY, id); + if (StringUtils.isNotBlank(msg)) { + throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_EXEC_ERROR, msg)); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean updateByDTO(UpdateLngBCurrencyDto dto) { + this.checkParams(dto); + DataLogTools.update(dto); + this.addOrUpdateAfter(dto.getId()); + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean enable(List ids) { + DataLogTools.enable(UpdateLngBCurrencyDto.class, ids); + for (Long id : ids) { + String msg = commonCallService.enableBefore(TableNameConstants.LNG_B_CURRENCY, id); + if (StringUtils.isNotBlank(msg)) { + throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_EXEC_ERROR, msg)); + } + } + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean disable(List ids) { + DataLogTools.disable(UpdateLngBCurrencyDto.class, ids); + for (Long id : ids) { + String msg = commonCallService.disableBefore(TableNameConstants.LNG_B_CURRENCY, id); + if (StringUtils.isNotBlank(msg)) { + throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_EXEC_ERROR, msg)); + } + } + return true; + } } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/impl/PriceTermsServiceImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/impl/PriceTermsServiceImpl.java index 3275d2f..847c2ba 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/impl/PriceTermsServiceImpl.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/impl/PriceTermsServiceImpl.java @@ -1,17 +1,25 @@ package com.xjrsoft.module.mdm.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.github.yulichang.base.MPJBaseServiceImpl; +import com.pictc.constant.FieldNameConstants; +import com.pictc.constant.TableNameConstants; +import com.pictc.enums.BusinessCode; +import com.pictc.enums.ExceptionCommonCode; +import com.pictc.utils.DataLogTools; +import com.xjrsoft.common.exception.BusinessException; +import com.xjrsoft.module.common.db.service.CommonCallService; +import com.xjrsoft.module.mdm.dto.UpdateLngBPriceTermDto; import com.xjrsoft.module.mdm.entity.LngBPriceTerm; import com.xjrsoft.module.mdm.mapper.LngBPriceTermMapper; import com.xjrsoft.module.mdm.service.IPriceTermsService; import lombok.AllArgsConstructor; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + import java.util.List; import java.util.Objects; -import java.util.stream.Collectors; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; /** * @title: service @@ -22,4 +30,74 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; @Service @AllArgsConstructor public class PriceTermsServiceImpl extends ServiceImpl implements IPriceTermsService { + + private final CommonCallService commonCallService; + + @Override + @Transactional(rollbackFor = Exception.class) + public Long add(UpdateLngBPriceTermDto dto) { + this.checkParams(dto); + UpdateLngBPriceTermDto res = DataLogTools.insert(dto); + this.addOrUpdateAfter(res.getId()); + return res.getId(); + } + + private void checkParams(UpdateLngBPriceTermDto dto) { + Long codeCount = this.baseMapper.selectCount(new LambdaQueryWrapper() + .eq(LngBPriceTerm::getCode, dto.getCode()) + .ne(!Objects.isNull(dto.getId()), LngBPriceTerm::getId, dto.getId())); + if (codeCount > 0) { + throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DATA_FIELD_DUPLICATION, + FieldNameConstants.CODE)); + } + Long nameCount = this.baseMapper.selectCount(new LambdaQueryWrapper() + .eq(LngBPriceTerm::getFullName, dto.getFullName()) + .ne(!Objects.isNull(dto.getId()), LngBPriceTerm::getId, dto.getId())); + if (nameCount > 0) { + throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DATA_FIELD_DUPLICATION, + FieldNameConstants.FULL_NAME)); + } + } + + private void addOrUpdateAfter(Long id) { + String msg = commonCallService.saveAfter(TableNameConstants.LNG_B_PRICE_TERM, id); + if (StringUtils.isNotBlank(msg)) { + throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_EXEC_ERROR, msg)); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean updateByDTO(UpdateLngBPriceTermDto dto) { + this.checkParams(dto); + DataLogTools.update(dto); + this.addOrUpdateAfter(dto.getId()); + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean enable(List ids) { + DataLogTools.enable(UpdateLngBPriceTermDto.class, ids); + for (Long id : ids) { + String msg = commonCallService.enableBefore(TableNameConstants.LNG_B_PRICE_TERM, id); + if (StringUtils.isNotBlank(msg)) { + throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_EXEC_ERROR, msg)); + } + } + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean disable(List ids) { + DataLogTools.disable(UpdateLngBPriceTermDto.class, ids); + for (Long id : ids) { + String msg = commonCallService.disableBefore(TableNameConstants.LNG_B_PRICE_TERM, id); + if (StringUtils.isNotBlank(msg)) { + throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_EXEC_ERROR, msg)); + } + } + return true; + } } From 286a3058e29df2f9e206cb415b8e7cc82096d6c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=A7=89=E5=8D=93?= Date: Thu, 23 Oct 2025 10:09:53 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BB=B7=E6=A0=BC?= =?UTF-8?q?=E6=9D=A1=E6=AC=BE=E3=80=81=E5=B8=81=E7=A7=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xjrsoft/module/mdm/service/impl/CurrencyServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/impl/CurrencyServiceImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/impl/CurrencyServiceImpl.java index 0976418..396ba82 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/impl/CurrencyServiceImpl.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/impl/CurrencyServiceImpl.java @@ -32,6 +32,7 @@ import java.util.Objects; @Service @AllArgsConstructor public class CurrencyServiceImpl extends ServiceImpl implements ICurrencyService { + private final CommonCallService commonCallService; @Override From 2d320e926365fda6ed42815473279ead84c3884d Mon Sep 17 00:00:00 2001 From: "t-shunyi.kuang" <846002312@qq.com> Date: Thu, 23 Oct 2025 10:23:33 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E9=93=B6=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/mdm/controller/BankController.java | 2 +- .../controller/CountryRegionController.java | 24 +----- .../module/mdm/service/IBankService.java | 2 + .../mdm/service/ICountryRegionService.java | 4 + .../mdm/service/impl/BankServiceImpl.java | 16 +++- .../impl/CountryRegionServiceImpl.java | 73 +++++++++++++------ 6 files changed, 75 insertions(+), 46 deletions(-) diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/controller/BankController.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/controller/BankController.java index 04fa230..f7e1ebe 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/controller/BankController.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/controller/BankController.java @@ -107,7 +107,7 @@ public class BankController { @ApiOperation(value = "修改LngBBank") @SaCheckPermission("bank:edit") public R update(@Valid @RequestBody UpdateLngBBankDto dto){ - return R.ok(dataService.updateById(dto)); + return R.ok(bankService.update(dto)); } @DeleteMapping diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/controller/CountryRegionController.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/controller/CountryRegionController.java index a33efbf..2bfee53 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/controller/CountryRegionController.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/controller/CountryRegionController.java @@ -102,16 +102,7 @@ public class CountryRegionController { @ApiOperation(value = "新增LngBRegion") @SaCheckPermission("countryRegion:add") public R add(@Valid @RequestBody UpdateLngBRegionDto dto){ - if(!CountryRegionEnum.CONTINENT.getCode().equals(dto.getRegionTypeCode()) ) { - if(dto.getPid() != null && dto.getPid() != 0) { - LngBRegion parentRegion = countryRegionService.getById(dto.getPid()); - if(parentRegion != null) { - dto.setFullPath(parentRegion.getFullPath()+dto.getFullName()); - } - } - }else { - dto.setFullPath(dto.getFullName()); - } + Long res = countryRegionService.add(dto); return R.ok(res); } @@ -120,17 +111,8 @@ public class CountryRegionController { @ApiOperation(value = "修改LngBRegion") @SaCheckPermission("countryRegion:edit") public R update(@Valid @RequestBody UpdateLngBRegionDto dto){ - if(!CountryRegionEnum.CONTINENT.getCode().equals(dto.getRegionTypeCode()) ) { - if(dto.getPid() != null && dto.getPid() != 0) { - LngBRegion parentRegion = countryRegionService.getById(dto.getPid()); - if(parentRegion != null) { - dto.setFullPath(parentRegion.getFullPath()+dto.getFullName()); - } - } - }else { - dto.setFullPath(dto.getFullName()); - } - return R.ok(dataService.updateById(dto)); + + return R.ok(countryRegionService.update(dto)); } @DeleteMapping diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/IBankService.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/IBankService.java index 034bbc8..26e2c34 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/IBankService.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/IBankService.java @@ -20,4 +20,6 @@ public interface IBankService extends IService { boolean enable(List ids); boolean disable(List ids); + + Long update(UpdateLngBBankDto dto); } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/ICountryRegionService.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/ICountryRegionService.java index 22dd37e..2e73d8a 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/ICountryRegionService.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/ICountryRegionService.java @@ -2,6 +2,8 @@ package com.xjrsoft.module.mdm.service; import java.util.List; +import javax.validation.Valid; + import com.baomidou.mybatisplus.extension.service.IService; import com.xjrsoft.module.mdm.dto.UpdateLngBRegionDto; import com.xjrsoft.module.mdm.entity.LngBRegion; @@ -20,4 +22,6 @@ public interface ICountryRegionService extends IService { boolean enable(List ids); boolean disable(List ids); + + Long update(UpdateLngBRegionDto dto); } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/impl/BankServiceImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/impl/BankServiceImpl.java index 736f1ee..4fc2c79 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/impl/BankServiceImpl.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/impl/BankServiceImpl.java @@ -18,6 +18,7 @@ import com.xjrsoft.module.common.db.service.CommonCallService; import com.xjrsoft.module.datalog.service.DatalogService; import com.xjrsoft.module.mdm.dto.UpdateLngBBankDto; import com.xjrsoft.module.mdm.entity.LngBBank; +import com.xjrsoft.module.mdm.entity.LngBRegion; import com.xjrsoft.module.mdm.mapper.LngBBankMapper; import com.xjrsoft.module.mdm.service.IBankService; import com.xjrsoft.module.system.client.ICodeRuleClient; @@ -50,6 +51,15 @@ public class BankServiceImpl extends ServiceImpl imple //this.addOrUpdateAfter(res.getId()); return res.getId(); } + + @Override + @Transactional(rollbackFor = Exception.class) + public Long update(UpdateLngBBankDto dto) { + this.checkParams(dto); + UpdateLngBBankDto res = DataLogTools.update(dto); + //this.addOrUpdateAfter(res.getId()); + return res.getId(); + } @Override public boolean enable(List ids) { @@ -59,18 +69,18 @@ public class BankServiceImpl extends ServiceImpl imple @Override public boolean disable(List ids) { - return dataService.disable(UpdateLngBBankDto.class,ids); + return dataService.disable(UpdateLngBBankDto.class,ids); } private void checkParams(UpdateLngBBankDto dto) { Long codeCount = this.baseMapper.selectCount(new LambdaQueryWrapper() - .eq(LngBBank::getCode, dto.getCode())); + .eq(LngBBank::getCode, dto.getCode()).ne(dto.getId() != null, LngBBank::getId, dto.getId())); if (codeCount > 0) { throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DATA_FIELD_DUPLICATION, FieldNameConstants.CODE)); } Long nameCount = this.baseMapper.selectCount(new LambdaQueryWrapper() - .eq(LngBBank::getFullName, dto.getFullName())); + .eq(LngBBank::getFullName, dto.getFullName()).ne(dto.getId() != null, LngBBank::getId, dto.getId())); if (nameCount > 0) { throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DATA_FIELD_DUPLICATION, FieldNameConstants.FULL_NAME)); diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/impl/CountryRegionServiceImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/impl/CountryRegionServiceImpl.java index 54259f5..d9ceede 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/impl/CountryRegionServiceImpl.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/service/impl/CountryRegionServiceImpl.java @@ -18,6 +18,7 @@ import com.xjrsoft.module.common.db.service.CommonCallService; import com.xjrsoft.module.datalog.service.DatalogService; import com.xjrsoft.module.mdm.dto.UpdateLngBRegionDto; import com.xjrsoft.module.mdm.entity.LngBRegion; +import com.xjrsoft.module.mdm.enums.CountryRegionEnum; import com.xjrsoft.module.mdm.mapper.LngBRegionMapper; import com.xjrsoft.module.mdm.service.ICountryRegionService; @@ -40,6 +41,16 @@ public class CountryRegionServiceImpl extends ServiceImpl ids) { - return dataService.disable(UpdateLngBRegionDto.class,ids); + return dataService.disable(UpdateLngBRegionDto.class,ids); } - private void checkParams(UpdateLngBRegionDto dto) { - Long codeCount = this.baseMapper.selectCount(new LambdaQueryWrapper() - .eq(LngBRegion::getCode, dto.getCode())); - if (codeCount > 0) { - throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DATA_FIELD_DUPLICATION, - FieldNameConstants.CODE)); - } - Long nameCount = this.baseMapper.selectCount(new LambdaQueryWrapper() - .eq(LngBRegion::getFullName, dto.getFullName())); - if (nameCount > 0) { - throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DATA_FIELD_DUPLICATION, - FieldNameConstants.FULL_NAME)); - } - } + - private void addOrUpdateAfter(Long id) { - String msg = commonCallService.saveAfter(TableNameConstants.LNG_B_REGION, id); - if (StringUtils.isNotBlank(msg)) { - throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_EXEC_ERROR, msg)); - } - } + @Override + public Long update(UpdateLngBRegionDto dto) { + if(!CountryRegionEnum.CONTINENT.getCode().equals(dto.getRegionTypeCode()) ) { + if(dto.getPid() != null && dto.getPid() != 0) { + LngBRegion parentRegion = this.getById(dto.getPid()); + if(parentRegion != null) { + dto.setFullPath(parentRegion.getFullPath()+dto.getFullName()); + } + } + }else { + dto.setFullPath(dto.getFullName()); + } + this.checkParams(dto); + UpdateLngBRegionDto res = DataLogTools.update(dto); + //this.addOrUpdateAfter(res.getId()); + return res.getId(); + } + + private void checkParams(UpdateLngBRegionDto dto) { + Long codeCount = this.baseMapper.selectCount(new LambdaQueryWrapper() + .eq(LngBRegion::getCode, dto.getCode()).ne(dto.getId() != null, LngBRegion::getId, dto.getId())); + if (codeCount > 0) { + throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DATA_FIELD_DUPLICATION, + FieldNameConstants.CODE)); + } + Long nameCount = this.baseMapper.selectCount(new LambdaQueryWrapper() + .eq(LngBRegion::getFullName, dto.getFullName()).ne(dto.getId() != null, LngBRegion::getId, dto.getId())); + if (nameCount > 0) { + throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DATA_FIELD_DUPLICATION, + FieldNameConstants.FULL_NAME)); + } + } + + private void addOrUpdateAfter(Long id) { + String msg = commonCallService.saveAfter(TableNameConstants.LNG_B_REGION, id); + if (StringUtils.isNotBlank(msg)) { + throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_EXEC_ERROR, msg)); + } + } }