|
@@ -11,6 +11,7 @@ import com.iamberry.rst.core.order.ProductColor;
|
|
import com.iamberry.rst.core.page.PageRequest;
|
|
import com.iamberry.rst.core.page.PageRequest;
|
|
import com.iamberry.rst.core.page.PagedResult;
|
|
import com.iamberry.rst.core.page.PagedResult;
|
|
import com.iamberry.rst.faces.fm.ComplaintSignclosedInfoService;
|
|
import com.iamberry.rst.faces.fm.ComplaintSignclosedInfoService;
|
|
|
|
+import com.iamberry.rst.faces.sms.SmsService;
|
|
import com.iamberry.rst.service.cm.mapper.*;
|
|
import com.iamberry.rst.service.cm.mapper.*;
|
|
import com.iamberry.rst.service.fm.mapper.AwaitingSignclosedProductMapper;
|
|
import com.iamberry.rst.service.fm.mapper.AwaitingSignclosedProductMapper;
|
|
import com.iamberry.rst.service.fm.mapper.ComplaintDetectInfoMapper;
|
|
import com.iamberry.rst.service.fm.mapper.ComplaintDetectInfoMapper;
|
|
@@ -19,11 +20,15 @@ import com.iamberry.rst.service.fm.mapper.ComplaintSignclosedProductInfoMapper;
|
|
import com.iamberry.rst.service.product.mapper.ProductMapper;
|
|
import com.iamberry.rst.service.product.mapper.ProductMapper;
|
|
import com.iamberry.rst.util.PageUtil;
|
|
import com.iamberry.rst.util.PageUtil;
|
|
import com.iamberry.rst.util.ProduceNoUtil;
|
|
import com.iamberry.rst.util.ProduceNoUtil;
|
|
|
|
+import com.iamberry.rst.util.SmsConfig;
|
|
import net.sf.json.JSONArray;
|
|
import net.sf.json.JSONArray;
|
|
|
|
+import org.slf4j.Logger;
|
|
|
|
+import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
+import java.text.MessageFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
@@ -32,6 +37,7 @@ import java.util.Map;
|
|
|
|
|
|
@Service
|
|
@Service
|
|
public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedInfoService {
|
|
public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedInfoService {
|
|
|
|
+ private Logger logger = LoggerFactory.getLogger(ComplaintSignclosedInfoServiceImpl.class);
|
|
@Autowired
|
|
@Autowired
|
|
private ComplaintSignclosedInfoMapper complaintSignclosedInfoMapper;
|
|
private ComplaintSignclosedInfoMapper complaintSignclosedInfoMapper;
|
|
@Autowired
|
|
@Autowired
|
|
@@ -46,23 +52,39 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
|
|
private ComplaintDetectInfoMapper complaintDetectInfoMapper;
|
|
private ComplaintDetectInfoMapper complaintDetectInfoMapper;
|
|
@Autowired
|
|
@Autowired
|
|
private CustomerInfoMapper customerInfoMapper;
|
|
private CustomerInfoMapper customerInfoMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private SmsService smsService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@Transactional
|
|
@Transactional
|
|
- public boolean insert(ComplaintSignclosedInfo record,
|
|
|
|
|
|
+ public Integer insert(ComplaintSignclosedInfo record,
|
|
String orderItemString,String[] componentsImgs) {
|
|
String orderItemString,String[] componentsImgs) {
|
|
- boolean msg = true;
|
|
|
|
|
|
+ Integer msg = 0;
|
|
int num = 0;
|
|
int num = 0;
|
|
//查询是否已存在相同单号
|
|
//查询是否已存在相同单号
|
|
if(record.getSignclosedLogisticsNumber() != null){
|
|
if(record.getSignclosedLogisticsNumber() != null){
|
|
ComplaintSignclosedInfo info = new ComplaintSignclosedInfo();
|
|
ComplaintSignclosedInfo info = new ComplaintSignclosedInfo();
|
|
info.setSignclosedLogisticsNumber(record.getSignclosedLogisticsNumber());
|
|
info.setSignclosedLogisticsNumber(record.getSignclosedLogisticsNumber());
|
|
- if(complaintSignclosedInfoMapper.listSignclosed(info).size() <= 0){
|
|
|
|
|
|
+ List<ComplaintSignclosedInfo> sinfoList = complaintSignclosedInfoMapper.listSignclosed(info);
|
|
|
|
+ if(sinfoList.size() <= 0){
|
|
num = complaintSignclosedInfoMapper.insert(record);
|
|
num = complaintSignclosedInfoMapper.insert(record);
|
|
|
|
+ msg = 1;//添加成功
|
|
|
|
+ }else{
|
|
|
|
+ //将签收记录改为已签收
|
|
|
|
+ ComplaintSignclosedInfo complaintSignclosedInfo = sinfoList.get(0);
|
|
|
|
+ if(complaintSignclosedInfo.getSignclosedIsReceiving() == 1){
|
|
|
|
+ complaintSignclosedInfo.setSignclosedIsReceiving(2);
|
|
|
|
+ complaintSignclosedInfo.setSignclosedDate(new Date());
|
|
|
|
+ complaintSignclosedInfoMapper.updateSignclosedById(complaintSignclosedInfo);
|
|
|
|
+ msg = 3;//已存在相同单号的签收信息并修改状态为已签收
|
|
|
|
+ }else{
|
|
|
|
+ msg = 4;//已存在相同单号的已签收信息
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(num < 1){
|
|
if(num < 1){
|
|
- msg = false;
|
|
|
|
|
|
+ return msg;//新增签收失败
|
|
}else{
|
|
}else{
|
|
if(orderItemString != null){
|
|
if(orderItemString != null){
|
|
JSONArray jsonArray = JSONArray.fromObject(orderItemString);
|
|
JSONArray jsonArray = JSONArray.fromObject(orderItemString);
|
|
@@ -75,7 +97,7 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
|
|
ProductColor productColor = productMapper.getProduceColor(salesOrderItem.getItemColorId());
|
|
ProductColor productColor = productMapper.getProduceColor(salesOrderItem.getItemColorId());
|
|
Product product = productMapper.getProduce(productColor.getColorProductId());
|
|
Product product = productMapper.getProduce(productColor.getColorProductId());
|
|
if(productColor == null){
|
|
if(productColor == null){
|
|
- msg = false;
|
|
|
|
|
|
+ msg = 2;
|
|
}
|
|
}
|
|
signclosedProductInfo.setSignclosedId(record.getSignclosedId());
|
|
signclosedProductInfo.setSignclosedId(record.getSignclosedId());
|
|
signclosedProductInfo.setProductName(productColor.getProductName());
|
|
signclosedProductInfo.setProductName(productColor.getProductName());
|
|
@@ -128,7 +150,7 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
|
|
}
|
|
}
|
|
//关联客诉/判断是否生成客诉信息
|
|
//关联客诉/判断是否生成客诉信息
|
|
try {
|
|
try {
|
|
- addDetect(record);
|
|
|
|
|
|
+ addDetect(record,2);
|
|
}catch (Exception e){
|
|
}catch (Exception e){
|
|
throw new RuntimeException("------------关联客诉出错------------");
|
|
throw new RuntimeException("------------关联客诉出错------------");
|
|
}
|
|
}
|
|
@@ -139,9 +161,10 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
|
|
/**
|
|
/**
|
|
* 关联客诉
|
|
* 关联客诉
|
|
* @param record
|
|
* @param record
|
|
|
|
+ * type 1新增签收 2客服关联客诉
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- public int addDetect(ComplaintSignclosedInfo record){
|
|
|
|
|
|
+ public int addDetect(ComplaintSignclosedInfo record,Integer type){
|
|
CustomerInfo customerInfo = new CustomerInfo();
|
|
CustomerInfo customerInfo = new CustomerInfo();
|
|
List<CustomerInfo> listCustomer = new ArrayList<>();
|
|
List<CustomerInfo> listCustomer = new ArrayList<>();
|
|
if(record.getSignclosedCustomerId() != null){
|
|
if(record.getSignclosedCustomerId() != null){
|
|
@@ -213,37 +236,47 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
|
|
Integer msg = complaintSignclosedInfoMapper.updateSignclosedById(signclosedInfo);
|
|
Integer msg = complaintSignclosedInfoMapper.updateSignclosedById(signclosedInfo);
|
|
|
|
|
|
if(msg == 1){
|
|
if(msg == 1){
|
|
- addDet(record.getSignclosedId());
|
|
|
|
|
|
+ ComplaintSignclosedInfo infos = complaintSignclosedInfoMapper.getSignclosedById(record.getSignclosedId());
|
|
//判断是否需要生成维修记录
|
|
//判断是否需要生成维修记录
|
|
- /*if(sigInfo.getSignclosedProductInfoList().size() > 0){
|
|
|
|
- for(SignclosedProductInfo productInfo : sigInfo.getSignclosedProductInfoList()){
|
|
|
|
|
|
+ if(infos.getSignclosedProductInfoList().size() > 0) {
|
|
|
|
+ for (SignclosedProductInfo productInfo : infos.getSignclosedProductInfoList()) {
|
|
ProductColor productColor = productMapper.getProduceColor(productInfo.getSignclosedProductColor());
|
|
ProductColor productColor = productMapper.getProduceColor(productInfo.getSignclosedProductColor());
|
|
Product product = productMapper.getProduce(productColor.getColorProductId());
|
|
Product product = productMapper.getProduce(productColor.getColorProductId());
|
|
- if(product.getProductIsDetection() == 1){
|
|
|
|
- for (int j = 0;j<productInfo.getProductNum();j++){
|
|
|
|
- //添加待检测信息
|
|
|
|
- //查询签收信息
|
|
|
|
- ComplaintDetectInfo detectInfo = new ComplaintDetectInfo();
|
|
|
|
- detectInfo.setProductId(productColor.getColorProductId());
|
|
|
|
- detectInfo.setProductColorId(productInfo.getSignclosedProductColor());
|
|
|
|
- detectInfo.setDetectProductNumber(product.getProductNumber());
|
|
|
|
- detectInfo.setDetectState(1);
|
|
|
|
- detectInfo.setCustomerId(signclosedInfo.getSignclosedCustomerId());
|
|
|
|
- detectInfo.setIsMaintenance(0);
|
|
|
|
- detectInfo.setDetectRenovation(0);
|
|
|
|
- detectInfo.setDetectProcessingResults(0);
|
|
|
|
- try {
|
|
|
|
- complaintDetectInfoMapper.insert(detectInfo);
|
|
|
|
- }catch (Exception e){
|
|
|
|
- throw new RuntimeException("------------生成检测信息出错------------");
|
|
|
|
|
|
+ if(product.getProductIsDetection() != null){
|
|
|
|
+ if (product.getProductIsDetection() == 1) {
|
|
|
|
+ for (int j = 0; j < productInfo.getProductNum(); j++) {
|
|
|
|
+ //添加待检测信息
|
|
|
|
+ //查询签收信息
|
|
|
|
+ ComplaintDetectInfo detectInfo = new ComplaintDetectInfo();
|
|
|
|
+ //生成维修编号
|
|
|
|
+ String number = detectNumber();
|
|
|
|
+ detectInfo.setDetectNumber(number);
|
|
|
|
+ detectInfo.setProductId(productColor.getColorProductId());
|
|
|
|
+ detectInfo.setProductColorId(productInfo.getSignclosedProductColor());
|
|
|
|
+ detectInfo.setDetectProductNumber(product.getProductNumber());
|
|
|
|
+ detectInfo.setDetectState(1);
|
|
|
|
+ detectInfo.setCustomerId(infos.getSignclosedCustomerId());
|
|
|
|
+ detectInfo.setIsMaintenance(0);
|
|
|
|
+ detectInfo.setDetectRenovation(0);
|
|
|
|
+ detectInfo.setDetectProcessingResults(0);
|
|
|
|
+ detectInfo.setSignclosedId(infos.getSignclosedId());
|
|
|
|
+ try {
|
|
|
|
+ complaintDetectInfoMapper.insert(detectInfo);
|
|
|
|
+ if(type == 1){//客服关联客诉才发送通知短信
|
|
|
|
+ //发送短信通知维修检测人员
|
|
|
|
+ String text = MessageFormat.format(SmsConfig.CUSTOMER_CONTACT, sigInfo.getSignclosedLogisticsNumber(),number);
|
|
|
|
+ String result = smsService.sendOtherCMS(SmsConfig.CUSTOMER_PHONE, text);
|
|
|
|
+ logger.info("给 " + SmsConfig.CUSTOMER_PHONE + " 手机用户发送短信:" + text+"发送关联客诉通知维修人员:"+result);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ throw new RuntimeException("------------生成检测信息出错------------");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
-
|
|
|
|
- }*/
|
|
|
|
-
|
|
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return 1;
|
|
return 1;
|