This commit is contained in:
2025-10-22 17:56:18 +08:00
parent 8633c36ec1
commit b2fc6b0d28
12 changed files with 453 additions and 81 deletions

View File

@ -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 = "名称";
}

View File

@ -18,4 +18,15 @@ public interface TableNameConstants {
String LNG_B_CURRENCY = "lng_b_currency";
/**
* 银行表
*/
String LNG_B_BANK = "lng_b_bank";
/**
* 币种表
*/
String LNG_B_REGION = "lng_b_region";
}

View File

@ -0,0 +1,63 @@
package com.xjrsoft.module.mdm.vo;
import java.io.Serializable;
import java.util.List;
import com.xjrsoft.common.model.tree.ITreeNode;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @title: 分页列表出参
* @Author 管理员
* @Date: 2025-10-22
* @Version 1.0
*/
@Data
public class LngBRegionTreeVo implements ITreeNode<LngBRegionTreeVo,String>, Serializable{
/**
* 主键
*/
@ApiModelProperty("主键")
private String id;
/**
* 助记码
*/
@ApiModelProperty("助记码")
private String code;
/**
* 名称(不能重复)
*/
@ApiModelProperty("名称(不能重复)")
private String fullName;
/**
* 类型
*/
@ApiModelProperty("类型")
//@Trans(type = TransType.DIC, id = "1980458729324212226")
private String regionTypeCode;
/**
* 上级ID
*/
@ApiModelProperty("上级ID")
private Long pid;
@ApiModelProperty("上级ID")
private String parentId;
/**
* 全路径名称
*/
@ApiModelProperty("全路径名称")
private String fullPath;
/**
* 有效标志(Y-有效N-无效)
*/
@ApiModelProperty("有效标志(Y-有效N-无效)")
//@Trans(type = TransType.DIC, id = "1978057078528327681")
private String valid;
private List<LngBRegionTreeVo> children;
}

View File

@ -1,40 +1,41 @@
package com.xjrsoft.module.mdm.controller;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import java.util.ArrayList;
import java.util.List;
import javax.validation.Valid;
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.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.AddLngBBankDto;
import com.xjrsoft.module.mdm.dto.UpdateLngBBankDto;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.xjrsoft.module.authority.dto.BatchSetDataAuthDto;
import com.xjrsoft.module.datalog.service.DatalogService;
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.service.IBankService;
import com.xjrsoft.module.mdm.vo.LngBBankPageVo;
import com.xjrsoft.module.authority.dto.BatchSetDataAuthDto;
import java.util.stream.Collectors;
import java.util.ArrayList;
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.LngBBankVo;
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 javax.validation.constraints.NotNull;
import java.util.List;
/**
* @title: 银行
@ -43,7 +44,7 @@ import java.util.List;
* @Version 1.0
*/
@RestController
@RequestMapping("/mdm" + "/bank")
@RequestMapping("/mdm/bank")
@Api(value = "/mdm" + "/bank",tags = "银行代码")
@AllArgsConstructor
public class BankController {
@ -97,8 +98,9 @@ public class BankController {
@ApiOperation(value = "新增LngBBank")
@SaCheckPermission("bank:add")
public R add(@Valid @RequestBody UpdateLngBBankDto dto){
UpdateLngBBankDto res = dataService.insert(dto);
return R.ok(res.getId());
Long res = bankService.add(dto);
return R.ok(res);
}
@PutMapping
@ -130,4 +132,19 @@ public class BankController {
}
return R.ok(bankService.updateBatchById(toUpdateList));
}
@PostMapping("/enable")
@ApiOperation(value = "启用")
@SaCheckPermission("bank:enable")
public R enable(@Valid @RequestBody List<Long> ids){
return R.ok(bankService.enable(ids));
}
@PostMapping("/disable")
@ApiOperation(value = "禁用")
@SaCheckPermission("bank:disable")
public R disable(@Valid @RequestBody List<Long> ids){
return R.ok(bankService.disable(ids));
}
}

View File

