package com.nanometer.smartlab.service; import com.nanometer.smartlab.dao.EncodeReplaceDictMapper; import com.nanometer.smartlab.entity.EncodeReplaceDict; import com.nanometer.smartlab.entity.SysUser; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.HashMap; import java.util.*; @Service public class EncodeReplaceDictServiceImpl implements EncodeReplaceDictService{ @Resource private EncodeReplaceDictMapper encodeReplaceDictMapper; @Override public List selectAll(EncodeReplaceDict encodeReplaceDictFilter, Integer offset, Integer pageSize) { Map params = new HashMap<>(); if (encodeReplaceDictFilter != null){ params.put("info", encodeReplaceDictFilter.getInfo()); params.put("number", encodeReplaceDictFilter.getNumber()); params.put("type", encodeReplaceDictFilter.getType()); } params.put("first", offset); params.put("pageSize", pageSize); return encodeReplaceDictMapper.selectAll(params); } @Override public int countAll(EncodeReplaceDict encodeReplaceDictFilter) { Map params = new HashMap<>(); if (encodeReplaceDictFilter != null){ params.put("info", encodeReplaceDictFilter.getInfo()); params.put("number", encodeReplaceDictFilter.getNumber()); params.put("type", encodeReplaceDictFilter.getType()); } return encodeReplaceDictMapper.countAll(params); } @Override @Transactional public void deleteOne(Long id) { encodeReplaceDictMapper.deleteByPrimaryKey(id); } @Override @Transactional public void addOne(EncodeReplaceDict encodeReplaceDict, SysUser user) { encodeReplaceDict.setUpdateTime(new Date()); encodeReplaceDict.setCreator(user.getId()); encodeReplaceDictMapper.insert(encodeReplaceDict); } @Override @Transactional public void updateOne(EncodeReplaceDict encodeReplaceDict) { encodeReplaceDictMapper.updateByPrimaryKey(encodeReplaceDict); } @Override public void checkAddOne(EncodeReplaceDict encodeReplaceDict) throws Exception { Map params = null; params = new HashMap<>(); //同一个类型下的编号是否重复 params.put("number", encodeReplaceDict.getNumber()); params.put("type", encodeReplaceDict.getType()); int check1 = encodeReplaceDictMapper.findByCondition(params); if (check1 >0){ throw new Exception("编号重复"); } //同一个类型下信息是否重复 params = new HashMap<>(); params.put("info", encodeReplaceDict.getInfo().trim()); params.put("type", encodeReplaceDict.getType()); int check2 = encodeReplaceDictMapper.findByCondition(params); if (check2 >0){ throw new Exception("信息重复"); } //同时不存在就合格 } @Override public void checkUpdateOne(EncodeReplaceDict encodeReplaceDict) throws Exception { Map params = null; //同一个类型下编号除自己以外是否重复 params = new HashMap<>(); params.put("p_number", encodeReplaceDict.getNumber()); params.put("type", encodeReplaceDict.getType()); List checkList1 = encodeReplaceDictMapper.selectAll(params); //结果如果不是自己就是重复 if (checkList1.size()>0 && !checkList1.get(0).getId().equals(encodeReplaceDict.getId())) { throw new Exception("编号重复"); } params = new HashMap<>(); params.put("p_info", encodeReplaceDict.getInfo().trim()); params.put("type", encodeReplaceDict.getType()); List checkList2 = encodeReplaceDictMapper.selectAll(params); //结果如果不是自己就是重复 if (checkList2.size()>0 && !checkList2.get(0).getId().equals(encodeReplaceDict.getId())) { throw new Exception("信息重复"); } } @Override public EncodeReplaceDict getOne(Long id) { return encodeReplaceDictMapper.selectByPrimaryKey(id); } }