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 b0cf92a..5bf18b3 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 @@ -21,4 +21,9 @@ public interface FieldNameConstants { * 本币 */ String LOCAL_SIGN = "本币"; + + /** + * 简称 + */ + String SHORT_NAME = "简称名称"; } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/mdm/vo/LngBBankPageVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/mdm/vo/LngBBankPageVo.java index e75ca06..fe0e8e1 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/mdm/vo/LngBBankPageVo.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/mdm/vo/LngBBankPageVo.java @@ -65,5 +65,11 @@ public class LngBBankPageVo { */ @ApiModelProperty("数据权限id") private Long ruleUserId; + + /** + * 所属国家和地区 + */ + @ApiModelProperty("所属国家和地区名称") + private String regionName; } 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 f7e1ebe..f8abd52 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 @@ -26,12 +26,15 @@ import com.xjrsoft.module.datalog.vo.DataChangeLogVo; import com.xjrsoft.module.mdm.dto.LngBBankPageDto; 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.service.IBankService; +import com.xjrsoft.module.mdm.service.ICountryRegionService; import com.xjrsoft.module.mdm.vo.LngBBankPageVo; import com.xjrsoft.module.mdm.vo.LngBBankVo; import cn.dev33.satoken.annotation.SaCheckPermission; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -52,6 +55,8 @@ public class BankController { private final IBankService bankService; private final DatalogService dataService; + + private final ICountryRegionService regionService; @GetMapping(value = "/page") @ApiOperation(value="LngBBank列表(分页)") @@ -71,10 +76,15 @@ public class BankController { .select(LngBBank.class,x -> VoToColumnUtil.fieldsToColumns(LngBBankPageVo.class).contains(x.getProperty())); IPage page = bankService.page(ConventPage.getPage(dto), queryWrapper); PageOutput pageOutput = ConventPage.getPageOutput(page, LngBBankPageVo.class); + List list = pageOutput.getList(); + setRegionName(list); + return R.ok(pageOutput); } - @GetMapping(value = "/info") + + + @GetMapping(value = "/info") @ApiOperation(value="根据id查询LngBBank信息") @SaCheckPermission("bank:detail") public R info(@RequestParam Long id){ @@ -147,4 +157,24 @@ public class BankController { public R disable(@Valid @RequestBody List ids){ return R.ok(bankService.disable(ids)); } + + private void setRegionName(List list) { + if(CollectionUtil.isNotEmpty(list)) { + for(LngBBankPageVo vo: list) { + if(StrUtil.isNotBlank(vo.getRegionCode())) { + String[] regionArr = vo.getRegionCode().split(","); + if(regionArr != null && regionArr.length > 0) { + String lastRegionCode = regionArr[regionArr.length-1]; + LambdaQueryWrapper regionQueryWrapper = new LambdaQueryWrapper<>(); + regionQueryWrapper.eq(LngBRegion::getCode, lastRegionCode); + LngBRegion lastRegion = regionService.getOne(regionQueryWrapper); + if(lastRegion != null) { + vo.setRegionName(lastRegion.getFullName()); + } + } + + } + } + } + } } \ No newline at end of file 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 2bfee53..353a315 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 @@ -155,6 +155,7 @@ public class CountryRegionController { @SaCheckPermission("countryRegion:enable") public R enable(@Valid @RequestBody List ids){ return R.ok(countryRegionService.enable(ids)); + } 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 4fc2c79..63fdbc2 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,7 +18,6 @@ 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; @@ -41,14 +40,16 @@ public class BankServiceImpl extends ServiceImpl imple private final ICodeRuleClient codeRuleClient; + private final String BANKCODE = "bankCode"; + @Override @Transactional(rollbackFor = Exception.class) public Long add(UpdateLngBBankDto dto) { - String code = codeRuleClient.genEncode("bankCode"); + String code = codeRuleClient.genEncode(BANKCODE); dto.setCode(code); this.checkParams(dto); UpdateLngBBankDto res = DataLogTools.insert(dto); - //this.addOrUpdateAfter(res.getId()); + this.addOrUpdateAfter(res.getId()); return res.getId(); } @@ -57,19 +58,33 @@ public class BankServiceImpl extends ServiceImpl imple public Long update(UpdateLngBBankDto dto) { this.checkParams(dto); UpdateLngBBankDto res = DataLogTools.update(dto); - //this.addOrUpdateAfter(res.getId()); + this.addOrUpdateAfter(res.getId()); return res.getId(); } @Override public boolean enable(List ids) { - return dataService.disable(UpdateLngBBankDto.class,ids); + dataService.disable(UpdateLngBBankDto.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 public boolean disable(List ids) { - return dataService.disable(UpdateLngBBankDto.class,ids); + dataService.disable(UpdateLngBBankDto.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; } private void checkParams(UpdateLngBBankDto dto) { @@ -79,6 +94,12 @@ public class BankServiceImpl extends ServiceImpl imple throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DATA_FIELD_DUPLICATION, FieldNameConstants.CODE)); } + Long shortNameCount = this.baseMapper.selectCount(new LambdaQueryWrapper() + .eq(LngBBank::getShortName, dto.getShortName()).ne(dto.getId() != null, LngBBank::getId, dto.getId())); + if (shortNameCount > 0) { + throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DATA_FIELD_DUPLICATION, + FieldNameConstants.SHORT_NAME)); + } Long nameCount = this.baseMapper.selectCount(new LambdaQueryWrapper() .eq(LngBBank::getFullName, dto.getFullName()).ne(dto.getId() != null, LngBBank::getId, dto.getId())); if (nameCount > 0) { 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 d9ceede..4494bdf 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 @@ -59,13 +59,27 @@ public class CountryRegionServiceImpl extends ServiceImpl ids) { - return dataService.disable(UpdateLngBRegionDto.class,ids); + dataService.disable(UpdateLngBRegionDto.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 public boolean disable(List ids) { - return dataService.disable(UpdateLngBRegionDto.class,ids); + dataService.disable(UpdateLngBRegionDto.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; }