CustomerServiceImpl.java 48 KB

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