AdminOrderApiController.java 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736
  1. package com.goafanti.order.controller;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import javax.annotation.Resource;
  5. import javax.servlet.http.HttpServletRequest;
  6. import org.apache.commons.lang3.StringUtils;
  7. import org.springframework.web.bind.annotation.RequestMapping;
  8. import org.springframework.web.bind.annotation.RequestMethod;
  9. import org.springframework.web.bind.annotation.RestController;
  10. import com.alibaba.fastjson.JSON;
  11. import com.alibaba.fastjson.JSONArray;
  12. import com.goafanti.business.service.BusinessProjectService;
  13. import com.goafanti.common.bo.Result;
  14. import com.goafanti.common.constant.AFTConstants;
  15. import com.goafanti.common.constant.ErrorConstants;
  16. import com.goafanti.common.controller.CertifyApiController;
  17. import com.goafanti.core.shiro.token.TokenManager;
  18. import com.goafanti.customer.bo.BusinessListBo;
  19. import com.goafanti.customer.bo.FollowBusinessBo;
  20. import com.goafanti.order.bo.OrderListBo;
  21. import com.goafanti.order.enums.AuditState;
  22. import com.goafanti.order.enums.CommodityType;
  23. import com.goafanti.order.service.OrderService;
  24. @RestController
  25. @RequestMapping(value = "/api/admin/order")
  26. public class AdminOrderApiController extends CertifyApiController {
  27. @Resource
  28. private OrderService orderServiceImpl;
  29. @Resource
  30. private BusinessProjectService businessProjectServiceImpl;
  31. /**
  32. * 我的服务订单
  33. * @return
  34. */
  35. @RequestMapping(value="/listServiceOrder" ,method = RequestMethod.POST)
  36. public Result listServiceOrder(OrderListBo bo,String startDate,String endDate,Integer intention,Integer formal,
  37. Integer pageNo, Integer pageSize){
  38. Result res = new Result();
  39. res.setData(orderServiceImpl.selectServiceOrder(bo, startDate, endDate, intention, formal, pageNo, pageSize));
  40. return res;
  41. }
  42. /**
  43. * 订单详细
  44. * @param orderNo
  45. * @return
  46. */
  47. @RequestMapping(value = "/serviceOrderDetail",method = RequestMethod.GET)
  48. public Result serviceOrderDetail(String orderNo){
  49. Result res = new Result();
  50. if(StringUtils.isBlank(orderNo)){
  51. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "订单编号"));
  52. return res;
  53. }
  54. res.setData(orderServiceImpl.selectServiceOrderDetail(orderNo));
  55. return res;
  56. }
  57. /**
  58. * 修改订单
  59. * @param orderNo
  60. * @param firstPayment
  61. * @param orderAmount
  62. * @param signFirstPayment
  63. * @param signTotalAmount
  64. * @param approval
  65. * @param orderRemarks
  66. * @return
  67. */
  68. @RequestMapping(value = "/updateServiceOrder",method = RequestMethod.POST)
  69. public Result updateServiceOrder(String orderNo,String signFirstPayment,String signTotalAmount,
  70. String contractNo,String orderRemarks,String contractPictureUrl){
  71. Result res = new Result();
  72. if(StringUtils.isBlank(orderNo)){
  73. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "订单编号"));
  74. return res;
  75. }
  76. if(StringUtils.isBlank(signFirstPayment) || StringUtils.isBlank(signTotalAmount)){
  77. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "订单金额 和 首付金额"));
  78. return res;
  79. }
  80. /*if(StringUtils.isBlank(contractPictureUrl)){
  81. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "合同图片"));
  82. return res;
  83. }*/
  84. orderServiceImpl.updateServiceOrder(orderNo,signFirstPayment,signTotalAmount,contractNo,
  85. orderRemarks,contractPictureUrl);
  86. return res;
  87. }
  88. /**
  89. * 签单
  90. * @param orderNo
  91. * @param signFirstPayment
  92. * @param signTotalAmount
  93. * @param approval
  94. * @param orderRemarks
  95. * @return
  96. */
  97. @RequestMapping(value = "/signServiceOrder", method = RequestMethod.POST)
  98. public Result signServiceOrder(String orderNo,String contractNo,String signFirstPayment,String signTotalAmount,
  99. String approval,String orderRemarks,String signTime,String contractPictureUrl,String userBusinessList,String uid){
  100. Result res = new Result();
  101. if(StringUtils.isBlank(orderNo)){
  102. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "订单编号", "订单编号"));
  103. return res;
  104. }
  105. if(StringUtils.isBlank(signFirstPayment) || StringUtils.isBlank(signTotalAmount)){
  106. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "订单金额 和 首付金额", "订单金额 和 首付金额"));
  107. return res;
  108. }
  109. if(null == approval){
  110. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "特批状态", "特批状态"));
  111. return res;
  112. }
  113. if(StringUtils.isBlank(contractPictureUrl)){
  114. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "合同图片", "合同图片"));
  115. return res;
  116. }
  117. if(StringUtils.isBlank(uid)/* || StringUtils.isBlank(ocbId)*/){
  118. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, ""));
  119. return res;
  120. }
  121. orderServiceImpl.updateSignServiceOrder(orderNo,contractNo,signFirstPayment,signTotalAmount,approval,orderRemarks,signTime);
  122. //自动把签单任务标记成已签单
  123. JSONArray ja = (JSONArray) JSON.parse(userBusinessList);
  124. List<BusinessListBo> list = new ArrayList<BusinessListBo>();
  125. if (ja != null && !ja.isEmpty()) {
  126. BusinessListBo userBusiness = null;
  127. for (int idx = 0; idx < ja.size(); idx++) {
  128. userBusiness = ja.getJSONObject(idx).toJavaObject(BusinessListBo.class);
  129. list.add(userBusiness);
  130. }
  131. }
  132. FollowBusinessBo fbb = new FollowBusinessBo();
  133. //fbb.setOcbId(ocbId);
  134. fbb.setUid(uid);
  135. fbb.setContactType(AFTConstants.DEFAULT_CONTACT_TYPE);
  136. fbb.setResult(AFTConstants.DEFAULT_RESULT);
  137. fbb.setUserBusinessList(list);
  138. orderServiceImpl.addBusinessProjectId(fbb);
  139. return res;
  140. }
  141. /**
  142. * 订单详情
  143. * @param orderNo
  144. * @return
  145. */
  146. @RequestMapping(value = "/getServiceOrderDetail", method = RequestMethod.GET)
  147. public Result getServiceOrderDetail(String orderNo){
  148. Result res = new Result();
  149. if(StringUtils.isBlank(orderNo)){
  150. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "订单编号"));
  151. return res;
  152. }
  153. res.setData(orderServiceImpl.selectServiceOrderDetail(orderNo));
  154. return res;
  155. }
  156. /**
  157. * 确认意向
  158. * @param orderNo
  159. * @param confirm
  160. * @return
  161. */
  162. @RequestMapping(value="/confirmIntention", method = RequestMethod.POST)
  163. public Result confirmIntention(String orderNo,boolean confirm){
  164. Result res = new Result();
  165. if(StringUtils.isBlank(orderNo)){
  166. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  167. return res;
  168. }
  169. orderServiceImpl.updateConfirmIntention(orderNo,confirm);
  170. return res;
  171. }
  172. /**
  173. * 作废订单
  174. * @param orderNo
  175. * @return
  176. */
  177. @RequestMapping(value = "/revokeOrder", method = RequestMethod.GET)
  178. public Result revokeOrder(String orderNo){
  179. Result res = new Result();
  180. if(StringUtils.isBlank(orderNo)){
  181. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  182. return res;
  183. }
  184. orderServiceImpl.updateRevokeOrder(orderNo);
  185. return res;
  186. }
  187. /**
  188. * 模糊查询业务项目
  189. * @param businessName
  190. * @return
  191. */
  192. @RequestMapping(value = "/getBusinessProjectByName", method = RequestMethod.GET)
  193. public Result getBusinessProjectByName(String businessName,String cid){
  194. Result res = new Result();
  195. res.setData(businessProjectServiceImpl.selectBusinessProjectByName(businessName,cid));
  196. return res;
  197. }
  198. /**
  199. * 查询业务项目分类
  200. * @return
  201. */
  202. @RequestMapping(value="/getBusinessProjectCatalog",method = RequestMethod.GET)
  203. public Result getBusinessProjectCatalog(){
  204. Result res = new Result();
  205. res.setData(businessProjectServiceImpl.selectBusinessProjectCatalog());
  206. return res;
  207. }
  208. /**
  209. * 获取订单商品信息
  210. * @param orderNo
  211. * @return
  212. */
  213. @RequestMapping(value = "/getOrderCommodity",method = RequestMethod.GET)
  214. public Result getOrderCommodity(String orderNo){
  215. Result res = new Result();
  216. res.setData(orderServiceImpl.selectOrderCommodity(orderNo));
  217. return res;
  218. }
  219. /**
  220. * 添加订单商品
  221. * @param orderNo
  222. * @param commodityId
  223. * @param commodityMode
  224. * @param commodityQuantity
  225. * @param commodityType
  226. * @param discountPrice
  227. * @param remarks
  228. * @return
  229. */
  230. @RequestMapping(value = "/addOrderCommodity",method = RequestMethod.POST)
  231. public Result addOrderCommodity(String orderNo, String commodityId, String commodityName,String commodityMode, Integer commodityQuantity,Integer commodityType,
  232. String commodityPrice, String discountPrice,String commodityFirstPayment,String discountFirstPayment,String remarks){
  233. Result res = new Result();
  234. if(StringUtils.isBlank(orderNo)){
  235. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  236. return res;
  237. }
  238. orderServiceImpl.addOrderCommodity(orderNo,commodityId,commodityName,commodityMode,commodityQuantity,commodityType,
  239. commodityPrice,discountPrice,commodityFirstPayment,discountFirstPayment,remarks);
  240. return res;
  241. }
  242. /**
  243. * 进入修改商品信息
  244. * @param id
  245. * @return
  246. */
  247. @RequestMapping(value = "/toUpdateOrderCommodity",method = RequestMethod.GET)
  248. public Result toUpdateOrderCommodity(String id){
  249. Result res = new Result();
  250. if(StringUtils.isBlank(id)){
  251. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","明细ID"));
  252. return res;
  253. }
  254. return res;
  255. }
  256. /**
  257. * 修改订单商品
  258. * @param detailId
  259. * @param orderNo
  260. * @param discountPrice
  261. * @param discountFirstPayment
  262. * @param commodityQuantity
  263. * @param remarks
  264. * @return
  265. */
  266. @RequestMapping(value = "/updateOrderCommodity", method = RequestMethod.POST)
  267. public Result updateOrderCommodity(String detailId,String discountPrice,String discountFirstPayment,Integer commodityQuantity,String remarks){
  268. Result res = new Result();
  269. if(StringUtils.isBlank(detailId)){
  270. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","详情编号"));
  271. return res;
  272. }
  273. orderServiceImpl.updateOrderCommodity(detailId,discountPrice, discountFirstPayment,commodityQuantity, remarks);
  274. return res;
  275. }
  276. /**
  277. * 删除订单商品
  278. * @param detailId
  279. * @return
  280. */
  281. @RequestMapping(value = "/deleteOrderCommodity",method = RequestMethod.GET)
  282. public Result deleteOrderCommodity(String detailId){
  283. Result res = new Result();
  284. if(StringUtils.isBlank(detailId)){
  285. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","详情编号"));
  286. return res;
  287. }
  288. orderServiceImpl.deleteOrderCommodity(detailId);
  289. return res;
  290. }
  291. /**
  292. * 查询分管部门
  293. * @return
  294. */
  295. @RequestMapping(value = "/selectMyDeps")
  296. public Result selectMyDeps(){
  297. Result res = new Result();
  298. res.setData(orderServiceImpl.selectMyDeps());
  299. return res;
  300. }
  301. /**
  302. * 部门服务订单
  303. * @return
  304. */
  305. @RequestMapping(value="/listDepServiceOrder" ,method = RequestMethod.POST)
  306. public Result listDepServiceOrder(OrderListBo bo,String startDate,String endDate,Integer intention,Integer formal,
  307. String depIds,Integer pageNo, Integer pageSize){
  308. Result res = new Result();
  309. res.setData(orderServiceImpl.selectDepServiceOrder(bo, startDate, endDate, intention, formal, depIds, pageNo, pageSize));
  310. return res;
  311. }
  312. /**
  313. * 查询特批订单
  314. * @return
  315. */
  316. @RequestMapping(value="/listApprovalServiceOrder" ,method = RequestMethod.POST)
  317. public Result listApprovalServiceOrder(OrderListBo bo,String startDate,String endDate,
  318. String depIds,Integer approvalHistory,Integer pageNo, Integer pageSize){
  319. Result res = new Result();
  320. res.setData(orderServiceImpl.selectApprovalServiceOrder(bo, startDate, endDate, depIds, approvalHistory, pageNo, pageSize));
  321. return res;
  322. }
  323. /**
  324. * 审批特批订单
  325. * @param orderNo
  326. * @return
  327. */
  328. @RequestMapping(value = "/approvalServiceOrder",method = RequestMethod.GET)
  329. public Result approvalServiceOrder(String orderNo,Integer confirm){
  330. Result res = new Result();
  331. orderServiceImpl.updateApprovalServiceOrder(orderNo,confirm);
  332. return res;
  333. }
  334. /** 图片上传 **/
  335. @RequestMapping(value = "/uploadOrderImg", method = RequestMethod.POST)
  336. public Result uploadOrderImg(HttpServletRequest req,String sign){
  337. Result res = new Result();
  338. res.setData(handleFile(res, "/order_file/", false, req, sign));
  339. return res;
  340. }
  341. /** 查询公共订单 **/
  342. @RequestMapping(value = "/listPublicOrder", method = RequestMethod.POST)
  343. public Result listPublicOrder(OrderListBo bo,String startDate,String endDate,Integer pageNo, Integer pageSize){
  344. Result res = new Result();
  345. res.setData(orderServiceImpl.selectPublicOrder(bo,startDate,endDate,pageNo,pageSize));
  346. return res;
  347. }
  348. /** 分配订单到营销员 **/
  349. @RequestMapping(value = "/appointSalesman", method = RequestMethod.GET)
  350. public Result appointSalesman(String orderNo,String salesmanId){
  351. Result res = new Result();
  352. if(StringUtils.isBlank(orderNo)){
  353. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  354. return res;
  355. }
  356. if(StringUtils.isBlank(salesmanId)){
  357. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","指定人员编号"));
  358. return res;
  359. }
  360. orderServiceImpl.updateAppointSalesman(orderNo, salesmanId);
  361. return res;
  362. }
  363. /** 我的结算查询 **/
  364. @RequestMapping(value = "/listMySettlement", method = RequestMethod.POST)
  365. public Result listMySettlement(String orderNo, String depId,String buyerName,String salesmanName, String financeName,
  366. Integer orderStatus,Integer liquidationStatus,Integer approval,String startDate,
  367. String endDate,Integer pageNo, Integer pageSize){
  368. Result res = new Result();
  369. res.setData(orderServiceImpl.selectSettlementList(orderNo, depId, buyerName, salesmanName,
  370. TokenManager.getAdminId(), financeName, orderStatus, liquidationStatus, approval,null,startDate,endDate, pageNo, pageSize));
  371. return res;
  372. }
  373. /** 结算订单管理 **/
  374. @RequestMapping(value = "/listAllSettlement", method = RequestMethod.POST)
  375. public Result listAllSettlement(String orderNo, String depId,String buyerName,String salesmanName, String financeName,
  376. Integer orderStatus,Integer liquidationStatus,Integer approval,Integer isDistributionFinance,String startDate,String endDate,
  377. Integer pageNo, Integer pageSize){
  378. Result res = new Result();
  379. res.setData(orderServiceImpl.selectSettlementList(orderNo, depId, buyerName, salesmanName,
  380. "", financeName, orderStatus, liquidationStatus, approval,isDistributionFinance, startDate,endDate, pageNo, pageSize));
  381. return res;
  382. }
  383. /** 我的订单流水管理 **/
  384. @RequestMapping(value = "/listMyBill", method = RequestMethod.POST)
  385. public Result selectMyBillList(String payeeName, String payerName, String depId,
  386. String salesmanName,String orderNo, Integer confirmSign,Integer deleteSign,Integer pageNo, Integer pageSize){
  387. Result res = new Result();
  388. res.setData(orderServiceImpl.selectMyBillList(payeeName, payerName, depId, salesmanName,orderNo,
  389. confirmSign, deleteSign, pageNo, pageSize));
  390. return res;
  391. }
  392. /** 我的订单流水查询 **/
  393. @RequestMapping(value = "/queryMyBill", method = RequestMethod.POST)
  394. public Result queryMyBillList(String payeeName, String payerName, String depId,
  395. String salesmanName,String orderNo, Integer confirmSign,Integer deleteSign,Integer pageNo, Integer pageSize){
  396. Result res = new Result();
  397. res.setData(orderServiceImpl.queryMyBillList(payeeName, payerName, depId, salesmanName,orderNo,
  398. confirmSign, deleteSign, pageNo, pageSize));
  399. return res;
  400. }
  401. /** 所有订单流水查询 **/
  402. @RequestMapping(value = "/queryAllBill", method = RequestMethod.POST)
  403. public Result queryAllBill(String payeeName, String payerName, String depId,
  404. String salesmanName,String financeName,String orderNo, Integer confirmSign,Integer deleteSign, Integer pageNo, Integer pageSize){
  405. Result res = new Result();
  406. res.setData(orderServiceImpl.queryAllBillList(payeeName, payerName, depId, salesmanName,financeName, orderNo,confirmSign,deleteSign, pageNo, pageSize));
  407. return res;
  408. }
  409. /** 查询流水详情 **/
  410. @RequestMapping(value = "/selectBillDetail", method = RequestMethod.GET)
  411. public Result selectBillDetail(String billNo){
  412. Result res = new Result();
  413. if(StringUtils.isBlank(billNo)){
  414. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","流水编号"));
  415. return res;
  416. }
  417. res.setData(orderServiceImpl.selectBillDetail(billNo));
  418. return res;
  419. }
  420. /**
  421. * 订单流水确认
  422. * @param billNo
  423. * @param orderNo
  424. * @param confirm
  425. * @param financialPayNo
  426. * @param financialPayTime
  427. * @param remarks
  428. * @return
  429. */
  430. @RequestMapping(value = "/confrimBill", method = RequestMethod.POST)
  431. public Result confrimBill(String billNo,String orderNo,Integer confirm,String financialPayNo,String financialPayTime,String remarks){
  432. Result res = new Result();
  433. if(StringUtils.isBlank(billNo)){
  434. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","流水编号"));
  435. return res;
  436. }
  437. if(StringUtils.isBlank(orderNo)){
  438. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  439. return res;
  440. }
  441. if(null == confirm){
  442. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","确认状态"));
  443. return res;
  444. }else if(confirm == AuditState.AUDIT_SUCCESS.getCode()){
  445. if(StringUtils.isBlank(financialPayTime)){
  446. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","财务流水时间"));
  447. return res;
  448. }
  449. }
  450. orderServiceImpl.updateBill(billNo,orderNo,confirm,financialPayNo,financialPayTime,remarks);
  451. return res;
  452. }
  453. /**
  454. * 修改流水
  455. * @param billNo
  456. * @param financialPayNo
  457. * @param financialPayTime
  458. * @param remarks
  459. * @return
  460. */
  461. @RequestMapping(value = "/updateBill", method = RequestMethod.POST)
  462. public Result updateBill(String billNo,String orderNo, String financialPayNo, String financialPayTime, String remarks){
  463. Result res = new Result();
  464. if(StringUtils.isBlank(billNo)){
  465. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","流水编号"));
  466. return res;
  467. }
  468. if(StringUtils.isBlank(financialPayNo) || StringUtils.isBlank(financialPayTime)){
  469. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","财务流水号和财务流水时间"));
  470. return res;
  471. }
  472. orderServiceImpl.updateBill(billNo, orderNo,financialPayNo, financialPayTime, remarks);
  473. return res;
  474. }
  475. /**
  476. * 订单支付(测试用)
  477. * @return
  478. */
  479. @RequestMapping(value = "/testPay",method = RequestMethod.POST)
  480. public Result testPay(String orderNo,String payAmount){
  481. Result res = new Result();
  482. if(StringUtils.isBlank(orderNo) || StringUtils.isBlank(payAmount)){
  483. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号和支付金额"));
  484. return res;
  485. }
  486. orderServiceImpl.updatePayForTest(orderNo, payAmount);
  487. return res;
  488. }
  489. /**
  490. * 订单退款(测试用)
  491. * @param orderNo
  492. * @param refundAmount
  493. * @return
  494. */
  495. @RequestMapping(value = "/testRefund",method = RequestMethod.POST)
  496. public Result testRefund(String orderNo,String refundAmount){
  497. Result res = new Result();
  498. if(StringUtils.isBlank(orderNo) || StringUtils.isBlank(refundAmount)){
  499. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号和退款金额"));
  500. return res;
  501. }
  502. orderServiceImpl.updateRefundForTest(orderNo, refundAmount);
  503. return res;
  504. }
  505. /**
  506. * 派单
  507. * @param orderNo
  508. * @param financeId
  509. * @return
  510. */
  511. @RequestMapping(value = "/distributionOrder",method = RequestMethod.POST)
  512. public Result distributionOrder(String orderNo,String financeId){
  513. Result res = new Result();
  514. if(StringUtils.isBlank(orderNo) || StringUtils.isBlank(financeId)){
  515. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号和指定负责人"));
  516. return res;
  517. }
  518. orderServiceImpl.updateDistributionOrder(orderNo,financeId);
  519. return res;
  520. }
  521. /**
  522. * 解锁、锁定、作废
  523. * @param operatorType
  524. * @param orderNo
  525. * @return
  526. */
  527. @RequestMapping(value = "/lockOrRevokeOrder",method = RequestMethod.GET)
  528. public Result lockOrRevokeOrder(String orderNo,Integer operatorType){
  529. Result res = new Result();
  530. if(StringUtils.isBlank(orderNo) || operatorType == null){
  531. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号和操作类型"));
  532. return res;
  533. }
  534. orderServiceImpl.updateLockOrRevokeOrder(orderNo,operatorType);
  535. return res;
  536. }
  537. /**
  538. * 查询单笔订单流水
  539. * @param orderNo
  540. * @return
  541. */
  542. @RequestMapping(value= "/getBillByOrderNo", method = RequestMethod.GET)
  543. public Result getBillByOrderNo(String orderNo){
  544. Result res = new Result();
  545. if(StringUtils.isBlank(orderNo)){
  546. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  547. return res;
  548. }
  549. res.setData(orderServiceImpl.selectBillByOrderNo(orderNo));
  550. return res;
  551. }
  552. /**
  553. * 确认退款
  554. * @param orderNo
  555. * @param confirm
  556. * @return
  557. */
  558. @RequestMapping(value = "/confirmRefund", method = RequestMethod.GET)
  559. public Result confirmRefund(String orderNo,boolean confirm){
  560. Result res = new Result();
  561. if(StringUtils.isBlank(orderNo)){
  562. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  563. return res;
  564. }
  565. orderServiceImpl.updateConfirmRefund(orderNo,confirm);
  566. return res;
  567. }
  568. /**
  569. * 转交订单
  570. * @param orderNo
  571. * @param aid
  572. * @param targetType
  573. * @return
  574. */
  575. @RequestMapping(value = "/transferOrder", method = RequestMethod.POST)
  576. public Result transferOrder(String orderNo,String aid,Integer targetType){
  577. Result res = new Result();
  578. if(StringUtils.isBlank(orderNo)){
  579. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  580. return res;
  581. }
  582. if(StringUtils.isBlank(aid)){
  583. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","转交人 ID"));
  584. return res;
  585. }
  586. if(null == targetType){
  587. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","转交类型"));
  588. return res;
  589. }
  590. orderServiceImpl.updateTransferOrder(orderNo, aid, targetType);
  591. return res;
  592. }
  593. /**
  594. * 发起订单变更(作废)
  595. * @param orderNo
  596. * @param changeComment
  597. * @return
  598. */
  599. @RequestMapping(value = "/addOrderChange",method = RequestMethod.POST)
  600. public Result addOrderChange(String orderNo,String changeComment,String taskList,String dunList){
  601. Result res = new Result();
  602. //此订单变更为原订单变更已经确定不再使用。
  603. if(StringUtils.isBlank(orderNo)){
  604. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  605. return res;
  606. }
  607. if(StringUtils.isBlank(changeComment)){
  608. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","变更说明"));
  609. return res;
  610. }
  611. orderServiceImpl.addOrderChange(orderNo,changeComment,taskList,dunList);
  612. return res;
  613. }
  614. /**
  615. * 查看变更记录
  616. * @param orderNo
  617. * @return
  618. */
  619. @RequestMapping(value = "/viewOrderChange",method = RequestMethod.GET)
  620. public Result viewOrderChange(String orderNo){
  621. Result res = new Result();
  622. if(StringUtils.isBlank(orderNo)){
  623. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  624. return res;
  625. }
  626. res.setData(orderServiceImpl.selectOrderChange(orderNo));
  627. return res;
  628. }
  629. /**
  630. * 删除变更
  631. * @param changeId
  632. * @return
  633. */
  634. @RequestMapping(value = "/deleteOrderChange",method = RequestMethod.GET)
  635. public Result deleteOrderChange(String changeId){
  636. Result res = new Result();
  637. if(StringUtils.isBlank(changeId)){
  638. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","变更ID"));
  639. return res;
  640. }
  641. orderServiceImpl.deleteOrderChange(changeId);
  642. return res;
  643. }
  644. /**
  645. * 更新变更记录
  646. * @param changeComment
  647. * @param changeStatus
  648. * @return
  649. */
  650. @RequestMapping(value = "/updateOrderChange",method = RequestMethod.POST)
  651. public Result updateOrderChange(String changeId,String changeComment,Integer changeStatus){
  652. Result res = new Result();
  653. if(StringUtils.isBlank(changeId)){
  654. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","变更ID"));
  655. return res;
  656. }
  657. if(changeStatus == null){
  658. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","变更状态"));
  659. return res;
  660. }
  661. orderServiceImpl.updateOrderChange(changeId,changeComment,changeStatus);
  662. return res;
  663. }
  664. /**
  665. * 修复订单数据
  666. * @return
  667. */
  668. @RequestMapping(value="/repairData",method = RequestMethod.GET)
  669. public Result repairData(){
  670. Result res = new Result();
  671. orderServiceImpl.updateRepairData();
  672. return res;
  673. }
  674. /**
  675. * 处理旧项目任务
  676. */
  677. @RequestMapping(value="/addContractTaskLog",method = RequestMethod.GET)
  678. public Result addContractTaskLog(){
  679. Result res = new Result();
  680. orderServiceImpl.addContractTaskLog();
  681. return res;
  682. }
  683. }