|
@@ -71,10 +71,10 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
|
|
|
private KuaiDi100 kuaidi100;
|
|
|
@Autowired
|
|
|
private LogisticsInfoService logisticsInfoService;
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public Integer insert(ComplaintSignclosedInfo record,
|
|
|
- String orderItemString,String[] componentsImgs) {
|
|
|
+ public Integer insert(ComplaintSignclosedInfo record, String orderItemString, String[] componentsImgs) {
|
|
|
Integer msg = 0;
|
|
|
int num = 0;
|
|
|
Integer signclosedId = null;
|
|
@@ -88,7 +88,8 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
|
|
|
//截取-前的内容搜索一次
|
|
|
info.setSignclosedLogisticsNumber(StringUtils.substringBefore(record.getSignclosedLogisticsNumber(), "-"));
|
|
|
sinfoList = complaintSignclosedInfoMapper.listSignclosed(info);
|
|
|
- if(sinfoList.size() <= 0){//如果没有搜索到数据,则用完整单号搜索
|
|
|
+ if(sinfoList.size() <= 0){
|
|
|
+ //如果没有搜索到数据,则用完整单号搜索
|
|
|
info.setSignclosedLogisticsNumber(record.getSignclosedLogisticsNumber());
|
|
|
sinfoList = complaintSignclosedInfoMapper.listSignclosed(info);
|
|
|
}
|
|
@@ -98,7 +99,8 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
|
|
|
}
|
|
|
if(sinfoList.size() <= 0){
|
|
|
num = complaintSignclosedInfoMapper.insert(record);
|
|
|
- msg = 1;//添加成功
|
|
|
+ //添加成功
|
|
|
+ msg = 1;
|
|
|
signclosedId = record.getSignclosedId();
|
|
|
}else{
|
|
|
//将签收记录改为已签收
|
|
@@ -107,10 +109,12 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
|
|
|
complaintSignclosedInfo.setSignclosedIsReceiving(2);
|
|
|
complaintSignclosedInfo.setSignclosedDate(new Date());
|
|
|
complaintSignclosedInfoMapper.updateSignclosedById(complaintSignclosedInfo);
|
|
|
- msg = 3;//已存在相同单号的签收信息并修改状态为已签收
|
|
|
+ //已存在相同单号的签收信息并修改状态为已签收
|
|
|
+ msg = 3;
|
|
|
signclosedId = complaintSignclosedInfo.getSignclosedId();
|
|
|
}else{
|
|
|
- msg = 4;//已存在相同单号的已签收信息
|
|
|
+ //已存在相同单号的已签收信息
|
|
|
+ msg = 4;
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -124,22 +128,21 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
|
|
|
int i = 0;
|
|
|
SignclosedProductInfo signclosedProductInfo = new SignclosedProductInfo();
|
|
|
//根据颜色id获取产品信息获取产品信息
|
|
|
- ProductColor productColor = productMapper.getProduceColor(salesOrderItem.getItemColorId());
|
|
|
-// Product product = productMapper.getProduce(productColor.getColorProductId());
|
|
|
- if(productColor == null){
|
|
|
- msg = 2;
|
|
|
- }
|
|
|
- if(salesOrderItem.getItemNum() != null && salesOrderItem.getItemNum() != 0){
|
|
|
- signclosedProductInfo.setSignclosedId(record.getSignclosedId());
|
|
|
- signclosedProductInfo.setProductName(productColor.getProductName());
|
|
|
- signclosedProductInfo.setProductNum(salesOrderItem.getItemNum());
|
|
|
- signclosedProductInfo.setSignclosedProductType(1);
|
|
|
- signclosedProductInfo.setSignclosedProductId(productColor.getColorProductId());
|
|
|
- signclosedProductInfo.setSignclosedProductColor(salesOrderItem.getItemColorId());
|
|
|
- signclosedProductInfo.setSignclosedCreateTime(new Date());
|
|
|
- signclosedProductInfo.setSignclosedState(2);
|
|
|
- complaintSignclosedProductInfoMapper.insert(signclosedProductInfo);
|
|
|
- }
|
|
|
+ ProductColor productColor = productMapper.getProduceColor(salesOrderItem.getItemColorId());
|
|
|
+ if(productColor == null){
|
|
|
+ msg = 2;
|
|
|
+ }
|
|
|
+ if(salesOrderItem.getItemNum() != null && salesOrderItem.getItemNum() != 0){
|
|
|
+ signclosedProductInfo.setSignclosedId(record.getSignclosedId());
|
|
|
+ signclosedProductInfo.setProductName(productColor.getProductName());
|
|
|
+ signclosedProductInfo.setProductNum(salesOrderItem.getItemNum());
|
|
|
+ signclosedProductInfo.setSignclosedProductType(1);
|
|
|
+ signclosedProductInfo.setSignclosedProductId(productColor.getColorProductId());
|
|
|
+ signclosedProductInfo.setSignclosedProductColor(salesOrderItem.getItemColorId());
|
|
|
+ signclosedProductInfo.setSignclosedCreateTime(new Date());
|
|
|
+ signclosedProductInfo.setSignclosedState(2);
|
|
|
+ complaintSignclosedProductInfoMapper.insert(signclosedProductInfo);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -195,132 +198,135 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
|
|
|
* type 1新增签收 2客服关联客诉
|
|
|
* @return
|
|
|
*/
|
|
|
+ @Override
|
|
|
public int addDetect(ComplaintSignclosedInfo record,Integer type){
|
|
|
- CustomerInfo customerInfo = new CustomerInfo();
|
|
|
- List<CustomerInfo> listCustomer = new ArrayList<>();
|
|
|
- if(record.getSignclosedCustomerId() != null){
|
|
|
- customerInfo.setCustomerId(record.getSignclosedCustomerId());
|
|
|
+ CustomerInfo customerInfo = new CustomerInfo();
|
|
|
+ List<CustomerInfo> listCustomer = new ArrayList<>();
|
|
|
+ if(record.getSignclosedCustomerId() != null){
|
|
|
+ customerInfo.setCustomerId(record.getSignclosedCustomerId());
|
|
|
+ listCustomer = customerInfoMapper.listCustomer(customerInfo);
|
|
|
+ }else if(record.getSignclosedLogisticsNumber() != null){
|
|
|
+ //判断是否是京东
|
|
|
+ if (record.getSignclosedLogisticsNumber().contains("-")){
|
|
|
+ //截取-前的内容搜索一次
|
|
|
+ customerInfo.setSendLogisticsNo(StringUtils.substringBefore(record.getSignclosedLogisticsNumber(), "-"));
|
|
|
listCustomer = customerInfoMapper.listCustomer(customerInfo);
|
|
|
- }else if(record.getSignclosedLogisticsNumber() != null){
|
|
|
- //判断是否是京东
|
|
|
- if (record.getSignclosedLogisticsNumber().contains("-")){
|
|
|
- //截取-前的内容搜索一次
|
|
|
- customerInfo.setSendLogisticsNo(StringUtils.substringBefore(record.getSignclosedLogisticsNumber(), "-"));
|
|
|
- listCustomer = customerInfoMapper.listCustomer(customerInfo);
|
|
|
- if(listCustomer.size() <= 0){//如果没有搜索到数据,则用完整单号搜索
|
|
|
- customerInfo.setSendLogisticsNo(record.getSignclosedLogisticsNumber());
|
|
|
- listCustomer = customerInfoMapper.listCustomer(customerInfo);
|
|
|
- }
|
|
|
- }else{
|
|
|
+ if(listCustomer.size() <= 0){
|
|
|
+ //如果没有搜索到数据,则用完整单号搜索
|
|
|
customerInfo.setSendLogisticsNo(record.getSignclosedLogisticsNumber());
|
|
|
listCustomer = customerInfoMapper.listCustomer(customerInfo);
|
|
|
}
|
|
|
+ }else{
|
|
|
+ customerInfo.setSendLogisticsNo(record.getSignclosedLogisticsNumber());
|
|
|
+ listCustomer = customerInfoMapper.listCustomer(customerInfo);
|
|
|
}
|
|
|
- ComplaintSignclosedInfo sigInfo = complaintSignclosedInfoMapper.getSignclosedById(record.getSignclosedId());
|
|
|
- boolean m = false;
|
|
|
- if(listCustomer.size() > 0){
|
|
|
- customerInfo = listCustomer.get(0);
|
|
|
- ComplaintSignclosedInfo signclosedInfo = new ComplaintSignclosedInfo();
|
|
|
- if(customerInfo.getSendbackInfoList().size()>0){
|
|
|
- for (SendbackInfo info : customerInfo.getSendbackInfoList()){
|
|
|
- if(info.getSendbackLogisticsNo() != null){
|
|
|
- if(info.getSendbackLogisticsNo().equals(sigInfo.getSignclosedLogisticsNumber())){
|
|
|
- m = true;
|
|
|
- //修改该寄回信息为已签收
|
|
|
- info.setSendbackStatus(3);
|
|
|
- customerInfoMapper.updateSendbackInfo(info);
|
|
|
- //同步寄回id到签收信息
|
|
|
- record.setSendbackId(info.getSendbackId());
|
|
|
- complaintSignclosedInfoMapper.updateSignclosedById(record);
|
|
|
- }
|
|
|
+ }
|
|
|
+ ComplaintSignclosedInfo sigInfo = complaintSignclosedInfoMapper.getSignclosedById(record.getSignclosedId());
|
|
|
+ boolean m = false;
|
|
|
+ if(listCustomer.size() > 0){
|
|
|
+ customerInfo = listCustomer.get(0);
|
|
|
+ ComplaintSignclosedInfo signclosedInfo = new ComplaintSignclosedInfo();
|
|
|
+ if(customerInfo.getSendbackInfoList().size()>0){
|
|
|
+ for (SendbackInfo info : customerInfo.getSendbackInfoList()){
|
|
|
+ if(info.getSendbackLogisticsNo() != null){
|
|
|
+ if(info.getSendbackLogisticsNo().equals(sigInfo.getSignclosedLogisticsNumber())){
|
|
|
+ m = true;
|
|
|
+ //修改该寄回信息为已签收
|
|
|
+ info.setSendbackStatus(3);
|
|
|
+ customerInfoMapper.updateSendbackInfo(info);
|
|
|
+ //同步寄回id到签收信息
|
|
|
+ record.setSendbackId(info.getSendbackId());
|
|
|
+ complaintSignclosedInfoMapper.updateSignclosedById(record);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- SendbackInfo info = new SendbackInfo();
|
|
|
- if(!m || customerInfo.getSendbackInfoList().size() == 0){
|
|
|
- info.setSendbackStatus(3);
|
|
|
- info.setSendbackLogisticsCompany(sigInfo.getSignclosedLogistics());
|
|
|
- info.setSendbackLogisticsNo(sigInfo.getSignclosedLogisticsNumber());
|
|
|
- info.setSendbackName(sigInfo.getSignclosedSendName());
|
|
|
- info.setSendbackTel(sigInfo.getSignclosedSendTel());
|
|
|
- info.setRelationId(customerInfo.getRelationId());
|
|
|
- info.setSendbackSignTime(sigInfo.getSignclosedDate());
|
|
|
- List<SendbackItem> list = new ArrayList<>();
|
|
|
- if(customerInfoMapper.addSendbackInfo(info) > 0){
|
|
|
- //添加寄回产品项
|
|
|
- for(SignclosedProductInfo productInfo : sigInfo.getSignclosedProductInfoList()){
|
|
|
- SendbackItem sendbackItem = new SendbackItem();
|
|
|
- sendbackItem.setSendbackId(info.getSendbackId());
|
|
|
- sendbackItem.setSendbackColorId(productInfo.getSignclosedProductColor());
|
|
|
- sendbackItem.setSendbackProductId(productInfo.getSignclosedProductId());
|
|
|
- sendbackItem.setSendbackProdcueNumber(productInfo.getProductNum());
|
|
|
- list.add(sendbackItem);
|
|
|
- }
|
|
|
- customerInfoMapper.addSendbackItemList(list);
|
|
|
+ }
|
|
|
+ SendbackInfo info = new SendbackInfo();
|
|
|
+ if(!m || customerInfo.getSendbackInfoList().size() == 0){
|
|
|
+ info.setSendbackStatus(3);
|
|
|
+ info.setSendbackLogisticsCompany(sigInfo.getSignclosedLogistics());
|
|
|
+ info.setSendbackLogisticsNo(sigInfo.getSignclosedLogisticsNumber());
|
|
|
+ info.setSendbackName(sigInfo.getSignclosedSendName());
|
|
|
+ info.setSendbackTel(sigInfo.getSignclosedSendTel());
|
|
|
+ info.setRelationId(customerInfo.getRelationId());
|
|
|
+ info.setSendbackSignTime(sigInfo.getSignclosedDate());
|
|
|
+ List<SendbackItem> list = new ArrayList<>();
|
|
|
+ if(customerInfoMapper.addSendbackInfo(info) > 0){
|
|
|
+ //添加寄回产品项
|
|
|
+ for(SignclosedProductInfo productInfo : sigInfo.getSignclosedProductInfoList()){
|
|
|
+ SendbackItem sendbackItem = new SendbackItem();
|
|
|
+ sendbackItem.setSendbackId(info.getSendbackId());
|
|
|
+ sendbackItem.setSendbackColorId(productInfo.getSignclosedProductColor());
|
|
|
+ sendbackItem.setSendbackProductId(productInfo.getSignclosedProductId());
|
|
|
+ sendbackItem.setSendbackProdcueNumber(productInfo.getProductNum());
|
|
|
+ list.add(sendbackItem);
|
|
|
}
|
|
|
-
|
|
|
+ customerInfoMapper.addSendbackItemList(list);
|
|
|
}
|
|
|
- //同步寄回id到签收信息
|
|
|
- signclosedInfo.setSendbackId(info.getSendbackId());
|
|
|
- signclosedInfo.setSignclosedCustomerId(customerInfo.getCustomerId());
|
|
|
- signclosedInfo.setSignclosedId(record.getSignclosedId());
|
|
|
- Integer msg = complaintSignclosedInfoMapper.updateSignclosedById(signclosedInfo);
|
|
|
-
|
|
|
- if(msg == 1){
|
|
|
- ComplaintSignclosedInfo infos = complaintSignclosedInfoMapper.getSignclosedById(record.getSignclosedId());
|
|
|
- //判断是否需要生成维修记录
|
|
|
- if(infos.getSignclosedProductInfoList().size() > 0) {
|
|
|
- for (SignclosedProductInfo productInfo : infos.getSignclosedProductInfoList()) {
|
|
|
- ProductColor productColor = productMapper.getProduceColor(productInfo.getSignclosedProductColor());
|
|
|
- Product product = productMapper.getProduce(productColor.getColorProductId());
|
|
|
- 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());
|
|
|
- detectInfo.setDetectSource(1);
|
|
|
- Calendar date = Calendar.getInstance();
|
|
|
- date.setTime(new Date());
|
|
|
- boolean fl = false;
|
|
|
- for (int i = 1 ; i <= 3; i++){
|
|
|
- date.set(Calendar.DATE, date.get(Calendar.DATE) + i);
|
|
|
- int week = date.get(Calendar.DAY_OF_WEEK);//1--7的值,对应:星期日,星期一,星期二,星期三....星期六
|
|
|
- if(week == 1){
|
|
|
- fl = true;
|
|
|
- }
|
|
|
- date.set(Calendar.DATE, date.get(Calendar.DATE) - i);
|
|
|
- }
|
|
|
- if(fl){
|
|
|
- date.set(Calendar.DATE, date.get(Calendar.DATE) + 4);
|
|
|
- }else{
|
|
|
- date.set(Calendar.DATE, date.get(Calendar.DATE) + 3);
|
|
|
+
|
|
|
+ }
|
|
|
+ //同步寄回id到签收信息
|
|
|
+ signclosedInfo.setSendbackId(info.getSendbackId());
|
|
|
+ signclosedInfo.setSignclosedCustomerId(customerInfo.getCustomerId());
|
|
|
+ signclosedInfo.setSignclosedId(record.getSignclosedId());
|
|
|
+ Integer msg = complaintSignclosedInfoMapper.updateSignclosedById(signclosedInfo);
|
|
|
+
|
|
|
+ if(msg == 1){
|
|
|
+ ComplaintSignclosedInfo infos = complaintSignclosedInfoMapper.getSignclosedById(record.getSignclosedId());
|
|
|
+ //判断是否需要生成维修记录
|
|
|
+ if(infos.getSignclosedProductInfoList().size() > 0) {
|
|
|
+ for (SignclosedProductInfo productInfo : infos.getSignclosedProductInfoList()) {
|
|
|
+ ProductColor productColor = productMapper.getProduceColor(productInfo.getSignclosedProductColor());
|
|
|
+ Product product = productMapper.getProduce(productColor.getColorProductId());
|
|
|
+ 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());
|
|
|
+ detectInfo.setDetectSource(1);
|
|
|
+ Calendar date = Calendar.getInstance();
|
|
|
+ date.setTime(new Date());
|
|
|
+ boolean fl = false;
|
|
|
+ for (int i = 1 ; i <= 3; i++){
|
|
|
+ date.set(Calendar.DATE, date.get(Calendar.DATE) + i);
|
|
|
+ //1--7的值,对应:星期日,星期一,星期二,星期三....星期六
|
|
|
+ int week = date.get(Calendar.DAY_OF_WEEK);
|
|
|
+ if(week == 1){
|
|
|
+ fl = true;
|
|
|
}
|
|
|
- detectInfo.setMaintenanceCutTime(date.getTime());
|
|
|
- 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("------------生成检测信息出错------------");
|
|
|
+ date.set(Calendar.DATE, date.get(Calendar.DATE) - i);
|
|
|
+ }
|
|
|
+ if(fl){
|
|
|
+ date.set(Calendar.DATE, date.get(Calendar.DATE) + 4);
|
|
|
+ }else{
|
|
|
+ date.set(Calendar.DATE, date.get(Calendar.DATE) + 3);
|
|
|
+ }
|
|
|
+ detectInfo.setMaintenanceCutTime(date.getTime());
|
|
|
+ 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("------------生成检测信息出错------------");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -328,6 +334,7 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ }
|
|
|
return 1;
|
|
|
}
|
|
|
/**
|