ComplaintDetectInfoServiceImpl.java 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560
  1. package com.iamberry.rst.service.fm;
  2. import com.github.pagehelper.PageHelper;
  3. import com.iamberry.rst.core.cm.CmRelation;
  4. import com.iamberry.rst.core.cm.ProcMethod;
  5. import com.iamberry.rst.core.fm.*;
  6. import com.iamberry.rst.core.page.PageRequest;
  7. import com.iamberry.rst.core.page.PagedResult;
  8. import com.iamberry.rst.core.sys.Admin;
  9. import com.iamberry.rst.faces.fm.ComplaintDetectInfoService;
  10. import com.iamberry.rst.faces.sms.SmsService;
  11. import com.iamberry.rst.service.cm.mapper.CustomerInfoMapper;
  12. import com.iamberry.rst.service.cm.mapper.ProcMethodMapper;
  13. import com.iamberry.rst.service.fm.mapper.ComplaintDetectInfoMapper;
  14. import com.iamberry.rst.service.fm.mapper.ComplaintMaintenanceInfoMapper;
  15. import com.iamberry.rst.util.PageUtil;
  16. import com.iamberry.rst.util.SmsConfig;
  17. import com.iamberry.wechat.core.entity.AdminUtils;
  18. import com.iamberry.wechat.tools.ResponseJson;
  19. import org.slf4j.Logger;
  20. import org.slf4j.LoggerFactory;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.stereotype.Service;
  23. import org.springframework.transaction.annotation.Transactional;
  24. import java.text.MessageFormat;
  25. import java.util.Calendar;
  26. import java.util.Date;
  27. import java.util.List;
  28. import java.util.Objects;
  29. @Service
  30. public class ComplaintDetectInfoServiceImpl implements ComplaintDetectInfoService {
  31. private Logger logger = LoggerFactory.getLogger(ComplaintDetectInfoServiceImpl.class);
  32. @Autowired
  33. private ComplaintDetectInfoMapper complaintDetectInfoMapper;
  34. @Autowired
  35. private CustomerInfoMapper customerInfoMapper;
  36. @Autowired
  37. private ProcMethodMapper procMethodMapper;
  38. @Autowired
  39. private SmsService smsService;
  40. @Override
  41. public ComplaintDetectInfo getDetectById(Integer detectId) {
  42. return complaintDetectInfoMapper.getDetectById(detectId);
  43. }
  44. @Override
  45. @Transactional
  46. public int updateDetectById(ComplaintDetectInfo record) {
  47. try {
  48. //删除旧检测项
  49. complaintDetectInfoMapper.detectDetectionItem(record.getDetectId());
  50. //删除旧维修配件项
  51. complaintDetectInfoMapper.detectMaterialItem(record.getDetectId());
  52. //封装检测信息
  53. //检测现象
  54. if(record.getConfigli1() != null) {
  55. if (record.getConfigli1().length > 0) {
  56. StringBuffer detectPhenomenon = new StringBuffer("");
  57. for (String configid : record.getConfigli1()) {
  58. detectPhenomenon.append(adddetectItem(configid, record.getDetectId()) + ";");
  59. }
  60. record.setDetectPhenomenon(detectPhenomenon.toString());
  61. }
  62. }else{
  63. record.setDetectPhenomenon("");
  64. }
  65. //故障原因
  66. if(record.getConfigli2() != null) {
  67. if (record.getConfigli2().length > 0) {
  68. StringBuffer detectFailureCause = new StringBuffer("");
  69. for (String configid : record.getConfigli2()) {
  70. detectFailureCause.append(adddetectItem(configid, record.getDetectId()) + ";");
  71. }
  72. record.setDetectFailureCause(detectFailureCause.toString());
  73. }
  74. }else{
  75. record.setDetectFailureCause("");
  76. }
  77. //判定结果
  78. if(record.getConfigli3() != null){
  79. if(record.getConfigli3().length > 0){
  80. StringBuffer detectResults = new StringBuffer("");
  81. for (String configid : record.getConfigli3()){
  82. detectResults.append(adddetectItem(configid,record.getDetectId())+";");
  83. }
  84. record.setDetectResults(detectResults.toString());
  85. }
  86. }else{
  87. record.setDetectResults("");
  88. }
  89. //故障指向
  90. if(record.getConfigli4() != null) {
  91. if (record.getConfigli4().length > 0) {
  92. StringBuffer detectPoint = new StringBuffer("");
  93. for (String configid : record.getConfigli4()) {
  94. detectPoint.append(adddetectItem(configid, record.getDetectId()) + ";");
  95. }
  96. record.setDetectPoint(detectPoint.toString());
  97. }
  98. }else{
  99. record.setDetectPoint("");
  100. }
  101. //原因分析
  102. if(record.getConfigli5() != null) {
  103. if (record.getConfigli5().length > 0) {
  104. StringBuffer detectNalysis = new StringBuffer("");
  105. for (String configid : record.getConfigli5()) {
  106. detectNalysis.append(adddetectItem(configid, record.getDetectId()) + ";");
  107. }
  108. record.setDetectNalysis(detectNalysis.toString());
  109. }
  110. }else{
  111. record.setDetectNalysis("");
  112. }
  113. //维修配件
  114. if(record.getConfigli6() != null) {
  115. if (record.getConfigli6().length > 0) {
  116. for (String configid : record.getConfigli6()) {
  117. MaterialNumberInfo materialNumberInfo = complaintDetectInfoMapper.getMaterialNumber(Integer.valueOf(configid));
  118. MaterialItem materialItem = new MaterialItem();
  119. materialItem.setDetectId(record.getDetectId());
  120. materialItem.setMaterialId(Integer.valueOf(configid));
  121. materialItem.setMaterialName(materialNumberInfo.getMaterialName());
  122. complaintDetectInfoMapper.addMaterialItem(materialItem);
  123. }
  124. }
  125. }
  126. }catch (Exception e){
  127. throw new RuntimeException("修改检测失败");
  128. }
  129. return complaintDetectInfoMapper.updateDetectById(record);
  130. }
  131. @Override
  132. @Transactional
  133. public int updateDetectContent(ComplaintDetectInfo record) {
  134. complaintDetectInfoMapper.detectMaterialItem(record.getDetectId());
  135. try {
  136. //维修配件
  137. if(record.getConfigli6() != null) {
  138. if (record.getConfigli6().length > 0) {
  139. for (String configid : record.getConfigli6()) {
  140. MaterialNumberInfo materialNumberInfo = complaintDetectInfoMapper.getMaterialNumber(Integer.valueOf(configid));
  141. MaterialItem materialItem = new MaterialItem();
  142. materialItem.setDetectId(record.getDetectId());
  143. materialItem.setMaterialId(Integer.valueOf(configid));
  144. materialItem.setMaterialName(materialNumberInfo.getMaterialName());
  145. complaintDetectInfoMapper.addMaterialItem(materialItem);
  146. }
  147. }
  148. }
  149. }catch (Exception e){
  150. throw new RuntimeException("修改检测维修内容失败");
  151. }
  152. return complaintDetectInfoMapper.updateDetectById(record);
  153. }
  154. @Override
  155. @Transactional
  156. public int updateDetectQc(ComplaintDetectInfo record) {
  157. //添加日志
  158. QcInfo qcInfo = new QcInfo();
  159. qcInfo.setDetectId(record.getDetectId());
  160. qcInfo.setQcIsThrough(record.getMaintenanceResults());
  161. qcInfo.setQcInfoDesc(record.getQcDesc());
  162. complaintDetectInfoMapper.addQcInfo(qcInfo);
  163. return complaintDetectInfoMapper.updateDetectById(record);
  164. }
  165. @Transactional
  166. @Override
  167. public int updateDetectById(ComplaintDetectInfo record,String[] imgs) {
  168. //判断售后流程
  169. if(record.getCustomerId() == null){
  170. if(record.getDetectRenovation() == 1){
  171. record.setDetectState(20);//待翻新入库
  172. }else{
  173. record.setDetectState(22);//不能翻新,待报废
  174. }
  175. }else{
  176. CmRelation cmRelation = new CmRelation();
  177. cmRelation.setCustomerId(record.getCustomerId());
  178. cmRelation = customerInfoMapper.getCmRelationInfo(cmRelation);
  179. ProcMethod procMethod = procMethodMapper.getProcMethodById(cmRelation.getProcMethodId());
  180. switch (cmRelation.getProcTypeId()){
  181. case 3://维修
  182. if(procMethod.getProcMethodIsCharge() == 0){//待定
  183. if(record.getIsMaintenance() == 1){
  184. record.setDetectState(38);//机器故障,待用户确认
  185. }else if(record.getIsMaintenance() == 2){
  186. record.setDetectState(37);//机器无故障,原机退回
  187. }
  188. }else if(procMethod.getProcMethodIsCharge() == 1){//付费
  189. record.setDetectState(30);//待用户确认
  190. }else if(procMethod.getProcMethodIsCharge() == 2){//免费
  191. record.setDetectState(34);//待客服确认维修
  192. }
  193. break;
  194. default:
  195. String processingResults = "";
  196. String text = "";
  197. if(record.getDetectRenovation() == 1){//是否可翻新 1可翻新 2不可翻新
  198. record.setDetectState(20);//待翻新入库
  199. processingResults = "维修";
  200. }else if(record.getDetectRenovation() == 2){
  201. record.setDetectState(22);//不能翻新,待报废
  202. processingResults = "报废";
  203. }
  204. //查询维修编号
  205. ComplaintDetectInfo info = complaintDetectInfoMapper.getDetectById(record.getDetectId());
  206. //客诉状态为换货或退货时完成检测需要短信通知维修人员
  207. if(cmRelation.getProcTypeId() == 2){//换货
  208. text = MessageFormat.format(SmsConfig.CUSTOMER_EXCHANGE, info.getDetectNumber(),processingResults);
  209. }
  210. if(cmRelation.getProcTypeId() == 4){//退货
  211. text = MessageFormat.format(SmsConfig.CUSTOMER_RETURN, info.getDetectNumber(),processingResults);
  212. }
  213. if(cmRelation.getProcTypeId() == 2 || cmRelation.getProcTypeId() == 4){
  214. String result = smsService.sendOtherCMS(SmsConfig.CUSTOMER_PHONE, text);
  215. logger.info("给 " + SmsConfig.CUSTOMER_PHONE + " 手机用户发送短信:" + text+"发送完成检测结果("+processingResults+"):"+result);
  216. }
  217. }
  218. }
  219. try {
  220. //封装检测信息
  221. //检测现象
  222. if(record.getConfigli1() != null) {
  223. if (record.getConfigli1().length > 0) {
  224. StringBuffer detectPhenomenon = new StringBuffer("");
  225. for (String configid : record.getConfigli1()) {
  226. detectPhenomenon.append(adddetectItem(configid, record.getDetectId()) + ";");
  227. }
  228. record.setDetectPhenomenon(detectPhenomenon.toString());
  229. }
  230. }
  231. //故障原因
  232. if(record.getConfigli2() != null) {
  233. if (record.getConfigli2().length > 0) {
  234. StringBuffer detectFailureCause = new StringBuffer("");
  235. for (String configid : record.getConfigli2()) {
  236. detectFailureCause.append(adddetectItem(configid, record.getDetectId()) + ";");
  237. }
  238. record.setDetectFailureCause(detectFailureCause.toString());
  239. }
  240. }
  241. //判定结果
  242. if(record.getConfigli3() != null){
  243. if(record.getConfigli3().length > 0){
  244. StringBuffer detectResults = new StringBuffer("");
  245. for (String configid : record.getConfigli3()){
  246. detectResults.append(adddetectItem(configid,record.getDetectId())+";");
  247. }
  248. record.setDetectResults(detectResults.toString());
  249. }
  250. }
  251. //故障指向
  252. if(record.getConfigli4() != null) {
  253. if (record.getConfigli4().length > 0) {
  254. StringBuffer detectPoint = new StringBuffer("");
  255. for (String configid : record.getConfigli4()) {
  256. detectPoint.append(adddetectItem(configid, record.getDetectId()) + ";");
  257. }
  258. record.setDetectPoint(detectPoint.toString());
  259. }
  260. }
  261. //原因分析
  262. if(record.getConfigli5() != null) {
  263. if (record.getConfigli5().length > 0) {
  264. StringBuffer detectNalysis = new StringBuffer("");
  265. for (String configid : record.getConfigli5()) {
  266. detectNalysis.append(adddetectItem(configid, record.getDetectId()) + ";");
  267. }
  268. record.setDetectNalysis(detectNalysis.toString());
  269. }
  270. }
  271. if(complaintDetectInfoMapper.updateDetectById(record) > 0){
  272. if(imgs != null){
  273. if(imgs.length > 0){
  274. for(String img : imgs){
  275. ComplaintDetectImg detectImg = new ComplaintDetectImg();
  276. detectImg.setDetectId(record.getDetectId());
  277. detectImg.setDetectImgUrl(img);
  278. complaintDetectInfoMapper.addDetectImg(detectImg);
  279. }
  280. }
  281. }
  282. }
  283. }catch (Exception e){
  284. throw new RuntimeException("完成检测失败");
  285. }
  286. return 1;
  287. }
  288. //添加检测项
  289. public String adddetectItem(String configid,Integer detectId){
  290. DetectionConfig config = complaintDetectInfoMapper.getDetectionConfig(Integer.valueOf(configid));
  291. DetectionItem item = new DetectionItem();
  292. item.setDetectId(detectId);
  293. item.setItemConfigId(config.getConfigId());
  294. item.setItemDetectContent(config.getConfigDetectContent());
  295. complaintDetectInfoMapper.insertItem(item);
  296. return config.getConfigDetectContent();
  297. }
  298. @Override
  299. public PagedResult<ComplaintDetectInfo> listComplaintDetect(PageRequest<ComplaintDetectInfo> pageRequest) {
  300. PageHelper.startPage(pageRequest.getPageNO(), pageRequest.getPageSize(), pageRequest.isPageTotal());
  301. List<ComplaintDetectInfo> detectList = complaintDetectInfoMapper.listComplaintDetect(pageRequest.getData());
  302. return PageUtil.getPage(detectList);
  303. }
  304. @Override
  305. public int insert(ComplaintDetectInfo record) {
  306. return complaintDetectInfoMapper.insert(record);
  307. }
  308. @Override
  309. public int deleteDetect(Integer detectId) {
  310. return complaintDetectInfoMapper.deleteDetect(detectId);
  311. }
  312. @Override
  313. public List<DetectionBasis> listDetectionBasis(DetectionBasis detectionBasis) {
  314. return complaintDetectInfoMapper.listDetectionBasis(detectionBasis);
  315. }
  316. @Override
  317. public int addDetectImg(ComplaintDetectImg complaintDetectImg) {
  318. return complaintDetectInfoMapper.addDetectImg(complaintDetectImg);
  319. }
  320. @Override
  321. public List<ComplaintDetectInfo> listComplaintDetect(ComplaintDetectInfo detectInfo) {
  322. return complaintDetectInfoMapper.listComplaintDetect(detectInfo);
  323. }
  324. @Transactional
  325. @Override
  326. public boolean customerConfirm(ComplaintDetectInfo detectInfo,Admin admin) {
  327. ComplaintDetectInfo detect = complaintDetectInfoMapper.getDetectById(detectInfo.getDetectId());
  328. /*ProcMethod procMethod = procMethodMapper.getProcMethodById(detectInfo.getProcMethodId());*/
  329. //计算待维修完成时间
  330. Calendar date = Calendar.getInstance();
  331. date.setTime(new Date());
  332. boolean fl = false;
  333. for (int i = 1 ; i <= 5; i++){
  334. date.set(Calendar.DATE, date.get(Calendar.DATE) + i);
  335. int week = date.get(Calendar.DAY_OF_WEEK);//1--7的值,对应:星期日,星期一,星期二,星期三....星期六
  336. if(week == 1){
  337. fl = true;
  338. }
  339. date.set(Calendar.DATE, date.get(Calendar.DATE) - i);
  340. }
  341. if(fl){
  342. date.set(Calendar.DATE, date.get(Calendar.DATE) + 6);
  343. }else{
  344. date.set(Calendar.DATE, date.get(Calendar.DATE) + 5);
  345. }
  346. switch (detectInfo.getDetectState()){
  347. case 30:
  348. if(detectInfo.getDetectProcessingResults() == 1){//付费维修
  349. detectInfo.setDetectState(31);//同意付费维修
  350. detectInfo.setCompleteCutTime(date.getTime());
  351. }
  352. if(detectInfo.getDetectProcessingResults() == 3 || detectInfo.getDetectProcessingResults() == 4){//退货、换货
  353. if(detect.getDetectRenovation() == 1){
  354. detectInfo.setDetectState(20);//待翻新
  355. }else{
  356. detectInfo.setDetectState(22);//待报废
  357. }
  358. }
  359. if(detectInfo.getDetectProcessingResults() == 5){//原机退回
  360. detectInfo.setDetectState(33);//
  361. }
  362. break;
  363. case 34:
  364. detectInfo.setDetectState(35);
  365. detectInfo.setCompleteCutTime(date.getTime());
  366. break;
  367. case 38:
  368. if(detectInfo.getDetectProcessingResults() == 1){//付费维修
  369. detectInfo.setDetectState(31);//同意付费维修
  370. detectInfo.setCompleteCutTime(date.getTime());
  371. }
  372. if(detectInfo.getDetectProcessingResults() == 2){//免费维修
  373. detectInfo.setDetectState(35);//同意免费维修
  374. detectInfo.setCompleteCutTime(date.getTime());
  375. }
  376. if(detectInfo.getDetectProcessingResults() == 3 || detectInfo.getDetectProcessingResults() == 4){//退货、换货
  377. if(detect.getDetectRenovation() == 1){
  378. detectInfo.setDetectState(20);//待翻新
  379. }else{
  380. detectInfo.setDetectState(22);//待报废
  381. }
  382. }
  383. if(detectInfo.getDetectProcessingResults() == 5){//原机退回
  384. detectInfo.setDetectState(37);//原机退回
  385. }
  386. break;
  387. }
  388. try {
  389. if(complaintDetectInfoMapper.updateDetectById(detectInfo) > 0){
  390. if(detectInfo.getProcMethodId() != null && !"".equals(detectInfo.getProcMethodId())){
  391. CmRelation cmRelation = new CmRelation();
  392. cmRelation.setCustomerId(detectInfo.getCustomerId());
  393. cmRelation.setProcMethodId(detectInfo.getProcMethodId());
  394. if(customerInfoMapper.updateCmRelationProcMethod(cmRelation) > 0){
  395. return true;
  396. }
  397. }
  398. //添加客服操作记录
  399. TreatmentRecordLog log = new TreatmentRecordLog();
  400. log.setDetectId(detectInfo.getDetectId());
  401. log.setRecordAdminId(admin.getAdminId());
  402. log.setRecordDesc(detectInfo.getDetectCustomerDesc());
  403. log.setRecordProcessingResults(detectInfo.getDetectProcessingResults());
  404. complaintDetectInfoMapper.addTreatmentRecordLog(log);
  405. //发送确认短信
  406. String results = "";
  407. switch (detectInfo.getDetectProcessingResults()){
  408. case 1:
  409. results = "付费维修";
  410. break;
  411. case 2:
  412. results = "免费维修";
  413. break;
  414. case 3:
  415. results = "退货";
  416. break;
  417. case 4:
  418. results = "换货";
  419. break;
  420. case 5:
  421. results = "原机退回";
  422. break;
  423. }
  424. String text = MessageFormat.format(SmsConfig.CUSTOMER_CONFIRM, detect.getDetectNumber(),results);
  425. String result = smsService.sendOtherCMS(SmsConfig.CUSTOMER_PHONE, text);
  426. logger.info("给 " + SmsConfig.CUSTOMER_PHONE + " 手机用户发送短信:" + text+"发送结果:"+result);
  427. return true;
  428. }
  429. }catch (Exception e){
  430. throw new RuntimeException("确认处理失败");
  431. }
  432. return false;
  433. }
  434. @Override
  435. public List<ComplaintDetectImg> listDetectImg(Integer detectId) {
  436. return complaintDetectInfoMapper.listDetectImg(detectId);
  437. }
  438. @Override
  439. public Integer getDetectNum() {
  440. return complaintDetectInfoMapper.getDetectNum();
  441. }
  442. @Override
  443. public List<MaterialNumberInfo> listMaterialNumber() {
  444. return complaintDetectInfoMapper.listMaterialNumber();
  445. }
  446. @Override
  447. public List<DetectionConfig> listDetectionConfig(Integer configType) {
  448. return complaintDetectInfoMapper.listDetectionConfig(configType);
  449. }
  450. @Override
  451. public DetectionConfig getDetectionConfig(Integer configId) {
  452. return complaintDetectInfoMapper.getDetectionConfig(configId);
  453. }
  454. @Override
  455. public Integer insertItem(DetectionItem detectionItem) {
  456. return complaintDetectInfoMapper.insertItem(detectionItem);
  457. }
  458. @Override
  459. public List<DetectionItem> listDetectionItem(DetectionItem detectionItem) {
  460. return complaintDetectInfoMapper.listDetectionItem(detectionItem);
  461. }
  462. @Override
  463. public Integer detectDetectionItem(Integer detectId) {
  464. return complaintDetectInfoMapper.detectDetectionItem(detectId);
  465. }
  466. @Override
  467. public MaterialNumberInfo getMaterialNumber(Integer materialId) {
  468. return complaintDetectInfoMapper.getMaterialNumber(materialId);
  469. }
  470. @Override
  471. public Integer addMaterialItem(MaterialItem materialItem) {
  472. return complaintDetectInfoMapper.addMaterialItem(materialItem);
  473. }
  474. @Override
  475. public List<MaterialItem> listMaterialItem(Integer detectId) {
  476. return complaintDetectInfoMapper.listMaterialItem(detectId);
  477. }
  478. @Override
  479. public Integer detectMaterialItem(Integer detectId) {
  480. return complaintDetectInfoMapper.detectMaterialItem(detectId);
  481. }
  482. @Override
  483. public Integer addQcInfo(QcInfo qcInfo) {
  484. return complaintDetectInfoMapper.addQcInfo(qcInfo);
  485. }
  486. @Override
  487. public List<QcInfo> listQcInfo(Integer detectId) {
  488. return complaintDetectInfoMapper.listQcInfo(detectId);
  489. }
  490. @Override
  491. public Integer addTreatmentRecordLog(TreatmentRecordLog treatmentRecordLog) {
  492. return complaintDetectInfoMapper.addTreatmentRecordLog(treatmentRecordLog);
  493. }
  494. @Override
  495. public List<TreatmentRecordLog> listTreatmentRecordLog(Integer detectId) {
  496. return complaintDetectInfoMapper.listTreatmentRecordLog(detectId);
  497. }
  498. @Override
  499. public ComplaintAfterSalesNum getCustomerDetectNum(ComplaintDetectInfo detect) {
  500. return complaintDetectInfoMapper.getCustomerDetectNum(detect);
  501. }
  502. @Override
  503. public Integer updatePrint(ComplaintDetectInfo detectInfo) {
  504. ComplaintDetectInfo cdi = complaintDetectInfoMapper.getDetectByIdFast(detectInfo.getDetectId());
  505. if(!Objects.equals(cdi.getDetectState(), detectInfo.getDetectState())){ //修改状态时判断状态,来调整库存
  506. switch (detectInfo.getDetectState()){ //detectState
  507. case 23:
  508. break;
  509. default:
  510. break;
  511. }
  512. }
  513. return complaintDetectInfoMapper.updateDetectById(detectInfo);
  514. }
  515. @Override
  516. public List<ComplaintDetectInfo> listDetectByCustomerId(Integer customerId) {
  517. return complaintDetectInfoMapper.listDetectByCustomerId(customerId);
  518. }
  519. @Override
  520. public List<ComplaintDetectInfo> listComplaintDetectBySalesId(Integer detectSalesId) {
  521. return complaintDetectInfoMapper.listComplaintDetectBySalesId(detectSalesId);
  522. }
  523. }