@ -15,11 +15,13 @@ 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.utils.CollectionUtils;
import com.xjrsoft.common.enums.YesOrNoEnum;
import com.xjrsoft.common.model.result.R;
import com.xjrsoft.common.page.ConventPage;
import com.xjrsoft.common.page.PageOutput;
import com.xjrsoft.common.utils.TreeUtil;
import com.xjrsoft.common.utils.VoToColumnUtil;
import com.xjrsoft.module.datalog.entity.DataChangeLog;
import com.xjrsoft.module.datalog.service.DatalogService;
import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
import com.xjrsoft.module.mdm.dto.LngBRegionPageDto;
@ -28,6 +30,7 @@ import com.xjrsoft.module.mdm.entity.LngBRegion;
import com.xjrsoft.module.mdm.enums.CountryRegionEnum;
import com.xjrsoft.module.mdm.service.ICountryRegionService;
import com.xjrsoft.module.mdm.vo.LngBRegionPageVo;
import com.xjrsoft.module.mdm.vo.LngBRegionTreeVo;
import com.xjrsoft.module.mdm.vo.LngBRegionVo;
import cn.dev33.satoken.annotation.SaCheckPermission;
@ -109,8 +112,8 @@ public class CountryRegionController {
}else {
dto.setFullPath(dto.getFullName());
}
UpdateLngBRegionDto res = dataService.insert(dto);
return R.ok(res.getId());
Long res = countryRegionService.add(dto);
return R.ok(res);
}
@PutMapping
@ -142,8 +145,41 @@ public class CountryRegionController {
@GetMapping(value = "/tree")
@ApiOperation(value = "LngBRegion树形结构")
//@SaCheckPermission("countryRegion:edit")
public R tree(@Valid @RequestBody UpdateLngBRegionDto dto){
public R tree(){
return R.ok(null);
LambdaQueryWrapper<LngBRegion> queryWrapper = new LambdaQueryWrapper<LngBRegion>();
queryWrapper.eq(LngBRegion::getValid,YesOrNoEnum.YES.getTextCode());
List<LngBRegion> list = countryRegionService.list(queryWrapper);
List<LngBRegionTreeVo> voList = CollectionUtils.newArrayList();
if(list != null && list.size() > 0) {
for(LngBRegion br:list) {
LngBRegionTreeVo vo = new LngBRegionTreeVo();
BeanUtil.copyProperties(br, vo);
if(br.getPid() != null) {
vo.setParentId(String.valueOf(br.getPid()) );
}else {
vo.setParentId("0");
}
voList.add(vo);
}
}
List<LngBRegionTreeVo> treeVoList = TreeUtil.build(voList);
return R.ok(treeVoList);
}
@PostMapping("/enable")
@ApiOperation(value = "启用")
@SaCheckPermission("countryRegion:enable")
public R enable(@Valid @RequestBody List<Long> ids){
return R.ok(countryRegionService.enable(ids));
}
@PostMapping("/disable")
@ApiOperation(value = "禁用")
@SaCheckPermission("countryRegion:disable")
public R disable(@Valid @RequestBody List<Long> ids){
return R.ok(countryRegionService.disable(ids));
}
}

View File

@ -6,13 +6,16 @@ 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.pictc.utils.DataLogTools;
import com.xjrsoft.common.constant.GlobalConstant;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
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.common.db.service.CommonCallService;
import com.xjrsoft.module.mdm.dto.AddLngBPriceTermDto;
import com.xjrsoft.module.mdm.dto.UpdateLngBCurrencyDto;
import com.xjrsoft.module.mdm.dto.UpdateLngBPriceTermDto;
import cn.dev33.satoken.annotation.SaCheckPermission;
@ -20,8 +23,7 @@ import com.xjrsoft.module.mdm.dto.LngBPriceTermPageDto;
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;
@ -56,13 +58,12 @@ public class PriceTermsController {
LambdaQueryWrapper<LngBPriceTerm> 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<LngBPriceTerm> page = priceTermsService.page(ConventPage.getPage(dto), queryWrapper);
PageOutput<LngBPriceTermPageVo> pageOutput = ConventPage.getPageOutput(page, LngBPriceTermPageVo.class);
@ -80,28 +81,19 @@ 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<DataChangeLogVo> 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
@ -109,8 +101,19 @@ public class PriceTermsController {
@SaCheckPermission("priceTerms:delete")
public R delete(@Valid @RequestBody List<Long> ids){
return R.ok(dataService.deleteByIds(UpdateLngBPriceTermDto.class, ids));
}
@PostMapping("/enable")
@ApiOperation(value = "启用")
@SaCheckPermission("priceTerms:enable")
public R enable(@Valid @RequestParam Long id){
return R.ok(priceTermsService.enable(id));
}
@PostMapping("/disable")
@ApiOperation(value = "停用")
@SaCheckPermission("priceTerms:disable")
public R disable(@Valid @RequestParam Long id){
return R.ok(priceTermsService.disable(id));
}
}

View File

@ -1,13 +1,11 @@
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.entity.LngBBank;
import lombok.Data;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xjrsoft.module.mdm.dto.UpdateLngBBankDto;
import com.xjrsoft.module.mdm.entity.LngBBank;
/**
* @title: service
* @Author 管理员
@ -16,4 +14,10 @@ import java.util.List;
*/
public interface IBankService extends IService<LngBBank> {
Long add(UpdateLngBBankDto dto);
boolean enable(List<Long> ids);
boolean disable(List<Long> ids);
}

View File

@ -1,13 +1,11 @@
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.entity.LngBRegion;
import lombok.Data;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xjrsoft.module.mdm.dto.UpdateLngBRegionDto;
import com.xjrsoft.module.mdm.entity.LngBRegion;
/**
* @title: service
* @Author 管理员
@ -16,4 +14,10 @@ import java.util.List;
*/
public interface ICountryRegionService extends IService<LngBRegion> {
Long add(UpdateLngBRegionDto dto);
boolean enable(List<Long> ids);
boolean disable(List<Long> ids);
}

View File

@ -4,8 +4,11 @@ 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 +19,12 @@ import java.util.List;
*/
public interface IPriceTermsService extends IService<LngBPriceTerm> {
Long add(@Valid UpdateLngBPriceTermDto dto);
boolean updateByDTO(@Valid UpdateLngBPriceTermDto dto);
boolean enable(@Valid Long id);
boolean disable(@Valid Long id);
}

View File

@ -1,17 +1,28 @@
package com.xjrsoft.module.mdm.service.impl;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
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.datalog.service.DatalogService;
import com.xjrsoft.module.mdm.dto.UpdateLngBBankDto;
import com.xjrsoft.module.mdm.entity.LngBBank;
import com.xjrsoft.module.mdm.mapper.LngBBankMapper;
import com.xjrsoft.module.mdm.service.IBankService;
import com.xjrsoft.module.system.client.ICodeRuleClient;
import lombok.AllArgsConstructor;
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 +33,55 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@Service
@AllArgsConstructor
public class BankServiceImpl extends ServiceImpl<LngBBankMapper, LngBBank> implements IBankService {
private final CommonCallService commonCallService;
private final DatalogService dataService;
private final ICodeRuleClient codeRuleClient;
@Override
@Transactional(rollbackFor = Exception.class)
public Long add(UpdateLngBBankDto dto) {
String code = codeRuleClient.genEncode("bankCode");
dto.setCode(code);
this.checkParams(dto);
UpdateLngBBankDto res = DataLogTools.insert(dto);
//this.addOrUpdateAfter(res.getId());
return res.getId();
}
@Override
public boolean enable(List<Long> ids) {
return dataService.disable(UpdateLngBBankDto.class,ids);
}
@Override
public boolean disable(List<Long> ids) {
return dataService.disable(UpdateLngBBankDto.class,ids);
}
private void checkParams(UpdateLngBBankDto dto) {
Long codeCount = this.baseMapper.selectCount(new LambdaQueryWrapper<LngBBank>()
.eq(LngBBank::getCode, dto.getCode()));
if (codeCount > 0) {
throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DATA_FIELD_DUPLICATION,
FieldNameConstants.CODE));
}
Long nameCount = this.baseMapper.selectCount(new LambdaQueryWrapper<LngBBank>()
.eq(LngBBank::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_BANK, id);
if (StringUtils.isNotBlank(msg)) {
throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_EXEC_ERROR, msg));
}
}
}

