package com.dk.mdm.service.mst; import com.dk.common.exception.BaseBusinessException; import com.dk.common.infrastructure.annotaiton.Pagination; import com.dk.common.infrastructure.constant.Constant; import com.dk.common.infrastructure.enums.ErrorCodeEnum; import com.dk.common.model.pojo.PageList; import com.dk.common.response.ResponseCodeEnum; import com.dk.common.response.ResponseResultUtil; import com.dk.common.response.ResponseResultVO; import com.dk.mdm.infrastructure.convert.mst.SaleChannelConvert; import com.dk.mdm.model.pojo.mst.SaleChannel; import com.dk.mdm.mapper.mst.SaleChannelMapper; import com.dk.common.service.BaseService; import com.dk.common.mapper.BaseMapper; import com.dk.mdm.model.query.mst.SaleChannelQuery; import com.dk.mdm.model.response.mst.SaleChannelResponse; import com.dk.mdm.model.vo.mst.SaleChannelVO; import com.dk.mdm.service.common.CommonService; import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import java.util.Map; @Service @Transactional public class SaleChannelService extends BaseService { @Override public BaseMapper getRepository() { return saleChannelMapper; } @Autowired private SaleChannelMapper saleChannelMapper; @Autowired private CommonService commonService; @Autowired private SaleChannelConvert saleChannelConvert; /** * @desc : 重写主键 * @author : 于继渤 * @date : 2024/2/29 20:29 */ @Override public String getPrimaryKey() { return "channel_id"; } /** * @desc : 查询 * @author : 于继渤 * @date : 2023/1/5 9:39 */ @Pagination public ResponseResultVO> selectByCond(SaleChannelQuery saleChannelQuery) { return super.mergeListWithCount(saleChannelQuery, saleChannelMapper.selectByCond(saleChannelQuery), saleChannelMapper.countByCond(saleChannelQuery)); } /** * @desc : 新建 * @author : 于继渤 * @date : 2023/1/5 9:39 */ @Transactional( rollbackFor = {Exception.class} ) public ResponseResultVO insert(SaleChannelVO saleChannelVO) { //实体转换 SaleChannel saleChannel = saleChannelConvert.convertToPo(saleChannelVO); //设置序号 saleChannel.setDisplayNo(commonService.getMaxDisplayNo(Constant.DisplayNoTable.SALECHANNEL)); //设置编码 Map uniqueNoteCode = commonService.getUniqueNoteCode(Constant.docNameConstant.SALECHANNEL.getName(), true); saleChannel.setChannelId(uniqueNoteCode.get("outId").toString()); saleChannel.setChannelCode(uniqueNoteCode.get("outNote").toString()); //新建如果是默认取消其他默认 if(saleChannelVO.getFlgDefault() != null && saleChannelVO.getFlgDefault() ){ //默认 把其他置为非默认 saleChannelMapper.updateFlgDefault(0); } //新建 saleChannelMapper.insert(saleChannel); return ResponseResultUtil.success(); } /** * @desc : 编辑 * @author : 于继渤 * @date : 2023/1/5 9:39 */ @Transactional( rollbackFor = {Exception.class} ) public ResponseResultVO update(SaleChannelVO saleChannelVO) { SaleChannel saleChannel1 = saleChannelMapper.selectById(saleChannelVO.getChannelId()); Long a = saleChannelMapper.selectFlagDefult(new SaleChannelQuery()); if ((saleChannel1.getFlgDefault() == null || !saleChannel1.getFlgDefault()) && saleChannelVO.getFlgDefault() != null && saleChannelVO.getFlgDefault()) { //默认 把其他置为非默认 saleChannelMapper.updateFlgDefault(saleChannelVO.getCpId()); } if( a == 1 && saleChannelVO.getFlgDefault()){ SaleChannel saleChannel = saleChannelConvert.convertToPo(saleChannelVO); super.updateByUuid(saleChannel); }else{ throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.SALE_CHANNEL_DEFULT_IS_NOT_ONLY.getMessage()); } return ResponseResultUtil.success(); } /** * @desc : 批量编辑序号 * @author : 于继渤 * @date : 2023/1/4 9:39 */ @Transactional( rollbackFor = {Exception.class} ) public ResponseResultVO updateBatchSaleChannelDisplayNo(SaleChannelVO saleChannelVO) { saleChannelMapper.updateBatchSaleChannelDisplayNo(saleChannelVO.getDataIds()); return ResponseResultUtil.success(); } }