AdminOrderApiController.java 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767
  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. * 创建订单
  336. * @param uid
  337. * @param orderType
  338. * @return
  339. */
  340. @RequestMapping(value = "/createOrder",method = RequestMethod.POST)
  341. public Result createOrder(String uid,Integer orderType,String contractType){
  342. Result res = new Result();
  343. if(StringUtils.isBlank(uid)){
  344. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","客户编号"));
  345. return res;
  346. }
  347. /*if(orderServiceImpl.checkCustomerInformation(uid)){
  348. res.getError().add(buildError("","请到客户资料-客户资料维护模块完善您的客户信息!"));
  349. return res;
  350. }*/
  351. if(orderType == null){
  352. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单类型"));
  353. return res;
  354. }
  355. if(orderType != CommodityType.SERVICE.getTypeCode()){
  356. res.getError().add(buildError(ErrorConstants.PARAM_ERROR,"","暂不支持创建该类型订单"));
  357. return res;
  358. }else {
  359. if(StringUtils.isBlank(contractType)) {
  360. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","业务品类"));
  361. return res;
  362. }
  363. }
  364. orderServiceImpl.createServiceOrder(uid,orderType,contractType);
  365. return res;
  366. }
  367. /** 图片上传 **/
  368. @RequestMapping(value = "/uploadOrderImg", method = RequestMethod.POST)
  369. public Result uploadOrderImg(HttpServletRequest req,String sign){
  370. Result res = new Result();
  371. res.setData(handleFile(res, "/order_file/", false, req, sign));
  372. return res;
  373. }
  374. /** 查询公共订单 **/
  375. @RequestMapping(value = "/listPublicOrder", method = RequestMethod.POST)
  376. public Result listPublicOrder(OrderListBo bo,String startDate,String endDate,Integer pageNo, Integer pageSize){
  377. Result res = new Result();
  378. res.setData(orderServiceImpl.selectPublicOrder(bo,startDate,endDate,pageNo,pageSize));
  379. return res;
  380. }
  381. /** 分配订单到营销员 **/
  382. @RequestMapping(value = "/appointSalesman", method = RequestMethod.GET)
  383. public Result appointSalesman(String orderNo,String salesmanId){
  384. Result res = new Result();
  385. if(StringUtils.isBlank(orderNo)){
  386. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  387. return res;
  388. }
  389. if(StringUtils.isBlank(salesmanId)){
  390. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","指定人员编号"));
  391. return res;
  392. }
  393. orderServiceImpl.updateAppointSalesman(orderNo, salesmanId);
  394. return res;
  395. }
  396. /** 我的结算查询 **/
  397. @RequestMapping(value = "/listMySettlement", method = RequestMethod.POST)
  398. public Result listMySettlement(String orderNo, String depId,String buyerName,String salesmanName, String financeName,
  399. Integer orderStatus,Integer liquidationStatus,Integer approval,String startDate,
  400. String endDate,Integer pageNo, Integer pageSize){
  401. Result res = new Result();
  402. res.setData(orderServiceImpl.selectSettlementList(orderNo, depId, buyerName, salesmanName,
  403. TokenManager.getAdminId(), financeName, orderStatus, liquidationStatus, approval,null,startDate,endDate, pageNo, pageSize));
  404. return res;
  405. }
  406. /** 结算订单管理 **/
  407. @RequestMapping(value = "/listAllSettlement", method = RequestMethod.POST)
  408. public Result listAllSettlement(String orderNo, String depId,String buyerName,String salesmanName, String financeName,
  409. Integer orderStatus,Integer liquidationStatus,Integer approval,Integer isDistributionFinance,String startDate,String endDate,
  410. Integer pageNo, Integer pageSize){
  411. Result res = new Result();
  412. res.setData(orderServiceImpl.selectSettlementList(orderNo, depId, buyerName, salesmanName,
  413. "", financeName, orderStatus, liquidationStatus, approval,isDistributionFinance, startDate,endDate, pageNo, pageSize));
  414. return res;
  415. }
  416. /** 我的订单流水管理 **/
  417. @RequestMapping(value = "/listMyBill", method = RequestMethod.POST)
  418. public Result selectMyBillList(String payeeName, String payerName, String depId,
  419. String salesmanName,String orderNo, Integer confirmSign,Integer deleteSign,Integer pageNo, Integer pageSize){
  420. Result res = new Result();
  421. res.setData(orderServiceImpl.selectMyBillList(payeeName, payerName, depId, salesmanName,orderNo,
  422. confirmSign, deleteSign, pageNo, pageSize));
  423. return res;
  424. }
  425. /** 我的订单流水查询 **/
  426. @RequestMapping(value = "/queryMyBill", method = RequestMethod.POST)
  427. public Result queryMyBillList(String payeeName, String payerName, String depId,
  428. String salesmanName,String orderNo, Integer confirmSign,Integer deleteSign,Integer pageNo, Integer pageSize){
  429. Result res = new Result();
  430. res.setData(orderServiceImpl.queryMyBillList(payeeName, payerName, depId, salesmanName,orderNo,
  431. confirmSign, deleteSign, pageNo, pageSize));
  432. return res;
  433. }
  434. /** 所有订单流水查询 **/
  435. @RequestMapping(value = "/queryAllBill", method = RequestMethod.POST)
  436. public Result queryAllBill(String payeeName, String payerName, String depId,
  437. String salesmanName,String financeName,String orderNo, Integer confirmSign,Integer deleteSign, Integer pageNo, Integer pageSize){
  438. Result res = new Result();
  439. res.setData(orderServiceImpl.queryAllBillList(payeeName, payerName, depId, salesmanName,financeName, orderNo,confirmSign,deleteSign, pageNo, pageSize));
  440. return res;
  441. }
  442. /** 查询流水详情 **/
  443. @RequestMapping(value = "/selectBillDetail", method = RequestMethod.GET)
  444. public Result selectBillDetail(String billNo){
  445. Result res = new Result();
  446. if(StringUtils.isBlank(billNo)){
  447. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","流水编号"));
  448. return res;
  449. }
  450. res.setData(orderServiceImpl.selectBillDetail(billNo));
  451. return res;
  452. }
  453. /**
  454. * 订单流水确认
  455. * @param billNo
  456. * @param orderNo
  457. * @param confirm
  458. * @param financialPayNo
  459. * @param financialPayTime
  460. * @param remarks
  461. * @return
  462. */
  463. @RequestMapping(value = "/confrimBill", method = RequestMethod.POST)
  464. public Result confrimBill(String billNo,String orderNo,Integer confirm,String financialPayNo,String financialPayTime,String remarks){
  465. Result res = new Result();
  466. if(StringUtils.isBlank(billNo)){
  467. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","流水编号"));
  468. return res;
  469. }
  470. if(StringUtils.isBlank(orderNo)){
  471. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  472. return res;
  473. }
  474. if(null == confirm){
  475. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","确认状态"));
  476. return res;
  477. }else if(confirm == AuditState.AUDIT_SUCCESS.getCode()){
  478. if(StringUtils.isBlank(financialPayTime)){
  479. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","财务流水时间"));
  480. return res;
  481. }
  482. }
  483. orderServiceImpl.updateBill(billNo,orderNo,confirm,financialPayNo,financialPayTime,remarks);
  484. return res;
  485. }
  486. /**
  487. * 修改流水
  488. * @param billNo
  489. * @param financialPayNo
  490. * @param financialPayTime
  491. * @param remarks
  492. * @return
  493. */
  494. @RequestMapping(value = "/updateBill", method = RequestMethod.POST)
  495. public Result updateBill(String billNo,String orderNo, String financialPayNo, String financialPayTime, String remarks){
  496. Result res = new Result();
  497. if(StringUtils.isBlank(billNo)){
  498. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","流水编号"));
  499. return res;
  500. }
  501. if(StringUtils.isBlank(financialPayNo) || StringUtils.isBlank(financialPayTime)){
  502. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","财务流水号和财务流水时间"));
  503. return res;
  504. }
  505. orderServiceImpl.updateBill(billNo, orderNo,financialPayNo, financialPayTime, remarks);
  506. return res;
  507. }
  508. /**
  509. * 订单支付(测试用)
  510. * @return
  511. */
  512. @RequestMapping(value = "/testPay",method = RequestMethod.POST)
  513. public Result testPay(String orderNo,String payAmount){
  514. Result res = new Result();
  515. if(StringUtils.isBlank(orderNo) || StringUtils.isBlank(payAmount)){
  516. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号和支付金额"));
  517. return res;
  518. }
  519. orderServiceImpl.updatePayForTest(orderNo, payAmount);
  520. return res;
  521. }
  522. /**
  523. * 订单退款(测试用)
  524. * @param orderNo
  525. * @param refundAmount
  526. * @return
  527. */
  528. @RequestMapping(value = "/testRefund",method = RequestMethod.POST)
  529. public Result testRefund(String orderNo,String refundAmount){
  530. Result res = new Result();
  531. if(StringUtils.isBlank(orderNo) || StringUtils.isBlank(refundAmount)){
  532. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号和退款金额"));
  533. return res;
  534. }
  535. orderServiceImpl.updateRefundForTest(orderNo, refundAmount);
  536. return res;
  537. }
  538. /**
  539. * 派单
  540. * @param orderNo
  541. * @param financeId
  542. * @return
  543. */
  544. @RequestMapping(value = "/distributionOrder",method = RequestMethod.POST)
  545. public Result distributionOrder(String orderNo,String financeId){
  546. Result res = new Result();
  547. if(StringUtils.isBlank(orderNo) || StringUtils.isBlank(financeId)){
  548. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号和指定负责人"));
  549. return res;
  550. }
  551. orderServiceImpl.updateDistributionOrder(orderNo,financeId);
  552. return res;
  553. }
  554. /**
  555. * 解锁、锁定、作废
  556. * @param operatorType
  557. * @param orderNo
  558. * @return
  559. */
  560. @RequestMapping(value = "/lockOrRevokeOrder",method = RequestMethod.GET)
  561. public Result lockOrRevokeOrder(String orderNo,Integer operatorType){
  562. Result res = new Result();
  563. if(StringUtils.isBlank(orderNo) || operatorType == null){
  564. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号和操作类型"));
  565. return res;
  566. }
  567. orderServiceImpl.updateLockOrRevokeOrder(orderNo,operatorType);
  568. return res;
  569. }
  570. /**
  571. * 查询单笔订单流水
  572. * @param orderNo
  573. * @return
  574. */
  575. @RequestMapping(value= "/getBillByOrderNo", method = RequestMethod.GET)
  576. public Result getBillByOrderNo(String orderNo){
  577. Result res = new Result();
  578. if(StringUtils.isBlank(orderNo)){
  579. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  580. return res;
  581. }
  582. res.setData(orderServiceImpl.selectBillByOrderNo(orderNo));
  583. return res;
  584. }
  585. /**
  586. * 确认退款
  587. * @param orderNo
  588. * @param confirm
  589. * @return
  590. */
  591. @RequestMapping(value = "/confirmRefund", method = RequestMethod.GET)
  592. public Result confirmRefund(String orderNo,boolean confirm){
  593. Result res = new Result();
  594. if(StringUtils.isBlank(orderNo)){
  595. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  596. return res;
  597. }
  598. orderServiceImpl.updateConfirmRefund(orderNo,confirm);
  599. return res;
  600. }
  601. /**
  602. * 转交订单
  603. * @param orderNo
  604. * @param aid
  605. * @param targetType
  606. * @return
  607. */
  608. @RequestMapping(value = "/transferOrder", method = RequestMethod.POST)
  609. public Result transferOrder(String orderNo,String aid,Integer targetType){
  610. Result res = new Result();
  611. if(StringUtils.isBlank(orderNo)){
  612. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  613. return res;
  614. }
  615. if(StringUtils.isBlank(aid)){
  616. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","转交人 ID"));
  617. return res;
  618. }
  619. if(null == targetType){
  620. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","转交类型"));
  621. return res;
  622. }
  623. orderServiceImpl.updateTransferOrder(orderNo, aid, targetType);
  624. return res;
  625. }
  626. /**
  627. * 发起订单变更
  628. * @param orderNo
  629. * @param changeComment
  630. * @return
  631. */
  632. @RequestMapping(value = "/addOrderChange",method = RequestMethod.POST)
  633. public Result addOrderChange(String orderNo,String changeComment){
  634. Result res = new Result();
  635. if(StringUtils.isBlank(orderNo)){
  636. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  637. return res;
  638. }
  639. if(StringUtils.isBlank(changeComment)){
  640. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","变更说明"));
  641. return res;
  642. }
  643. orderServiceImpl.addOrderChange(orderNo,changeComment);
  644. return res;
  645. }
  646. /**
  647. * 查看变更记录
  648. * @param orderNo
  649. * @return
  650. */
  651. @RequestMapping(value = "/viewOrderChange",method = RequestMethod.GET)
  652. public Result viewOrderChange(String orderNo){
  653. Result res = new Result();
  654. if(StringUtils.isBlank(orderNo)){
  655. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  656. return res;
  657. }
  658. res.setData(orderServiceImpl.selectOrderChange(orderNo));
  659. return res;
  660. }
  661. /**
  662. * 删除变更
  663. * @param changeId
  664. * @return
  665. */
  666. @RequestMapping(value = "/deleteOrderChange",method = RequestMethod.GET)
  667. public Result deleteOrderChange(String changeId){
  668. Result res = new Result();
  669. if(StringUtils.isBlank(changeId)){
  670. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","变更ID"));
  671. return res;
  672. }
  673. orderServiceImpl.deleteOrderChange(changeId);
  674. return res;
  675. }
  676. /**
  677. * 更新变更记录
  678. * @param changeComment
  679. * @param changeStatus
  680. * @return
  681. */
  682. @RequestMapping(value = "/updateOrderChange",method = RequestMethod.POST)
  683. public Result updateOrderChange(String changeId,String changeComment,Integer changeStatus){
  684. Result res = new Result();
  685. if(StringUtils.isBlank(changeId)){
  686. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","变更ID"));
  687. return res;
  688. }
  689. if(changeStatus == null){
  690. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","变更状态"));
  691. return res;
  692. }
  693. orderServiceImpl.updateOrderChange(changeId,changeComment,changeStatus);
  694. return res;
  695. }
  696. /**
  697. * 修复订单数据
  698. * @return
  699. */
  700. @RequestMapping(value="/repairData",method = RequestMethod.GET)
  701. public Result repairData(){
  702. Result res = new Result();
  703. orderServiceImpl.updateRepairData();
  704. return res;
  705. }
  706. /**
  707. * 处理旧项目任务
  708. */
  709. @RequestMapping(value="/addContractTaskLog",method = RequestMethod.GET)
  710. public Result addContractTaskLog(){
  711. Result res = new Result();
  712. orderServiceImpl.addContractTaskLog();
  713. return res;
  714. }
  715. }