View File

@ -1,17 +1,27 @@
package com.xjrsoft.module.mdm.service.impl;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
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.datalog.service.DatalogService;
import com.xjrsoft.module.mdm.dto.UpdateLngBRegionDto;
import com.xjrsoft.module.mdm.entity.LngBRegion;
import com.xjrsoft.module.mdm.mapper.LngBRegionMapper;
import com.xjrsoft.module.mdm.service.ICountryRegionService;
import lombok.AllArgsConstructor;
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,51 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@Service
@AllArgsConstructor
public class CountryRegionServiceImpl extends ServiceImpl<LngBRegionMapper, LngBRegion> implements ICountryRegionService {
private final CommonCallService commonCallService;
private final DatalogService dataService;
@Override
@Transactional(rollbackFor = Exception.class)
public Long add(UpdateLngBRegionDto dto) {
this.checkParams(dto);
UpdateLngBRegionDto res = DataLogTools.insert(dto);
//this.addOrUpdateAfter(res.getId());
return res.getId();
}
@Override
public boolean enable(List<Long> ids) {
return dataService.disable(UpdateLngBRegionDto.class,ids);
}
@Override
public boolean disable(List<Long> ids) {
return dataService.disable(UpdateLngBRegionDto.class,ids);
}
private void checkParams(UpdateLngBRegionDto dto) {
Long codeCount = this.baseMapper.selectCount(new LambdaQueryWrapper<LngBRegion>()
.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<LngBRegion>()
.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));
}
}
}

View File

@ -1,11 +1,23 @@
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.exception.BusinessException;
import com.xjrsoft.module.common.db.service.CommonCallService;
import com.xjrsoft.module.mdm.dto.UpdateLngBCurrencyDto;
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;
@ -13,6 +25,8 @@ import java.util.Objects;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import static microsoft.exchange.webservices.data.core.XmlElementNames.ResponseCode;
/**
* @title: service
* @Author 管理员
@ -22,4 +36,73 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@Service
@AllArgsConstructor
public class PriceTermsServiceImpl extends ServiceImpl<LngBPriceTermMapper, LngBPriceTerm> 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<LngBPriceTerm>()
.eq(LngBPriceTerm::getCode, dto.getCode()));
if (codeCount > 0) {
throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DATA_FIELD_DUPLICATION,
FieldNameConstants.CODE));
}
Long nameCount = this.baseMapper.selectCount(new LambdaQueryWrapper<LngBPriceTerm>()
.eq(LngBPriceTerm::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_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
public boolean enable(Long id) {
this.updateValid(id, ValidEnum.ENABLE.getCode());
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 updateValid(Long id, String valid) {
UpdateLngBPriceTermDto dto = new UpdateLngBPriceTermDto();
dto.setId(id);
dto.setValid(valid);
DataLogTools.update(dto);
}
@Override
public boolean disable(Long id) {
this.updateValid(id, ValidEnum.DISABLE.getCode());
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;
}
}