CustomerServiceImpl.java 49 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021
  1. package com.iamberry.rst.service.cm;
  2. import com.github.pagehelper.PageHelper;
  3. import com.iamberry.rst.core.address.City;
  4. import com.iamberry.rst.core.address.District;
  5. import com.iamberry.rst.core.address.Province;
  6. import com.iamberry.rst.core.cm.*;
  7. import com.iamberry.rst.core.order.*;
  8. import com.iamberry.rst.core.page.PagedResult;
  9. import com.iamberry.rst.faces.cm.CustomerService;
  10. import com.iamberry.rst.faces.order.EfastOrderService;
  11. import com.iamberry.rst.service.address.mapper.AddressMapper;
  12. import com.iamberry.rst.service.cm.mapper.*;
  13. import com.iamberry.rst.service.order.EfastOrderServiceImpl;
  14. import com.iamberry.rst.service.product.mapper.ProductMapper;
  15. import com.iamberry.rst.util.PageUtil;
  16. import net.sf.json.JSONObject;
  17. import org.slf4j.Logger;
  18. import org.slf4j.LoggerFactory;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.stereotype.Service;
  21. import org.springframework.transaction.annotation.Transactional;
  22. import java.util.ArrayList;
  23. import java.util.HashMap;
  24. import java.util.List;
  25. import java.util.Map;
  26. @Service
  27. public class CustomerServiceImpl implements CustomerService {
  28. private static Logger logger = LoggerFactory.getLogger(CustomerServiceImpl.class);
  29. @Autowired
  30. private CustomerInfoMapper customerInfoMapper;
  31. @Autowired
  32. private RepairMapper repairMapper;
  33. @Autowired
  34. private BackGoodsMapper backGoodsMapper;
  35. @Autowired
  36. private NoreasonBackMapper noreasonBackMapper;
  37. @Autowired
  38. private ReissueMapper reissueMapper;
  39. @Autowired
  40. private RenewedMapper renewedMapper;
  41. @Autowired
  42. private ClosedFittingMapper closedFittingMapper;
  43. @Autowired
  44. private ClosedProdcueMapper closedProdcueMapper;
  45. @Autowired
  46. private SendProdcueMapper sendProdcueMapper;
  47. @Autowired
  48. private SendFittingMapper sendFittingMapper;
  49. @Autowired
  50. private SalesOrderMapper salesOrderMapper;
  51. @Autowired
  52. private CustomerService customerService;
  53. @Autowired
  54. private VisitMapper visitMapper; //回访
  55. @Autowired
  56. private ComplaintSignclosedInfoMapper complaintSignclosedInfoMapper; //仓储
  57. @Autowired
  58. private ComplaintDetectInfoMapper complaintDetectInfoMapper; //品检
  59. @Autowired
  60. private QuestionDescribeMapper questionDescribeMapper; //客诉问题
  61. @Autowired
  62. private AddressMapper addressMapper; //地址
  63. @Autowired
  64. private ProductMapper productMapper; //产品
  65. @Autowired
  66. private ComplaintSignclosedProductInfoMapper complaintSignclosedProductInfoMapper;
  67. @Autowired
  68. private FittingsInfoMapper fittingsInfoMapper;
  69. @Autowired
  70. private EfastOrderService efastOrderService;
  71. @Override
  72. public CustomerInfo getCustomerInfo(Integer customerId) {
  73. return customerInfoMapper.getCustomerInfo(customerId);
  74. }
  75. @Override
  76. @Transactional
  77. public Integer saveCustomerInfo(CustomerInfo customerInfo,SalesOrder salesOrder) throws Exception{
  78. //添加客诉基本信息
  79. Integer flag = 0;
  80. flag = customerInfoMapper.insert(customerInfo);
  81. if(flag < 1){
  82. throw new Exception("添加客诉失败");
  83. }
  84. QuestionDescribe questionDescribe = new QuestionDescribe();
  85. questionDescribe.setCustomerId(customerInfo.getCustomerId());
  86. questionDescribe.setDescribeTitle(customerInfo.getDescribeTitle()); //客诉问题标题
  87. questionDescribe.setDescribeContent(customerInfo.getDescribeContent()); //客诉问题描述
  88. questionDescribe.setDescribeHandleDesc(customerInfo.getDescribeHandleDesc()); //处理描述
  89. flag = questionDescribeMapper.insert(questionDescribe);
  90. if(flag < 1){
  91. throw new Exception("添加客诉失败");
  92. }
  93. if ("2".equals(customerInfo.getCustomerIsVisit())) {
  94. Visit visit = new Visit();
  95. visit.setCustomerId(customerInfo.getCustomerId());
  96. visit.setAdminId(customerInfo.getVisitAdminId());
  97. visit.setVisitName(customerInfo.getVisitName());
  98. visit.setVisitTel(customerInfo.getVisitTel());
  99. visit.setVisitDate(customerInfo.getVisitDate());
  100. visit.setVisitTimeSelect(customerInfo.getVisitTimeSelect());
  101. visit.setVisitStatus(1); //回访状态
  102. flag = visitMapper.addVisitInfo(visit);
  103. if(flag < 1){
  104. throw new Exception("添加客诉失败");
  105. }
  106. }
  107. if (2 == customerInfo.getCustomerCounselType() &&
  108. (customerInfo.getCustomerIsSolve() == 3 || customerInfo.getCustomerIsSolve() == 4 || customerInfo.getCustomerIsSolve() == 5 ||
  109. customerInfo.getCustomerIsSolve() == 6 || customerInfo.getCustomerIsSolve() == 7)
  110. ){
  111. salesOrder = salesOrderMapper.getSalesOrderById(salesOrder.getSalesId());
  112. CustomerCommon customerCommon = customerInfo.getCustomerCommon();
  113. customerCommon.setCustomerId(customerInfo.getCustomerId()); //设置客诉id
  114. customerCommon.setRelationBackStatus(1); //寄回状态 1:未寄回
  115. customerCommon.setRelationSendStatus(1); //寄送状态 1:未寄送
  116. customerCommon.setRelationState(1); //状态 默认使用中
  117. customerCommon.setOrderId(salesOrder.getSalesId()); //订单id
  118. customerCommon.setTransactionNumber(customerInfo.getTransactionNumber()); //外部交易号
  119. customerCommon.setRelationIsTransfer(0); //是否已转账邮费 0:不需要
  120. customerCommon.setRelationBackPostage(0); //邮费默认为0
  121. /* 初始化产品类型,名称,配件名称 */
  122. this.setName(customerCommon);
  123. ComplaintDetectInfo complaintDetectInfo = new ComplaintDetectInfo(); //品质检测
  124. ComplaintSignclosedInfo complaintSignclosedInfo = new ComplaintSignclosedInfo(); //客诉-签收表
  125. Map<String,Object> map;
  126. boolean isReturn = false;
  127. switch (customerInfo.getCustomerIsSolve()) { //处理结果: 1:已解决 2:未解决 3:换新 4:维修 5:补发 6:退货 7:无理由退货
  128. case 3: //换新
  129. isReturn = this.chargebackEfastOrder(customerCommon,salesOrder); //原订单生成退单
  130. map = this.sendEfastOrder(customerCommon,salesOrder); //换新需要向Efast推送一条换新发货的订单
  131. if(map.get("status") == 1){
  132. customerCommon.setRelationBackEfastOrderId(String.valueOf(map.get("EfastOrderId"))); //存放Efast订单编号
  133. complaintSignclosedInfo.setNewEfastId(String.valueOf(map.get("EfastOrderId"))); //仓储签收表添加 发货的Efast订单id
  134. }else{
  135. throw new Exception("换新创建Efast订单失败");
  136. }
  137. complaintSignclosedInfo.setOldEfastId(salesOrder.getSalesOrderId()); //原有订单的Efast的订单编号
  138. this.saveComplaintSignclosedInfo(complaintSignclosedInfo,customerCommon);//创建仓储任务
  139. complaintDetectInfo.setSignclosedId(complaintSignclosedInfo.getSignclosedId()); //设置仓储签收id
  140. this.saveComplaintDetectInfo(complaintDetectInfo,customerCommon); //创建品检
  141. break;
  142. case 4: //维修
  143. isReturn = this.chargebackEfastOrder(customerCommon,salesOrder); //原订单生成退单
  144. map = this.sendEfastOrder(customerCommon,salesOrder); //维修需要向Efast推送一条维修发货的订单
  145. if(map.get("status") == 1){
  146. customerCommon.setRelationBackEfastOrderId(String.valueOf(map.get("EfastOrderId"))); //存放Efast订单编号
  147. complaintSignclosedInfo.setNewEfastId(String.valueOf(map.get("EfastOrderId"))); //仓储签收表添加 发货的Efast订单id
  148. }else{
  149. throw new Exception("维修创建Efast订单失败");
  150. }
  151. complaintSignclosedInfo.setOldEfastId(salesOrder.getSalesOrderId()); //原有订单的Efast的订单编号
  152. this.saveComplaintSignclosedInfo(complaintSignclosedInfo,customerCommon);//创建仓储任务
  153. complaintDetectInfo.setSignclosedId(complaintSignclosedInfo.getSignclosedId()); //设置仓储签收id
  154. this.saveComplaintDetectInfo(complaintDetectInfo,customerCommon); //创建品检
  155. break;
  156. case 5: //补发 不用创建仓储签收任务
  157. map = this.sendEfastOrder(customerCommon,salesOrder); //补发需要向Efast推送一条发货的订单
  158. if(map.get("status") == 1){
  159. customerCommon.setRelationBackEfastOrderId(String.valueOf(map.get("EfastOrderId"))); //存放Efast订单编号
  160. complaintSignclosedInfo.setNewEfastId(String.valueOf(map.get("EfastOrderId"))); //仓储签收表添加 发货的Efast订单id
  161. }else{
  162. throw new Exception("补发创建Efast订单失败");
  163. }
  164. break;
  165. case 6: //退货
  166. complaintSignclosedInfo.setOldEfastId(salesOrder.getSalesOrderId()); //原有订单的Efast的订单编号
  167. this.saveComplaintSignclosedInfo(complaintSignclosedInfo,customerCommon);//创建仓储任务
  168. complaintDetectInfo.setSignclosedId(complaintSignclosedInfo.getSignclosedId()); //设置仓储签收id
  169. this.saveComplaintDetectInfo(complaintDetectInfo,customerCommon); //创建品检
  170. break;
  171. case 7: //无理由退货
  172. complaintSignclosedInfo.setOldEfastId(salesOrder.getSalesOrderId()); //原有订单的Efast的订单编号
  173. this.saveComplaintSignclosedInfo(complaintSignclosedInfo,customerCommon);//创建仓储任务
  174. complaintDetectInfo.setSignclosedId(complaintSignclosedInfo.getSignclosedId()); //设置仓储签收id
  175. this.saveComplaintDetectInfo(complaintDetectInfo,customerCommon); //创建品检
  176. break;
  177. }
  178. customerCommon.setSignclosedId(complaintSignclosedInfo.getSignclosedId()); //设置仓储id
  179. Object object = CustomerCommon.getRelation(customerInfo.getCustomerIsSolve(), customerCommon);
  180. Integer relationId = 0;
  181. switch (customerInfo.getCustomerIsSolve()) { //处理结果: 1:已解决 2:未解决 3:换新 4:维修 5:补发 6:退货 7:无理由退货
  182. case 3: //换新
  183. Renewed renewed = (Renewed) object;
  184. flag = renewedMapper.insert(renewed);
  185. relationId = renewed.getRenewedId();
  186. break;
  187. case 4: //维修
  188. Repair repair = (Repair) object;
  189. flag = repairMapper.insert(repair);
  190. relationId = repair.getRepairId();
  191. break;
  192. case 5: //补发
  193. Reissue reissue = (Reissue) object;
  194. flag = reissueMapper.insert(reissue);
  195. relationId = reissue.getReissueId();
  196. break;
  197. case 6: //退货
  198. BackGoods backGoods = (BackGoods) object;
  199. flag = backGoodsMapper.insert(backGoods);
  200. relationId = backGoods.getBackGoodsId();
  201. break;
  202. case 7: //无理由退货
  203. NoreasonBack noreasonBack = (NoreasonBack) object;
  204. flag = noreasonBackMapper.insert(noreasonBack);
  205. relationId = noreasonBack.getNoreasonBackId();
  206. break;
  207. }
  208. if (flag < 1) {
  209. throw new Exception("添加客诉处理结果失败");
  210. }
  211. customerCommon.setRelationId(relationId);
  212. CustomerCommon.setProduceOrFitting(customerInfo.getCustomerIsSolve(),customerCommon);
  213. if(customerCommon.getClosedFittings()!=null && customerCommon.getClosedFittings().size() > 0){
  214. closedFittingMapper.insert(customerCommon.getClosedFittings());
  215. }
  216. if(customerCommon.getClosedProdcues() != null && customerCommon.getClosedProdcues().size()>0){
  217. closedProdcueMapper.insert(customerCommon.getClosedProdcues());
  218. }
  219. if(customerCommon.getSendProdcues() != null && customerCommon.getSendProdcues().size() > 0){
  220. sendProdcueMapper.insert(customerCommon.getSendProdcues());
  221. }
  222. if(customerCommon.getSendFittings() != null && customerCommon.getSendFittings().size() > 0){
  223. sendFittingMapper.insert(customerCommon.getSendFittings());
  224. }
  225. }
  226. return flag;
  227. }
  228. /**
  229. * 初始化
  230. * @param cc
  231. */
  232. private void setName(CustomerCommon cc){
  233. for (int i=0;i<cc.getSendProdcues().size();i++) {
  234. Product product = productMapper.getProduce(cc.getSendProdcues().get(i).getProductId());
  235. cc.getSendProdcues().get(i).setSendProduceName(product.getProductName());
  236. cc.getSendProdcues().get(i).setProductType(product.getProductType());
  237. cc.getSendProdcues().get(i).setProductNumber(product.getProductNumber());
  238. ProductColor productColor = productMapper.getProduceColor(cc.getSendProdcues().get(i).getColorId());
  239. cc.getSendProdcues().get(i).setProductColor(productColor);
  240. }
  241. for (int i=0;i<cc.getSendFittings().size();i++) {
  242. FittingsInfo fittingsInfo = fittingsInfoMapper.getFittingsById( cc.getSendFittings().get(i).getFittingsId());
  243. cc.getSendFittings().get(i).setFittingsId(fittingsInfo.getFittingsId());
  244. }
  245. for (int i=0;i<cc.getClosedProdcues().size();i++) {
  246. Product product = productMapper.getProductById(cc.getSendProdcues().get(i).getProductId());
  247. cc.getClosedProdcues().get(i).setClosedProductName(product.getProductName());
  248. cc.getClosedProdcues().get(i).setProductType(product.getProductType());
  249. cc.getClosedProdcues().get(i).setProductNumber(product.getProductNumber());
  250. ProductColor productColor = productMapper.getProduceColor(cc.getSendProdcues().get(i).getColorId());
  251. cc.getSendProdcues().get(i).setProductColor(productColor);
  252. }
  253. for (int i=0;i<cc.getClosedFittings().size();i++) {
  254. FittingsInfo fittingsInfo = fittingsInfoMapper.getFittingsById(cc.getClosedFittings().get(i).getFittingsId());
  255. cc.getClosedFittings().get(i).setFittingsId(fittingsInfo.getFittingsId());
  256. }
  257. }
  258. /**
  259. * 添加品检
  260. * @param complaintDetectInfo
  261. * @param customerCommon
  262. * @return
  263. */
  264. @Transactional
  265. public void saveComplaintDetectInfo(ComplaintDetectInfo complaintDetectInfo,CustomerCommon customerCommon) throws Exception{
  266. Integer flag = 0;
  267. List<ComplaintDetectInfo> complaintDetectInfoList = new ArrayList<ComplaintDetectInfo>();
  268. complaintDetectInfo.setCustomerId(customerCommon.getCustomerId()); //添加客诉
  269. complaintDetectInfo.setDetectState(1); //状态 1待仓库转入
  270. complaintDetectInfo.setDetectRevolutionProduced(1); //是否转入生产部门 1待转入
  271. for(int i=0 ;i< customerCommon.getClosedProdcues().size();i++){
  272. ClosedProdcue closedProdcue = customerCommon.getClosedProdcues().get(i);
  273. for(int j=0; j<closedProdcue.getClosedProdcueNumber();j++){
  274. complaintDetectInfo.setProductId(closedProdcue.getProductId());
  275. complaintDetectInfo.setDetectProductType(closedProdcue.getProductType());
  276. if(closedProdcue.getProductNumber() == null || "".equals(closedProdcue.getProductNumber())){
  277. complaintDetectInfo.setDetectProductNumber("0");
  278. }else{
  279. complaintDetectInfo.setDetectProductNumber(closedProdcue.getProductNumber());
  280. }
  281. }
  282. complaintDetectInfoList.add(complaintDetectInfo);
  283. }
  284. if(complaintDetectInfoList.size() > 0){
  285. flag = complaintDetectInfoMapper.insertList(complaintDetectInfoList);
  286. }
  287. if(flag < 1){
  288. throw new Exception("添加品检失败");
  289. }
  290. }
  291. /**
  292. * 添加仓储
  293. * @param customerCommon
  294. * @return
  295. */
  296. @Transactional
  297. public void saveComplaintSignclosedInfo(ComplaintSignclosedInfo complaintSignclosedInfo,CustomerCommon customerCommon)throws Exception{
  298. Integer flag;
  299. complaintSignclosedInfo.setSignclosedType(1); //客诉寄回
  300. complaintSignclosedInfo.setSignclosedIsQuality(1); //是否平品检 1:需要品检
  301. complaintSignclosedInfo.setSignclosedIsInto(2); //是否已转入品检 2:未转入品检
  302. complaintSignclosedInfo.setSignclosedState(2); //处理状态 2:未签收
  303. complaintSignclosedInfo.setSignclosedObjectsState(3); //物件状态 3:暂未签收
  304. complaintSignclosedInfo.setSignclosedCustomerId(customerCommon.getCustomerId()); //客诉id
  305. complaintSignclosedInfo.setSignclosedIsFittings(2);
  306. flag = complaintSignclosedInfoMapper.insert(complaintSignclosedInfo);
  307. if(flag < 1){
  308. throw new Exception("添加签收失败");
  309. }
  310. //添加代签收表
  311. List<AwaitingSignclosedProductInfo> awaitingSignclosedProductInfoArrayList = new ArrayList<>();
  312. AwaitingSignclosedProductInfo awaitingSignclosedProductInfo = new AwaitingSignclosedProductInfo();
  313. awaitingSignclosedProductInfo.setSignclosedId(complaintSignclosedInfo.getSignclosedId()); //仓储id
  314. awaitingSignclosedProductInfo.setSignclosedProductType(1); //类型为产品
  315. for(int i=0 ;i< customerCommon.getClosedProdcues().size();i++){
  316. ClosedProdcue closedProdcue = customerCommon.getClosedProdcues().get(i);
  317. for(int k=0;k<closedProdcue.getClosedProdcueNumber();k++){
  318. awaitingSignclosedProductInfo.setProductNum(1);
  319. awaitingSignclosedProductInfo.setSignclosedProductId(closedProdcue.getProductId()); //产品id
  320. awaitingSignclosedProductInfo.setSignclosedProductColor(closedProdcue.getColorId()); //颜色id
  321. awaitingSignclosedProductInfo.setProductName(closedProdcue.getClosedProductName()); //产品名称
  322. awaitingSignclosedProductInfoArrayList.add(awaitingSignclosedProductInfo);
  323. }
  324. }
  325. awaitingSignclosedProductInfo.setSignclosedProductType(2); //类型为配件
  326. for(int i=0 ;i< customerCommon.getClosedFittings().size();i++){
  327. ClosedFitting closedFitting = customerCommon.getClosedFittings().get(i);
  328. for(int k=0;k<closedFitting.getClosedFittingNumber();k++){
  329. awaitingSignclosedProductInfo.setProductNum(1);
  330. awaitingSignclosedProductInfo.setSignclosedProductId(closedFitting.getFittingsId()); //配件id
  331. awaitingSignclosedProductInfo.setSignclosedProductColor(null);
  332. awaitingSignclosedProductInfo.setProductName(closedFitting.getFittingName()); //配件名称
  333. awaitingSignclosedProductInfoArrayList.add(awaitingSignclosedProductInfo);
  334. }
  335. }
  336. flag = complaintSignclosedProductInfoMapper.insertList(awaitingSignclosedProductInfoArrayList);
  337. if(flag < 1){
  338. throw new Exception("添加签收产品失败");
  339. }
  340. }
  341. /**
  342. * 向Efast推送订单 仅换新,维修 ,补发
  343. * @return
  344. */
  345. @Transactional
  346. public Map<String,Object> sendEfastOrder(CustomerCommon customerCommon,SalesOrder salesOrder) throws Exception{
  347. Map<String,Object> map = new HashMap<String,Object>();
  348. List<EfastOrder> orderList = new ArrayList<EfastOrder>();
  349. List<OrderItem> itemList = new ArrayList<OrderItem>();
  350. Integer num = 0; //产品数量
  351. Integer amout = 0; //商品总价
  352. String orderProductBarCode = ""; //产品sku
  353. String productName = ""; //产品名称
  354. for(int i=0;i<customerCommon.getSendProdcues().size();i++){
  355. SendProdcue sendProdcue = customerCommon.getSendProdcues().get(i);
  356. OrderItem orderItem = new OrderItem();
  357. orderItem.setItemProductName(sendProdcue.getSendProduceName());
  358. orderItem.setItemProductNum(sendProdcue.getSendProdcueNumber());
  359. orderItem.setItemProductPrice(sendProdcue.getProductColor().getColorPrice());
  360. orderItem.setItemColorBar(sendProdcue.getProductColor().getColorBar());
  361. itemList.add(orderItem);
  362. orderProductBarCode = sendProdcue.getProductColor().getColorBar();
  363. productName = sendProdcue.getSendProduceName();
  364. num += sendProdcue.getSendProdcueNumber();
  365. amout += sendProdcue.getProductColor().getColorPrice();
  366. }
  367. EfastOrder efastOrder = new EfastOrder();
  368. efastOrder.setOrderAddressName(customerCommon.getRelationSendName());//收货人姓名
  369. efastOrder.setOrderAddressTel(customerCommon.getRelationSendTel());//收货人电话
  370. efastOrder.setOrderOpenId("1");//身份证
  371. String[] address = customerCommon.getRelationSendMergeAddress().split("-");
  372. efastOrder.setOrderProvince(address[0]);
  373. efastOrder.setOrderCity(address[1]);
  374. efastOrder.setOrderArea(address[2]);
  375. efastOrder.setOrderAddress(customerCommon.getRelationSendAddress());
  376. efastOrder.setOrderStatus(2);
  377. efastOrder.setOrderNum(num); //产品数量
  378. efastOrder.setOrderAmount(amout); //商品总价
  379. efastOrder.setOrderPayMoney(amout); //已付款
  380. //支付方式
  381. switch (salesOrder.getSalesPayType()){
  382. case 1: //微信支付
  383. efastOrder.setOrderPayType(1);
  384. break;
  385. case 2: //现金支付
  386. efastOrder.setOrderPayType(2);
  387. break;
  388. case 3:
  389. break;
  390. case 4: //刷卡支付
  391. efastOrder.setOrderPayType(4);
  392. break;
  393. case 5: //支付宝支付
  394. efastOrder.setOrderPayType(5);
  395. break;
  396. default:
  397. efastOrder.setOrderPayType(2); //默认现金
  398. break;
  399. }
  400. efastOrder.setOrderProductBarCode(orderProductBarCode); //产品sku
  401. efastOrder.setOrderProductName(productName); //产品名称
  402. efastOrder.setOrderId(customerCommon.getTransactionNumber()); //外部交易号
  403. efastOrder.setOid(1);
  404. orderList.add(efastOrder);
  405. Integer status = 1;
  406. Map<String,Object> orderMap = new HashMap<String,Object>();
  407. try {
  408. orderMap = efastOrderService.sendOrder(orderList,itemList);
  409. } catch (Exception e) {
  410. status = 0;
  411. }
  412. List<EfastOrder> oList = (List<EfastOrder>) orderMap.get("efastOrderList");
  413. if(oList == null || oList.size() < 1){
  414. status = 0;
  415. }
  416. map.put("status",status);
  417. if(oList != null && oList.size() > 0){
  418. map.put("EfastOrderId",oList.get(0).getOrderId());
  419. }
  420. return map;
  421. }
  422. /**
  423. * 向Efast推送订单--添加订单
  424. * @return
  425. */
  426. public Map<String,Object> sendEfastOrder(SalesOrder salesOrder) throws Exception{
  427. Map<String,Object> map = new HashMap<String,Object>();
  428. List<EfastOrder> orderList = new ArrayList<EfastOrder>();
  429. List<OrderItem> itemList = new ArrayList<OrderItem>();
  430. Integer num = 0; //产品数量
  431. Integer amout = 0; //商品总价
  432. String orderProductBarCode = ""; //产品sku
  433. String productName = ""; //产品名称
  434. for(int i=0;i<salesOrder.getSalesOrderItemList().size();i++){
  435. SalesOrderItem salesOrderItem = salesOrder.getSalesOrderItemList().get(i);
  436. OrderItem orderItem = new OrderItem();
  437. orderItem.setItemProductName(salesOrderItem.getItemProductName());
  438. orderItem.setItemProductNum(salesOrderItem.getItemNum());
  439. orderItem.setItemProductPrice(salesOrderItem.getItemProductPrice());
  440. orderItem.setItemColorBar(salesOrderItem.getItemColorBar());
  441. itemList.add(orderItem);
  442. orderProductBarCode = salesOrderItem.getItemColorBar();
  443. productName = salesOrderItem.getItemProductName();
  444. num += salesOrderItem.getItemNum();
  445. amout += salesOrderItem.getItemProductPrice();
  446. }
  447. EfastOrder efastOrder = new EfastOrder();
  448. efastOrder.setOrderAddressName(salesOrder.getSalesAddressName());//收货人姓名
  449. efastOrder.setOrderAddressTel(salesOrder.getSalesAddressTel());//收货人电话
  450. efastOrder.setOrderOpenId("1");//身份证
  451. String[] address = salesOrder.getSalesAddressInfo().split("-");
  452. efastOrder.setOrderProvince(address[0]);
  453. efastOrder.setOrderCity(address[1]);
  454. efastOrder.setOrderArea(address[2]);
  455. String myAddress = "";
  456. if(address.length > 4){
  457. myAddress = address[3] + address[4];
  458. }else{
  459. myAddress = address[3];
  460. }
  461. efastOrder.setOrderAddress(myAddress);
  462. efastOrder.setOrderStatus(2);
  463. efastOrder.setOrderNum(num); //产品数量
  464. efastOrder.setOrderAmount(amout); //商品总价
  465. efastOrder.setOrderPayMoney(amout); //已付款
  466. //支付方式
  467. switch (salesOrder.getSalesPayType()){
  468. case 1: //微信支付
  469. efastOrder.setOrderPayType(1);
  470. break;
  471. case 2: //现金支付
  472. efastOrder.setOrderPayType(2);
  473. break;
  474. case 3:
  475. break;
  476. case 4: //刷卡支付
  477. efastOrder.setOrderPayType(4);
  478. break;
  479. case 5: //支付宝支付
  480. efastOrder.setOrderPayType(5);
  481. break;
  482. default:
  483. efastOrder.setOrderPayType(2); //默认现金
  484. break;
  485. }
  486. efastOrder.setOrderProductBarCode(orderProductBarCode); //产品sku
  487. efastOrder.setOrderProductName(productName); //产品名称
  488. efastOrder.setOrderId(salesOrder.getSalesDealCode()); //外部交易号
  489. efastOrder.setOid(1);
  490. orderList.add(efastOrder);
  491. Integer status = 1;
  492. Map<String,Object> orderMap = new HashMap<String,Object>();
  493. try {
  494. orderMap = efastOrderService.sendOrder(orderList,itemList);
  495. } catch (Exception e) {
  496. status = 0;
  497. }
  498. List<EfastOrder> oList = (List<EfastOrder>) orderMap.get("efastOrderList");
  499. if(oList == null || oList.size() < 1){
  500. status = 0;
  501. }
  502. if(oList != null && oList.size() > 0){
  503. map.put("EfastOrderId",oList.get(0).getOrderId());
  504. }
  505. map.put("status",status);
  506. return map;
  507. }
  508. /**
  509. * 将原订单生成退货单
  510. * @param customerCommon
  511. * @param salesOrder
  512. * @return
  513. * @throws Exception
  514. */
  515. @Transactional
  516. boolean chargebackEfastOrder(CustomerCommon customerCommon, SalesOrder salesOrder) throws Exception{
  517. SalesOrder order = new SalesOrder();
  518. order.setSalesId(salesOrder.getSalesId());
  519. order.setSalesStatus(8);
  520. Integer flag = salesOrderMapper.updateSalesOrder(order);
  521. // if(flag < 0){
  522. // throw new Exception("退货失败");
  523. // }
  524. EfastOrder efastOrder = new EfastOrder();
  525. List<EfastOrderItem> itemList = new ArrayList<>();
  526. for(int i=0;i<customerCommon.getSendProdcues().size();i++){
  527. SendProdcue sendProdcue = customerCommon.getSendProdcues().get(i);
  528. EfastOrderItem efastOrderItem = new EfastOrderItem();
  529. efastOrderItem.setItemColorBar(sendProdcue.getProductColor().getColorBar());
  530. efastOrderItem.setItemNum(sendProdcue.getSendProdcueNumber());
  531. efastOrderItem.setItemDiscount(sendProdcue.getProductColor().getColorPrice());
  532. itemList.add(efastOrderItem);
  533. }
  534. efastOrder.setOrderDealCode(salesOrder.getSalesDealCode()); //交易号
  535. efastOrder.setOrderPostFirm(salesOrder.getSalesPostFirm()); //物流代码
  536. efastOrder.setOrderDealCode(salesOrder.getSalesDealCode()); //物流单号
  537. efastOrder.setOrderId(salesOrder.getSalesOrderId()); //订单编号
  538. efastOrder.setItemList(itemList);
  539. JSONObject jsonObject = new JSONObject();
  540. boolean fg = false;
  541. try{
  542. jsonObject = efastOrderService.returnOrderFormEfast(efastOrder);
  543. logger.info("------将原订单生成退货订单返回数据:" + jsonObject + "------");
  544. if(jsonObject != null){
  545. JSONObject respData = JSONObject.fromObject(jsonObject.get("resp_data"));
  546. if(respData != null ){
  547. String returnSn = respData.getString("return_sn");
  548. if(returnSn != null || !"".equals(returnSn)){
  549. fg = true;
  550. }
  551. }
  552. }
  553. }catch (Exception e){
  554. logger.info("------将原订单生成退货订单报错------");
  555. }
  556. if(fg){
  557. return true;
  558. }else{
  559. return false;
  560. }
  561. }
  562. @Override
  563. public Integer updateCustomerInfo(CustomerInfo record) {
  564. return customerInfoMapper.updateCustomerInfo(record);
  565. }
  566. @Override
  567. public PagedResult<CustomerInfo> listCustomer(int pageNO, int pageSize, CustomerInfo customerInfo, boolean isTotalNum) {
  568. PageHelper.startPage(pageNO, pageSize, isTotalNum);
  569. //查询客诉列表
  570. List<CustomerInfo> customerList = customerInfoMapper.listCustomer(customerInfo);
  571. //查询售后维修集合
  572. Repair repairInfo = new Repair();
  573. repairInfo.setRepairState(1);
  574. List<Repair> repairList = repairMapper.listRepair(repairInfo);
  575. //查询售后退货集合
  576. BackGoods backGoodsInfo = new BackGoods();
  577. backGoodsInfo.setBackGoodsState(1);
  578. List<BackGoods> backGoodsList = backGoodsMapper.listBackGoods(backGoodsInfo);
  579. //查询售后无理由退货集合
  580. NoreasonBack noreasonBackInfo = new NoreasonBack();
  581. noreasonBackInfo.setNoreasonBackState(1);
  582. List<NoreasonBack> noreasonBackList = noreasonBackMapper.listNoreasonBack(noreasonBackInfo);
  583. //查询售后补发集合
  584. Reissue reissueInfo = new Reissue();
  585. reissueInfo.setReissueState(1);
  586. List<Reissue> reissueList = reissueMapper.listReissue(reissueInfo);
  587. //查询售后换新集合
  588. Renewed renewedInfo = new Renewed();
  589. renewedInfo.setRenewedState(1);
  590. List<Renewed> renewedList = renewedMapper.listRenewed(renewedInfo);
  591. if (customerList != null && customerList.size() > 0) {
  592. for (CustomerInfo customer : customerList) {
  593. switch (customer.getCustomerIsSolve().intValue()) {
  594. case 3: //换新
  595. for (Renewed renewed : renewedList) {
  596. if (renewed.getCustomerId().intValue() == customer.getCustomerId()) {
  597. customer.setBackStatus(renewed.getRenewedBackStatus());
  598. customer.setSendStatus(renewed.getRenewedSendStatus());
  599. customer.setSalesTime(renewed.getSalesPayTime());
  600. break;
  601. }
  602. }
  603. break;
  604. case 4: //维修
  605. for (Repair repair : repairList) {
  606. if (repair.getCustomerId().intValue() == customer.getCustomerId()) {
  607. customer.setBackStatus(repair.getRepairBackStatus());
  608. customer.setSendStatus(repair.getRepairSendStatus());
  609. customer.setSalesTime(repair.getSalesPayTime());
  610. break;
  611. }
  612. }
  613. break;
  614. case 5: //补发
  615. for (Reissue reissue : reissueList) {
  616. if (reissue.getCustomerId().intValue() == customer.getCustomerId()) {
  617. customer.setSendStatus(reissue.getReissueSendStatus());
  618. customer.setSalesTime(reissue.getSalesPayTime());
  619. break;
  620. }
  621. }
  622. break;
  623. case 6: //退货
  624. for (BackGoods backGoods : backGoodsList) {
  625. if (backGoods.getCustomerId().intValue() == customer.getCustomerId()) {
  626. customer.setBackStatus(backGoods.getBackGoodsBackStatus());
  627. customer.setSalesTime(backGoods.getSalesPayTime());
  628. break;
  629. }
  630. }
  631. break;
  632. case 7: //无理由退货
  633. for (NoreasonBack noreasonBack : noreasonBackList) {
  634. if (noreasonBack.getCustomerId().intValue() == customer.getCustomerId()) {
  635. customer.setBackStatus(noreasonBack.getNoreasonBackBackStatus());
  636. customer.setSalesTime(noreasonBack.getSalesPayTime());
  637. break;
  638. }
  639. }
  640. break;
  641. }
  642. }
  643. }
  644. return PageUtil.getPage(customerList);
  645. }
  646. @Override
  647. public Map<String,Object> getCustomerInfo(CustomerInfo customerInfo) {
  648. Map<String,Object> map = new HashMap<String,Object>();
  649. CustomerCommon customerCommon = new CustomerCommon();
  650. //查询客诉列表
  651. List<CustomerInfo> customerList = customerInfoMapper.listCustomer(customerInfo);
  652. if (customerList == null || customerList.size() == 0) {
  653. return null;
  654. }
  655. CustomerInfo customer = customerList.get(0);
  656. map.put("customer",customer);
  657. int orderId = 0;
  658. switch (customer.getCustomerIsSolve().intValue()) {
  659. case 3://换新
  660. Renewed renewedInfo = new Renewed();
  661. renewedInfo.setRenewedState(1);
  662. renewedInfo.setCustomerId(customerInfo.getCustomerId());
  663. //查询售后换新详情
  664. renewedInfo = renewedMapper.getRenewedInfo(renewedInfo);
  665. orderId = renewedInfo.getOrderId();
  666. customerCommon = CustomerCommon.getCustomerCommon(3,renewedInfo);
  667. customerCommon = customerService.selectProdcueAndFitting(customerCommon,3);
  668. break;
  669. case 4://维修
  670. Repair repairInfo = new Repair();
  671. repairInfo.setRepairState(1);
  672. repairInfo.setCustomerId(customerInfo.getCustomerId());
  673. //查询售后维修集合
  674. repairInfo = repairMapper.getRepairInfo(repairInfo);
  675. orderId = repairInfo.getOrderId();
  676. customerCommon = CustomerCommon.getCustomerCommon(4,repairInfo);
  677. customerCommon = customerService.selectProdcueAndFitting(customerCommon,4);
  678. break;
  679. case 5://补发
  680. Reissue reissueInfo = new Reissue();
  681. reissueInfo.setReissueState(1);
  682. reissueInfo.setCustomerId(customerInfo.getCustomerId());
  683. //查询售后补发集合
  684. List<Reissue> reissueList = reissueMapper.listReissue(reissueInfo);
  685. if (reissueList == null || reissueList.size() == 0) {
  686. return null;
  687. }
  688. reissueInfo = reissueList.get(0);
  689. orderId = reissueInfo.getOrderId();
  690. customerCommon = CustomerCommon.getCustomerCommon(5,reissueInfo);
  691. customerCommon = customerService.selectProdcueAndFitting(customerCommon,5);
  692. break;
  693. case 6://退货
  694. //查询售后退货集合
  695. BackGoods backGoodsInfo = new BackGoods();
  696. backGoodsInfo.setBackGoodsState(1);
  697. backGoodsInfo.setCustomerId(customerInfo.getCustomerId());
  698. List<BackGoods> backGoodsList = backGoodsMapper.listBackGoods(backGoodsInfo);
  699. if (backGoodsList == null || backGoodsList.size() == 0) {
  700. return null;
  701. }
  702. backGoodsInfo = backGoodsList.get(0);
  703. orderId = backGoodsInfo.getOrderId();
  704. customerCommon = CustomerCommon.getCustomerCommon(6,backGoodsInfo);
  705. customerCommon = customerService.selectProdcueAndFitting(customerCommon,6);
  706. break;
  707. case 7://无理由退货
  708. //查询售后无理由退货集合
  709. NoreasonBack noreasonBackInfo = new NoreasonBack();
  710. noreasonBackInfo.setNoreasonBackState(1);
  711. noreasonBackInfo.setCustomerId(customerInfo.getCustomerId());
  712. List<NoreasonBack> noreasonBackList = noreasonBackMapper.listNoreasonBack(noreasonBackInfo);
  713. if (noreasonBackList == null || noreasonBackList.size() == 0) {
  714. return null;
  715. }
  716. noreasonBackInfo = noreasonBackList.get(0);
  717. orderId = noreasonBackInfo.getOrderId();
  718. customerCommon = CustomerCommon.getCustomerCommon(7,noreasonBackInfo);
  719. customerCommon = customerService.selectProdcueAndFitting(customerCommon,7);
  720. break;
  721. }
  722. SalesOrder salesOrder = new SalesOrder();
  723. salesOrder.setSalesId(orderId);
  724. //查询订单信息
  725. List<SalesOrder> orderList = salesOrderMapper.listSalesOrder(salesOrder);
  726. if (orderList != null && orderList.size() > 0) {
  727. SalesOrder order = orderList.get(0);
  728. SalesOrderItem salesOrderItem = new SalesOrderItem();
  729. salesOrderItem.setItemOrderId(order.getSalesId());
  730. order.setSalesOrderItemList(salesOrderMapper.listSalesOrderItem(salesOrderItem));
  731. map.put("salesOrder",order);
  732. } else {
  733. map.put("salesOrder",null);
  734. }
  735. map.put("customerCommon",customerCommon);
  736. return map;
  737. }
  738. @Override
  739. public CustomerCommon selectProdcueAndFitting(CustomerCommon customerCommon, int isSolve) {
  740. if (customerCommon == null || customerCommon.getRelationId() == null) {
  741. return customerCommon;
  742. }
  743. List<SendProdcue> sendProdcues = null;
  744. List<SendFitting> sendFittings = null;
  745. List<ClosedFitting> closedfittings = null;
  746. List<ClosedProdcue> closedProdcues = null;
  747. SendProdcue sendProdcue = new SendProdcue();
  748. SendFitting sendFitting = new SendFitting();
  749. ClosedFitting fitting = new ClosedFitting();
  750. ClosedProdcue closedProdcue = new ClosedProdcue();
  751. switch (isSolve) {
  752. case 3://换新
  753. sendProdcue.setRelationId(customerCommon.getRelationId());
  754. sendProdcue.setSendProduceType(3);
  755. //查询寄出产品集合
  756. sendProdcues = sendProdcueMapper.listSendProdcue(sendProdcue);
  757. sendFitting.setRelationId(customerCommon.getRelationId());
  758. sendFitting.setSendFittingType(3);
  759. //查询寄出配件集合
  760. sendFittings = sendFittingMapper.listSendFitting(sendFitting);
  761. fitting.setRelationId(customerCommon.getRelationId());
  762. fitting.setClosedFittingType(3);
  763. //查询寄回配件集合
  764. closedfittings = closedFittingMapper.listClosedFitting(fitting);
  765. closedProdcue.setRelationId(customerCommon.getRelationId());
  766. closedProdcue.setClosedProdcueType(3);
  767. //查询寄回产品集合
  768. closedProdcues = closedProdcueMapper.listclosedProdcue(closedProdcue);
  769. break;
  770. case 4://维修
  771. sendProdcue.setRelationId(customerCommon.getRelationId());
  772. sendProdcue.setSendProduceType(4);
  773. //查询寄出产品集合
  774. sendProdcues = sendProdcueMapper.listSendProdcue(sendProdcue);
  775. sendFitting.setRelationId(customerCommon.getRelationId());
  776. sendFitting.setSendFittingType(4);
  777. //查询寄出配件集合
  778. sendFittings = sendFittingMapper.listSendFitting(sendFitting);
  779. fitting.setRelationId(customerCommon.getRelationId());
  780. fitting.setClosedFittingType(4);
  781. //查询寄回配件集合
  782. closedfittings = closedFittingMapper.listClosedFitting(fitting);
  783. closedProdcue.setRelationId(customerCommon.getRelationId());
  784. closedProdcue.setClosedProdcueType(4);
  785. //查询寄回产品集合
  786. closedProdcues = closedProdcueMapper.listclosedProdcue(closedProdcue);
  787. break;
  788. case 5://补发
  789. sendProdcue.setRelationId(customerCommon.getRelationId());
  790. sendProdcue.setSendProduceType(5);
  791. //查询寄出产品集合
  792. sendProdcues = sendProdcueMapper.listSendProdcue(sendProdcue);
  793. sendFitting.setRelationId(customerCommon.getRelationId());
  794. sendFitting.setSendFittingType(5);
  795. //查询寄出配件集合
  796. sendFittings = sendFittingMapper.listSendFitting(sendFitting);
  797. break;
  798. case 6://退货
  799. fitting.setRelationId(customerCommon.getRelationId());
  800. fitting.setClosedFittingType(6);
  801. //查询寄回配件集合
  802. closedfittings = closedFittingMapper.listClosedFitting(fitting);
  803. closedProdcue.setRelationId(customerCommon.getRelationId());
  804. closedProdcue.setClosedProdcueType(6);
  805. //查询寄回产品集合
  806. closedProdcues = closedProdcueMapper.listclosedProdcue(closedProdcue);
  807. break;
  808. case 7://无理由退货
  809. fitting.setRelationId(customerCommon.getRelationId());
  810. fitting.setClosedFittingType(7);
  811. //查询寄回配件集合
  812. closedfittings = closedFittingMapper.listClosedFitting(fitting);
  813. closedProdcue.setRelationId(customerCommon.getRelationId());
  814. closedProdcue.setClosedProdcueType(7);
  815. //查询寄回产品集合
  816. closedProdcues = closedProdcueMapper.listclosedProdcue(closedProdcue);
  817. break;
  818. }
  819. customerCommon.setClosedFittings(closedfittings);
  820. customerCommon.setClosedProdcues(closedProdcues);
  821. customerCommon.setSendProdcues(sendProdcues);
  822. customerCommon.setSendFittings(sendFittings);
  823. return customerCommon;
  824. }
  825. @Override
  826. public BackGoods getBackGoods(BackGoods backGoods) {
  827. //获取退货集合
  828. List<BackGoods> backList = backGoodsMapper.listBackGoods(backGoods);
  829. if (backList == null || backList.size() == 0) {
  830. return null;
  831. }
  832. BackGoods goods = backList.get(0);
  833. ClosedProdcue closedProdcue = new ClosedProdcue();
  834. closedProdcue.setRelationId(goods.getBackGoodsId());
  835. closedProdcue.setClosedProdcueType(6);
  836. //查询寄回产品集合
  837. List<ClosedProdcue> prodcueList = closedProdcueMapper.listclosedProdcue(closedProdcue);
  838. ClosedFitting fitting = new ClosedFitting();
  839. fitting.setRelationId(goods.getBackGoodsId());
  840. fitting.setClosedFittingType(6);
  841. //查询寄回配件集合
  842. List<ClosedFitting> fittingList = closedFittingMapper.listClosedFitting(fitting);
  843. if (prodcueList != null && prodcueList.size() > 0) {
  844. goods.setClosedProdcues(prodcueList);
  845. }
  846. if (fittingList != null && fittingList.size() > 0) {
  847. goods.setClosedFittings(fittingList);
  848. }
  849. return goods;
  850. }
  851. @Override
  852. public NoreasonBack getNoreasonBack(NoreasonBack noreasonBack) {
  853. //获取无理由退货
  854. List<NoreasonBack> backList = noreasonBackMapper.listNoreasonBack(noreasonBack);
  855. if (backList == null || backList.size() == 0) {
  856. return null;
  857. }
  858. NoreasonBack noreasonBackInfo = backList.get(0);
  859. ClosedProdcue closedProdcue = new ClosedProdcue();
  860. closedProdcue.setRelationId(noreasonBackInfo.getNoreasonBackId());
  861. closedProdcue.setClosedProdcueType(7);
  862. //查询寄回产品集合
  863. List<ClosedProdcue> prodcueList = closedProdcueMapper.listclosedProdcue(closedProdcue);
  864. ClosedFitting fitting = new ClosedFitting();
  865. fitting.setRelationId(noreasonBackInfo.getNoreasonBackId());
  866. fitting.setClosedFittingType(7);
  867. //查询寄回配件集合
  868. List<ClosedFitting> fittingList = closedFittingMapper.listClosedFitting(fitting);
  869. if (prodcueList != null && prodcueList.size() > 0) {
  870. noreasonBackInfo.setClosedProdcues(prodcueList);
  871. }
  872. if (fittingList != null && fittingList.size() > 0) {
  873. noreasonBackInfo.setClosedFittings(fittingList);
  874. }
  875. return noreasonBackInfo;
  876. }
  877. @Override
  878. public Reissue getReissue(Reissue reissue) {
  879. //查询售后补发信息
  880. List<Reissue> reissueList = reissueMapper.listReissue(reissue);
  881. if (reissueList == null || reissueList.size() == 0) {
  882. return null;
  883. }
  884. Reissue reissueInfo = reissueList.get(0);
  885. ClosedProdcue closedProdcue = new ClosedProdcue();
  886. closedProdcue.setRelationId(reissueInfo.getReissueId());
  887. closedProdcue.setClosedProdcueType(6);
  888. //查询寄回产品集合
  889. List<ClosedProdcue> prodcueList = closedProdcueMapper.listclosedProdcue(closedProdcue);
  890. ClosedFitting fitting = new ClosedFitting();
  891. fitting.setRelationId(reissueInfo.getReissueId());
  892. fitting.setClosedFittingType(6);
  893. //查询寄回配件集合
  894. List<ClosedFitting> fittingList = closedFittingMapper.listClosedFitting(fitting);
  895. if (prodcueList != null && prodcueList.size() > 0) {
  896. reissueInfo.setClosedProdcues(prodcueList);
  897. }
  898. if (fittingList != null && fittingList.size() > 0) {
  899. reissueInfo.setClosedFittings(fittingList);
  900. }
  901. return reissueInfo;
  902. }
  903. @Override
  904. public Renewed getRenewedInfo(Renewed renewed) {
  905. renewed = renewedMapper.getRenewedInfo(renewed);
  906. if (renewed == null){
  907. return null;
  908. }
  909. ClosedProdcue closedProdcue = new ClosedProdcue();
  910. closedProdcue.setRelationId(renewed.getRenewedId());
  911. closedProdcue.setClosedProdcueType(3);
  912. //查询寄回产品集合
  913. List<ClosedProdcue> prodcueList = closedProdcueMapper.listclosedProdcue(closedProdcue);
  914. ClosedFitting fitting = new ClosedFitting();
  915. fitting.setRelationId(renewed.getRenewedId());
  916. fitting.setClosedFittingType(3);
  917. //查询寄回配件集合
  918. List<ClosedFitting> fittingList = closedFittingMapper.listClosedFitting(fitting);
  919. if (prodcueList != null && prodcueList.size() > 0) {
  920. renewed.setClosedProdcues(prodcueList);
  921. }
  922. if (fittingList != null && fittingList.size() > 0) {
  923. renewed.setClosedFittings(fittingList);
  924. }
  925. return renewed;
  926. }
  927. @Override
  928. public Repair getRepairInfo(Repair repair) {
  929. repair = repairMapper.getRepairInfo(repair);
  930. if (repair == null) {
  931. return null;
  932. }
  933. ClosedProdcue closedProdcue = new ClosedProdcue();
  934. closedProdcue.setRelationId(repair.getRepairId());
  935. closedProdcue.setClosedProdcueType(4);
  936. //查询寄回产品集合
  937. List<ClosedProdcue> prodcueList = closedProdcueMapper.listclosedProdcue(closedProdcue);
  938. ClosedFitting fitting = new ClosedFitting();
  939. fitting.setRelationId(repair.getRepairId());
  940. fitting.setClosedFittingType(4);
  941. //查询寄回配件集合
  942. List<ClosedFitting> fittingList = closedFittingMapper.listClosedFitting(fitting);
  943. if (prodcueList != null && prodcueList.size() > 0) {
  944. repair.setClosedProdcues(prodcueList);
  945. }
  946. if (fittingList != null && fittingList.size() > 0) {
  947. repair.setClosedFittings(fittingList);
  948. }
  949. return repair;
  950. }
  951. }