|
@@ -2,16 +2,22 @@ package com.iamberry.rst.service.cm;
|
|
|
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.iamberry.rst.core.cm.*;
|
|
|
+import com.iamberry.rst.core.order.EfastOrder;
|
|
|
+import com.iamberry.rst.core.order.OrderItem;
|
|
|
import com.iamberry.rst.core.page.PagedResult;
|
|
|
-import com.iamberry.rst.core.pts.PtsSupplier;
|
|
|
import com.iamberry.rst.faces.cm.CustomerService;
|
|
|
import com.iamberry.rst.service.cm.mapper.*;
|
|
|
+import com.iamberry.rst.service.order.EfastOrderServiceImpl;
|
|
|
import com.iamberry.rst.util.PageUtil;
|
|
|
+import freemarker.ext.beans.HashAdapter;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
@Service
|
|
|
public class CustomerServiceImpl implements CustomerService {
|
|
@@ -33,32 +39,193 @@ public class CustomerServiceImpl implements CustomerService {
|
|
|
@Autowired
|
|
|
private ClosedProdcueMapper closedProdcueMapper;
|
|
|
@Autowired
|
|
|
- private VisitMapper visitMapper;
|
|
|
+ private VisitMapper visitMapper;
|
|
|
+ @Autowired
|
|
|
+ private ComplaintSignclosedInfoMapper complaintSignclosedInfoMapper;
|
|
|
+ @Autowired
|
|
|
+ private ComplaintDetectInfoMapper complaintDetectInfoMapper;
|
|
|
+ @Autowired
|
|
|
+ private SalesOrderMapper salesOrderMapper;
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public Integer saveCustomerInfo(CustomerInfo customerInfo) {
|
|
|
+ public Integer saveCustomerInfo(CustomerInfo customerInfo,SalesOrder salesOrder) {
|
|
|
+
|
|
|
+ salesOrder = salesOrderMapper.getSalesOrderById(salesOrder.getSalesId());
|
|
|
+
|
|
|
|
|
|
Integer flag = 0;
|
|
|
flag = customerInfoMapper.insert(customerInfo);
|
|
|
|
|
|
- Visit visit = customerInfo.getVisit();
|
|
|
- flag = visitMapper.addVisitInfo(visit);
|
|
|
+ if ("2".equals(customerInfo.getCustomerIsVisit())) {
|
|
|
+ Visit visit = customerInfo.getVisit();
|
|
|
+ flag = visitMapper.addVisitInfo(visit);
|
|
|
+ }
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ if (2 == customerInfo.getCustomerCounselType()) {
|
|
|
+ CustomerCommon customerCommon = customerInfo.getCustomerCommon();
|
|
|
+ customerCommon.setCustomerId(customerInfo.getCustomerId());
|
|
|
+ customerCommon.setRelationBackStatus(1);
|
|
|
+ customerCommon.setRelationSendStatus(1);
|
|
|
+ customerCommon.setRelationState(1);
|
|
|
+ customerCommon.setOrderId(salesOrder.getSalesId());
|
|
|
|
|
|
+ ComplaintDetectInfo complaintDetectInfo = new ComplaintDetectInfo();
|
|
|
+ ComplaintSignclosedInfo complaintSignclosedInfo = new ComplaintSignclosedInfo();
|
|
|
+ Map<String,Object> map;
|
|
|
+ switch (customerInfo.getCustomerIsSolve()) {
|
|
|
+ case 3:
|
|
|
+ map = this.sendEfastOrder();
|
|
|
+ if(map.get("status") == 1){
|
|
|
+ customerCommon.setRelationBackEfastOrderId(String.valueOf(map.get("EfastOrderId")));
|
|
|
+ complaintSignclosedInfo.setNewEfastId(String.valueOf(map.get("EfastOrderId")));
|
|
|
+ }else{
|
|
|
|
|
|
+ }
|
|
|
+ complaintSignclosedInfo.setOldEfastId(salesOrder.getSalesOrderId());
|
|
|
+ this.saveComplaintSignclosedInfo(complaintSignclosedInfo,customerCommon);
|
|
|
+ complaintDetectInfo.setSignclosedId(complaintSignclosedInfo.getSignclosedId());
|
|
|
+ this.saveComplaintDetectInfo(complaintDetectInfo,customerCommon);
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ map = this.sendEfastOrder();
|
|
|
+ if(map.get("status") == 1){
|
|
|
+ customerCommon.setRelationBackEfastOrderId(String.valueOf(map.get("EfastOrderId")));
|
|
|
+ complaintSignclosedInfo.setNewEfastId(String.valueOf(map.get("EfastOrderId")));
|
|
|
+ }else{
|
|
|
|
|
|
+ }
|
|
|
+ complaintSignclosedInfo.setOldEfastId(salesOrder.getSalesOrderId());
|
|
|
+ this.saveComplaintSignclosedInfo(complaintSignclosedInfo,customerCommon);
|
|
|
+ complaintDetectInfo.setSignclosedId(complaintSignclosedInfo.getSignclosedId());
|
|
|
+ this.saveComplaintDetectInfo(complaintDetectInfo,customerCommon);
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ map = this.sendEfastOrder();
|
|
|
+ if(map.get("status") == 1){
|
|
|
+ customerCommon.setRelationBackEfastOrderId(String.valueOf(map.get("EfastOrderId")));
|
|
|
+ complaintSignclosedInfo.setNewEfastId(String.valueOf(map.get("EfastOrderId")));
|
|
|
+ }else{
|
|
|
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ complaintSignclosedInfo.setOldEfastId(salesOrder.getSalesOrderId());
|
|
|
+ this.saveComplaintSignclosedInfo(complaintSignclosedInfo,customerCommon);
|
|
|
+ complaintDetectInfo.setSignclosedId(complaintSignclosedInfo.getSignclosedId());
|
|
|
+ this.saveComplaintDetectInfo(complaintDetectInfo,customerCommon);
|
|
|
+ break;
|
|
|
+ case 7:
|
|
|
+ complaintSignclosedInfo.setOldEfastId(salesOrder.getSalesOrderId());
|
|
|
+ this.saveComplaintSignclosedInfo(complaintSignclosedInfo,customerCommon);
|
|
|
+ complaintDetectInfo.setSignclosedId(complaintSignclosedInfo.getSignclosedId());
|
|
|
+ this.saveComplaintDetectInfo(complaintDetectInfo,customerCommon);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ customerCommon.setSignclosedId(complaintSignclosedInfo.getSignclosedId());
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Object object = CustomerCommon.getRelation(customerInfo.getCustomerIsSolve(), customerCommon);
|
|
|
+ Integer relationId;
|
|
|
+ switch (customerInfo.getCustomerIsSolve()) {
|
|
|
+ case 3:
|
|
|
+ Renewed renewed = (Renewed) object;
|
|
|
+ flag = renewedMapper.insert(renewed);
|
|
|
+ relationId = renewed.getRenewedId();
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ Repair repair = (Repair) object;
|
|
|
+ flag = repairMapper.insert(repair);
|
|
|
+ relationId = repair.getRepairId();
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ Reissue reissue = (Reissue) object;
|
|
|
+ flag = reissueMapper.insert(reissue);
|
|
|
+ relationId = reissue.getReissueId();
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ BackGoods backGoods = (BackGoods) object;
|
|
|
+ flag = backGoodsMapper.insert(backGoods);
|
|
|
+ relationId = backGoods.getBackGoodsId();
|
|
|
+ break;
|
|
|
+ case 7:
|
|
|
+ NoreasonBack noreasonBack = (NoreasonBack) object;
|
|
|
+ flag = noreasonBackMapper.insert(noreasonBack);
|
|
|
+ relationId = noreasonBack.getNoreasonBackId();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if (flag < 1) {
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ * 添加品检
|
|
|
+ * @param complaintDetectInfo
|
|
|
+ * @param customerCommon
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Transactional
|
|
|
+ public void saveComplaintDetectInfo(ComplaintDetectInfo complaintDetectInfo,CustomerCommon customerCommon){
|
|
|
+ Integer flag;
|
|
|
+ complaintDetectInfo.setCustomerId(customerCommon.getCustomerId());
|
|
|
+
|
|
|
+
|
|
|
+ complaintDetectInfo.setDetectState(1);
|
|
|
+ complaintDetectInfo.setDetectRevolutionProduced(1);
|
|
|
+ flag = complaintDetectInfoMapper.insert(complaintDetectInfo);
|
|
|
+ if(flag < 1){
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 添加仓储
|
|
|
+ * @param customerCommon
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Transactional
|
|
|
+ public void saveComplaintSignclosedInfo(ComplaintSignclosedInfo complaintSignclosedInfo,CustomerCommon customerCommon){
|
|
|
+ Integer flag;
|
|
|
+ complaintSignclosedInfo.setSignclosedId(1);
|
|
|
+ complaintSignclosedInfo.setSignclosedIsQuality(1);
|
|
|
+ complaintSignclosedInfo.setSignclosedIsInto(2);
|
|
|
+ complaintSignclosedInfo.setSignclosedState(2);
|
|
|
+ complaintSignclosedInfo.setSignclosedObjectsState(3);
|
|
|
+ complaintSignclosedInfo.setSignclosedCustomerId(customerCommon.getCustomerId());
|
|
|
+ flag = complaintSignclosedInfoMapper.insert(complaintSignclosedInfo);
|
|
|
+ if(flag < 1){
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 像Efast推送订单 仅换新,维修
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public Map<String,Object> sendEfastOrder(){
|
|
|
+ Map<String,Object> map = new HashMap<String,Object>();
|
|
|
+ EfastOrderServiceImpl efastOrderService = new EfastOrderServiceImpl();
|
|
|
+ List<EfastOrder> orderList = new ArrayList<EfastOrder>();
|
|
|
+ List<OrderItem > itemList = new ArrayList<OrderItem>();
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ map.put("status",1);
|
|
|
+ map.put("EfastOrderId","xxxxxxxxxxxxxxxxx");
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
public CustomerInfo getCustomerInfo(Integer customerId) {
|
|
|
return customerInfoMapper.getCustomerInfo(customerId);
|
|
@@ -166,7 +333,7 @@ public class CustomerServiceImpl implements CustomerService {
|
|
|
return null;
|
|
|
}
|
|
|
renewedInfo = renewedList.get(0);
|
|
|
- customerCommon = CustomerCommon.getCustomerCommon(3,renewedInfo);
|
|
|
+ customerCommon = CustomerCommon.getCustomerCommon(3, renewedInfo);
|
|
|
break;
|
|
|
case 4:
|
|
|
|
|
@@ -178,7 +345,7 @@ public class CustomerServiceImpl implements CustomerService {
|
|
|
return null;
|
|
|
}
|
|
|
repairInfo = repairList.get(0);
|
|
|
- customerCommon = CustomerCommon.getCustomerCommon(4,repairInfo);
|
|
|
+ customerCommon = CustomerCommon.getCustomerCommon(4, repairInfo);
|
|
|
break;
|
|
|
case 5:
|
|
|
|
|
@@ -190,7 +357,7 @@ public class CustomerServiceImpl implements CustomerService {
|
|
|
return null;
|
|
|
}
|
|
|
reissueInfo = reissueList.get(0);
|
|
|
- customerCommon = CustomerCommon.getCustomerCommon(5,reissueInfo);
|
|
|
+ customerCommon = CustomerCommon.getCustomerCommon(5, reissueInfo);
|
|
|
break;
|
|
|
case 6:
|
|
|
|
|
@@ -202,7 +369,7 @@ public class CustomerServiceImpl implements CustomerService {
|
|
|
return null;
|
|
|
}
|
|
|
backGoodsInfo = backGoodsList.get(0);
|
|
|
- customerCommon = CustomerCommon.getCustomerCommon(6,backGoodsInfo);
|
|
|
+ customerCommon = CustomerCommon.getCustomerCommon(6, backGoodsInfo);
|
|
|
break;
|
|
|
case 7:
|
|
|
|
|
@@ -214,7 +381,7 @@ public class CustomerServiceImpl implements CustomerService {
|
|
|
return null;
|
|
|
}
|
|
|
noreasonBackInfo = noreasonBackList.get(0);
|
|
|
- customerCommon = CustomerCommon.getCustomerCommon(7,noreasonBackInfo);
|
|
|
+ customerCommon = CustomerCommon.getCustomerCommon(7, noreasonBackInfo);
|
|
|
break;
|
|
|
}
|
|
|
return customerCommon;
|