package com.iamberry.rst.service.cm; import com.github.pagehelper.PageHelper; import com.iamberry.rst.core.cm.*; import com.iamberry.rst.core.order.Product; import com.iamberry.rst.core.page.PageRequest; import com.iamberry.rst.core.page.PagedResult; import com.iamberry.rst.faces.cm.ComplaintQuestionInfoService; import com.iamberry.rst.faces.cm.ComplaintSignclosedInfoService; import com.iamberry.rst.service.cm.mapper.*; import com.iamberry.rst.service.product.mapper.ProductMapper; import com.iamberry.rst.util.PageUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; import java.util.Map; @Service public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedInfoService { @Autowired private ComplaintSignclosedInfoMapper complaintSignclosedInfoMapper; @Autowired private ProductMapper productMapper; @Autowired private AwaitingSignclosedProductMapper awaitingSignclosedProductMapper; @Autowired private ComplaintSignclosedProductInfoMapper complaintSignclosedProductInfoMapper; @Autowired private FittingsInfoMapper fittingsInfoMapper; @Autowired private ComplaintDetectInfoMapper complaintDetectInfoMapper; @Override @Transactional public boolean insert(ComplaintSignclosedInfo record, Map colorNameMap, Map fittingsNameMap, Map alreadyColorMap, Map alreadyFittingsMap) { boolean msg = true; int num = complaintSignclosedInfoMapper.insert(record); if(num < 1){ msg = false; }else{ if(colorNameMap != null || colorNameMap.size() != 0){ for (Map.Entry entry : colorNameMap.entrySet()) { AwaitingSignclosedProductInfo awaitingSignclosedInfo = new AwaitingSignclosedProductInfo(); //根据颜色id获取产品信息获取产品信息 Product product = productMapper.getProductById(Integer.valueOf(entry.getKey())); if(product == null){ return false; } awaitingSignclosedInfo.setSignclosedId(record.getSignclosedId()); awaitingSignclosedInfo.setProductName(product.getProductName()); awaitingSignclosedInfo.setProductNum(entry.getValue()); awaitingSignclosedInfo.setSignclosedProductType(1); awaitingSignclosedInfo.setSignclosedProductId(product.getProductId()); awaitingSignclosedInfo.setSignclosedProductColor(Integer.valueOf(entry.getKey())); awaitingSignclosedInfo.setSignclosedCreateTime(new Date()); awaitingSignclosedProductMapper.insert(awaitingSignclosedInfo); } } if(fittingsNameMap != null || fittingsNameMap.size() != 0){ for (Map.Entry entry : fittingsNameMap.entrySet()) { AwaitingSignclosedProductInfo awaitingSignclosedInfo = new AwaitingSignclosedProductInfo(); //根据配件id获取配件信息 FittingsInfo fittingsInfo = fittingsInfoMapper.getFittingsById(Integer.valueOf(entry.getKey())); if(fittingsInfo == null){ return false; } awaitingSignclosedInfo.setSignclosedId(record.getSignclosedId()); awaitingSignclosedInfo.setProductName(fittingsInfo.getFittingsName()); awaitingSignclosedInfo.setProductNum(entry.getValue()); awaitingSignclosedInfo.setSignclosedProductType(2); awaitingSignclosedInfo.setSignclosedProductId(fittingsInfo.getProductId()); awaitingSignclosedInfo.setSignclosedProductColor(null); awaitingSignclosedInfo.setSignclosedCreateTime(new Date()); awaitingSignclosedProductMapper.insert(awaitingSignclosedInfo); } } if(alreadyColorMap != null || alreadyColorMap.size() != 0){ for (Map.Entry entry : alreadyColorMap.entrySet()) { SignclosedProductInfo signclosedProductInfo = new SignclosedProductInfo(); //根据颜色id获取产品信息获取产品信息 Product product = productMapper.getProductById(Integer.valueOf(entry.getKey())); if(product == null){ return false; } signclosedProductInfo.setSignclosedId(record.getSignclosedId()); signclosedProductInfo.setProductName(product.getProductName()); signclosedProductInfo.setProductNum(entry.getValue()); signclosedProductInfo.setSignclosedProductType(1); signclosedProductInfo.setSignclosedProductId(product.getProductId()); signclosedProductInfo.setSignclosedProductColor(Integer.valueOf(entry.getKey())); signclosedProductInfo.setSignclosedCreateTime(new Date()); complaintSignclosedProductInfoMapper.insert(signclosedProductInfo); } } if(alreadyFittingsMap != null || alreadyFittingsMap.size() != 0){ for (Map.Entry entry : alreadyFittingsMap.entrySet()) { SignclosedProductInfo signclosedProductInfo = new SignclosedProductInfo(); //根据配件id获取配件信息 FittingsInfo fittingsInfo = fittingsInfoMapper.getFittingsById(Integer.valueOf(entry.getKey())); if(fittingsInfo == null){ return false; } signclosedProductInfo.setSignclosedId(record.getSignclosedId()); signclosedProductInfo.setProductName(fittingsInfo.getFittingsName()); signclosedProductInfo.setProductNum(entry.getValue()); signclosedProductInfo.setSignclosedProductType(2); signclosedProductInfo.setSignclosedProductId(fittingsInfo.getFittingsId()); signclosedProductInfo.setSignclosedProductColor(null); signclosedProductInfo.setSignclosedCreateTime(new Date()); complaintSignclosedProductInfoMapper.insert(signclosedProductInfo); } } } return msg; } private Integer addSifnclosed(Map Map,Integer signclosedId) { Integer msg = 0; for (Map.Entry entry : Map.entrySet()) { AwaitingSignclosedProductInfo awaitingSignclosedInfo = new AwaitingSignclosedProductInfo(); //根据颜色id获取产品信息获取产品信息 Product product = productMapper.getProductById(Integer.valueOf(entry.getKey())); if (product == null) { return 0; } awaitingSignclosedInfo.setSignclosedId(signclosedId); awaitingSignclosedInfo.setProductName(product.getProductName()); awaitingSignclosedInfo.setProductNum(entry.getValue()); awaitingSignclosedInfo.setSignclosedProductType(1); awaitingSignclosedInfo.setSignclosedProductId(product.getProductId()); awaitingSignclosedInfo.setSignclosedProductColor(Integer.valueOf(entry.getKey())); awaitingSignclosedInfo.setSignclosedCreateTime(new Date()); msg = awaitingSignclosedProductMapper.insert(awaitingSignclosedInfo); } return msg; } @Override public ComplaintSignclosedInfo getSignclosedById(Integer signclosedId) { return complaintSignclosedInfoMapper.getSignclosedById(signclosedId); } @Transactional @Override public boolean updateSignclosedById(ComplaintSignclosedInfo record, Map alreadyColorMap, Map alreadyFittingsMap) { boolean msg = true; int num = complaintSignclosedInfoMapper.updateSignclosedById(record); if(num < 1){ msg = false; }else{ if(alreadyColorMap != null || alreadyColorMap.size() != 0){ for (Map.Entry entry : alreadyColorMap.entrySet()) { SignclosedProductInfo signclosedProductInfo = new SignclosedProductInfo(); //根据颜色id获取产品信息获取产品信息 Product product = productMapper.getProductById(Integer.valueOf(entry.getKey())); if(product == null){ return false; } signclosedProductInfo.setSignclosedId(record.getSignclosedId()); signclosedProductInfo.setProductName(product.getProductName()); signclosedProductInfo.setProductNum(entry.getValue()); signclosedProductInfo.setSignclosedProductType(1); signclosedProductInfo.setSignclosedProductId(product.getProductId()); signclosedProductInfo.setSignclosedProductColor(Integer.valueOf(entry.getKey())); signclosedProductInfo.setSignclosedCreateTime(new Date()); complaintSignclosedProductInfoMapper.insert(signclosedProductInfo); } } if(alreadyFittingsMap != null || alreadyFittingsMap.size() != 0){ for (Map.Entry entry : alreadyFittingsMap.entrySet()) { SignclosedProductInfo signclosedProductInfo = new SignclosedProductInfo(); //根据配件id获取配件信息 FittingsInfo fittingsInfo = fittingsInfoMapper.getFittingsById(Integer.valueOf(entry.getKey())); if(fittingsInfo == null){ return false; } signclosedProductInfo.setSignclosedId(record.getSignclosedId()); signclosedProductInfo.setProductName(fittingsInfo.getFittingsName()); signclosedProductInfo.setProductNum(entry.getValue()); signclosedProductInfo.setSignclosedProductType(2); signclosedProductInfo.setSignclosedProductId(fittingsInfo.getFittingsId()); signclosedProductInfo.setSignclosedProductColor(null); signclosedProductInfo.setSignclosedCreateTime(new Date()); complaintSignclosedProductInfoMapper.insert(signclosedProductInfo); } } } return msg; } @Override public Integer updateSignclosedById(ComplaintSignclosedInfo record) { return complaintSignclosedInfoMapper.updateSignclosedById(record); } @Override public int updateUrgedNumById(ComplaintSignclosedInfo complaintSignclosedInfo) { return complaintSignclosedInfoMapper.updateUrgedNumById(complaintSignclosedInfo); } @Override public PagedResult listSignclosed(PageRequest pageRequest) { PageHelper.startPage(pageRequest.getPageNO(), pageRequest.getPageSize(), pageRequest.isPageTotal()); List signclosedList = complaintSignclosedInfoMapper.listSignclosed(pageRequest.getData()); return PageUtil.getPage(signclosedList); } @Override public int intoComplaint(Integer signclosedId) { Integer msg = 0; try { ComplaintSignclosedInfo info = complaintSignclosedInfoMapper.getSignclosedById(signclosedId); ComplaintDetectInfo complaintDetectInfo = new ComplaintDetectInfo(); complaintDetectInfo.setSignclosedId(info.getSignclosedId()); complaintDetectInfo.setDetectState(2); msg = complaintDetectInfoMapper.updateComplaintDetectById(complaintDetectInfo); if(msg != 0){ ComplaintSignclosedInfo complaintSignclosedInfo = new ComplaintSignclosedInfo(); complaintSignclosedInfo.setSignclosedId(info.getSignclosedId()); complaintSignclosedInfo.setSignclosedIsInto(1); complaintSignclosedInfoMapper.updateSignclosedById(complaintSignclosedInfo); } }catch(Exception e) { return msg; } return msg; } }