OrderService.java 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489
  1. package com.goafanti.order.service;
  2. import java.math.BigDecimal;
  3. import java.text.ParseException;
  4. import java.util.List;
  5. import com.goafanti.common.model.OrganizationManagement;
  6. import com.goafanti.common.model.TOrderDetail;
  7. import com.goafanti.core.mybatis.page.Pagination;
  8. import com.goafanti.order.bo.BillDetailBo;
  9. import com.goafanti.order.bo.BillListBo;
  10. import com.goafanti.order.bo.OrderListBo;
  11. import com.goafanti.order.bo.ServiceOrderDetailBo;
  12. import com.goafanti.order.bo.C2BOrderDetailBo;
  13. import com.goafanti.order.bo.C2COrderDetailBo;
  14. import com.goafanti.order.bo.OrderChangeBo;
  15. public interface OrderService {
  16. /**
  17. * 查询商品详情
  18. * @param commodityId 商品id
  19. * @param orderType 订单类型
  20. * @return
  21. */
  22. C2COrderDetailBo selectCommodityDetail(String commodityId,Integer orderType);
  23. /**
  24. * 添加意向
  25. * @param orderNo 订单编号
  26. * @param commodityId 商品id
  27. * @param commodityMode 商品型号
  28. * @param commodityQuantity 商品数量
  29. * @param commodityType 商品类型
  30. * @param createTime 创建时间
  31. * @param remarks 备注
  32. * @return
  33. */
  34. int addIntention(String orderNo, String commodityId, String commodityMode, Integer commodityQuantity,Integer commodityType,
  35. String createTime, String remarks) throws ParseException ;
  36. /**
  37. * 支付定金
  38. * @param orderNo 订单编号
  39. * @param fundAmount 金额
  40. * @return remarks 备注
  41. */
  42. int updatePayForFirst(String orderNo, BigDecimal fundAmount,String remarks);
  43. /**
  44. * 退款操作
  45. * @param orderNo
  46. * @param refundAmount
  47. * @return
  48. */
  49. int updateRefundForTest(String orderNo, String refundAmount);
  50. /**
  51. * 支付尾款
  52. * @param orderNo 订单编号
  53. * @param fundAmount 金额
  54. * @param remarks 备注
  55. * @return
  56. */
  57. int updatePayForLast(String orderNo, BigDecimal fundAmount, String remarks);
  58. /**
  59. *
  60. * @param confirm 是否
  61. * @return
  62. */
  63. Pagination<C2BOrderDetailBo> selectOrderList(boolean confirm,Integer pageNo,Integer PageSize);
  64. /**
  65. * 查询订单详情
  66. * @param orderNo
  67. * @return
  68. */
  69. C2BOrderDetailBo selectOrderDetail(String orderNo);
  70. /**
  71. * 用户查询流水记录
  72. * @param orderNo
  73. * @return
  74. */
  75. Pagination<BillListBo> selectOrderBillList(String orderNo,Integer pageNo,Integer pageSize);
  76. /**
  77. * 提现
  78. * @param orderNo
  79. * @return
  80. */
  81. int updateApplyForWithdraw(String orderNo,String remarks);
  82. /**
  83. * 取消订单
  84. * @param orderNo
  85. * @return
  86. */
  87. int updateApplyForCancel(String orderNo);
  88. /**
  89. * 确认意向订单
  90. * @param orderNo 订单编号
  91. * @param confirm 是否确认
  92. * @return
  93. */
  94. int updateConfirmIntention(String orderNo, boolean confirm);
  95. /**
  96. *
  97. * @param bo
  98. * @param startDate 开始时间
  99. * @param endDate 结束时间
  100. * @param intention 是否包含意向
  101. * @param formal 是否包含正式
  102. * @param depId 部门id
  103. * @param history 是否包含历史
  104. * @param pageNo
  105. * @param pageSize
  106. * @return
  107. */
  108. Pagination<OrderListBo> selectServiceOrder(OrderListBo bo,String startDate,String endDate,Integer intention,Integer formal,
  109. Integer pageNo, Integer pageSize);
  110. /**
  111. * 服务订单详情
  112. * @param orderNo
  113. * @return
  114. */
  115. ServiceOrderDetailBo selectServiceOrderDetail(String orderNo);
  116. /**
  117. * 更新订单
  118. * @param orderNo
  119. * @param firstPayment
  120. * @param orderAmount
  121. * @param signFirstPayment
  122. * @param signTotalAmount
  123. * @param orderRemarks
  124. * @return
  125. */
  126. int updateServiceOrder(String orderNo, String signFirstPayment,
  127. String signTotalAmount, String contractNo,String orderRemarks,String contractPictureUrl);
  128. /**
  129. * 签单
  130. * @param orderNo
  131. * @param firstPayment
  132. * @param orderAmount
  133. * @param signFirstPayment
  134. * @param signTotalAmount
  135. * @param approval
  136. * @param orderRemarks
  137. * @return
  138. */
  139. int updateSignServiceOrder(String orderNo,String contractNo,String signFirstPayment, String signTotalAmount,
  140. String approval,String orderRemarks,String signTime);
  141. /**
  142. * 作废订单
  143. * @param orderNo
  144. * @return
  145. */
  146. int updateRevokeOrder(String orderNo);
  147. /**
  148. * 添加订单商品
  149. * @param orderNo
  150. * @param commodityId
  151. * @param commodityMode
  152. * @param commodityQuantity
  153. * @param commodityType
  154. * @param discountPrice
  155. * @param remarks
  156. * @return
  157. */
  158. int addOrderCommodity(String orderNo, String commodityId, String commodityName,String commodityMode, Integer commodityQuantity,Integer commodityType,
  159. String commodityPrice, String discountPrice,String commodityFirstPayment,String discountFirstPayment, String remarks);
  160. /**
  161. * 修改商品信息
  162. * @param detailId
  163. * @param orderNo
  164. * @param discountPrice
  165. * @param discountFirstPayment
  166. * @param remarks
  167. * @return
  168. */
  169. int updateOrderCommodity(String detailId,String discountPrice,String discountFirstPayment,Integer commodityQuantity,String remarks);
  170. /**
  171. * 删除订单商品
  172. * @param detailId
  173. * @return
  174. */
  175. int deleteOrderCommodity(String detailId);
  176. /**
  177. * 查询分管部门
  178. * @return
  179. */
  180. List<OrganizationManagement> selectMyDeps();
  181. /**
  182. *
  183. * @param bo
  184. * @param startDate 开始时间
  185. * @param endDate 结束时间
  186. * @param intention 是否包含意向
  187. * @param formal 是否包含正式
  188. * @param depIds 部门id
  189. * @param history 是否包含历史
  190. * @param pageNo
  191. * @param pageSize
  192. * @return
  193. */
  194. Pagination<OrderListBo> selectDepServiceOrder(OrderListBo bo,String startDate,String endDate,Integer intention,Integer formal,
  195. String depIds,Integer pageNo, Integer pageSize);
  196. /**
  197. *
  198. * @param bo
  199. * @param startDate 开始时间
  200. * @param endDate 结束时间
  201. * @param depIds 部门id
  202. * @param history 是否包含历史
  203. * @param pageNo
  204. * @param pageSize
  205. * @return
  206. */
  207. Pagination<OrderListBo> selectApprovalServiceOrder(OrderListBo bo,String startDate,String endDate,
  208. String depIds,Integer approvalHistory,Integer pageNo, Integer pageSize);
  209. /**
  210. * 创建订单
  211. * @param uid
  212. * @param orderType
  213. * @param contractType 合同类型
  214. * @return
  215. */
  216. int createServiceOrder(String uid, Integer orderType,String contractType);
  217. /**
  218. * 查询公共订单
  219. * @return
  220. */
  221. Pagination<OrderListBo> selectPublicOrder(OrderListBo bo,String startDate,String endDate,Integer pageNo, Integer pageSize);
  222. /**
  223. * 指定的营销员
  224. * @param orderNo
  225. * @param salesmanId
  226. * @return
  227. */
  228. int updateAppointSalesman(String orderNo,String salesmanId);
  229. /**
  230. *
  231. * @param orderNo
  232. * @param depId
  233. * @param buyerName
  234. * @param salesmanId
  235. * @param salesmanName
  236. * @param financeName
  237. * @param pageNo
  238. * @param pageSize
  239. * @return
  240. */
  241. Pagination<OrderListBo> selectSettlementList(String orderNo, String depId,String buyerName,String salesmanName,
  242. String financeId,String financeName,Integer orderStatus,Integer liquidationStatus,Integer approval,Integer isDistributionFinance,
  243. String startDate,String endDate,Integer pageNo, Integer pageSize);
  244. /**
  245. * 我的订单流水(财务负责人课件)
  246. * @param payeeName 收款人
  247. * @param payerName 付款人
  248. * @param depId 部门id
  249. * @param salesmanName 营销员
  250. * @param orderNo 订单编号
  251. * @param pageNo
  252. * @param pageSize
  253. * @return
  254. */
  255. Pagination<BillListBo> selectMyBillList(String payeeName,String payerName,String depId,String salesmanName,String orderNo,
  256. Integer confirmSign,Integer deleteSign,Integer pageNo,Integer pageSize);
  257. /**
  258. * 我的订单流水查询(与订单相关的人员可见)
  259. * @param payeeName 收款人
  260. * @param payerName 付款人
  261. * @param depId 部门id
  262. * @param salesmanName 营销员
  263. * @param orderNo 订单编号
  264. * @param pageNo
  265. * @param pageSize
  266. * @return
  267. */
  268. Pagination<BillListBo> queryMyBillList(String payeeName,String payerName,String depId,String salesmanName,String orderNo,
  269. Integer confirmSign,Integer deleteSign,Integer pageNo,Integer pageSize);
  270. /**
  271. * 所有订单流水查询
  272. * @param payeeName
  273. * @param payerName
  274. * @param depId
  275. * @param salesmanName
  276. * @param orderNo
  277. * @param pageNo
  278. * @param pageSize
  279. * @return
  280. */
  281. Pagination<BillListBo> queryAllBillList(String payeeName,String payerName,String depId,String salesmanName,String financeName,String orderNo,
  282. Integer confirmSign,Integer deleteSign,Integer pageNo,Integer pageSize);
  283. /**
  284. * 查看流水详情
  285. * @param billNo
  286. * @return
  287. */
  288. BillDetailBo selectBillDetail(String billNo);
  289. /**
  290. * 确认流水订单
  291. * @param billNo
  292. * @param orderNo
  293. * @param confrim
  294. * @return
  295. */
  296. int updateBill(String billNo, String orderNo, Integer confrim,String financialPayNo,String financialPayTime,String remarks);
  297. /**
  298. * 修改露水订单
  299. * @param billNo
  300. * @param orderNo
  301. * @param confrim
  302. * @return
  303. */
  304. int updateBill(String billNo,String orderNo,String financialPayNo,String financialPayTime,String remarks);
  305. /**
  306. * 特批订单
  307. * @param orderNo
  308. * @param confirm
  309. * @return
  310. */
  311. int updateApprovalServiceOrder(String orderNo, Integer confirm);
  312. /**
  313. * 查询待立项订单
  314. * @param bo
  315. * @param startDate
  316. * @param endDate
  317. * @param depId
  318. * @param pageNo
  319. * @param pageSize
  320. * @return
  321. */
  322. Pagination<OrderListBo> listSetUpServiceOrder(String buyerName,String salesmanName, String financeName,
  323. String depId,Integer approval, Integer pageNo, Integer pageSize);
  324. /**
  325. * 项目立项
  326. * @param orderNo
  327. * @param signDate
  328. * @param signComment
  329. * @return
  330. */
  331. int updateSetUpProject(String orderNo, String signComment);
  332. /**
  333. * 订单编号
  334. * @param orderNo
  335. * @return
  336. */
  337. List<TOrderDetail> selectOrderCommodity(String orderNo);
  338. /**
  339. * 支付(测试用)
  340. * @param orderNo
  341. * @param payAmount
  342. * @return
  343. */
  344. int updatePayForTest(String orderNo,String payAmount);
  345. /**
  346. * 分配订单
  347. * @param orderNo
  348. * @param financeId
  349. * @return
  350. */
  351. int updateDistributionOrder(String orderNo, String financeId);
  352. /**
  353. * 锁定、解锁、废除
  354. * @param orderNo
  355. * @param operatorType
  356. * @return
  357. */
  358. int updateLockOrRevokeOrder(String orderNo, Integer operatorType);
  359. /**
  360. * 查询单笔订单流水
  361. * @param orderNo
  362. * @return
  363. */
  364. List<BillListBo> selectBillByOrderNo(String orderNo);
  365. /**
  366. * 申请退款(买家)
  367. * @param orderNo
  368. * @return
  369. */
  370. int updateApplyForRefund(String orderNo);
  371. /**
  372. * 确认退款(买家)
  373. * @param orderNo
  374. * @return
  375. */
  376. int updateConfirmRefund(String orderNo,boolean confirm);
  377. /**
  378. * 转交订单
  379. * @param orderNo
  380. * @param aid
  381. * @param targetType
  382. * @return
  383. */
  384. int updateTransferOrder(String orderNo,String aid,Integer targetType);
  385. /**
  386. * PC端添加意向
  387. * @param orderNo 订单编号
  388. * @param commodityId 商品id
  389. * @param commodityMode 商品型号
  390. * @param commodityQuantity 商品数量
  391. * @param commodityType 商品类型
  392. * @param createTime 创建时间
  393. * @param remarks 备注
  394. * @return
  395. */
  396. int addPurpose(String orderNo, String commodityId, String commodityMode, Integer commodityQuantity,Integer commodityType,
  397. String createTime,String remarks) throws ParseException;
  398. /**
  399. * 添加变更记录
  400. * @param orderNo
  401. * @param changeComment
  402. * @return
  403. */
  404. int addOrderChange(String orderNo, String changeComment);
  405. /**
  406. * 查看变更记录列表
  407. * @param orderNo
  408. * @return
  409. */
  410. List<OrderChangeBo> selectOrderChange(String orderNo);
  411. /**
  412. * 删除变更记录
  413. * @param changeId
  414. * @return
  415. */
  416. int deleteOrderChange(String changeId);
  417. /**
  418. * 修改变更记录
  419. * @param changeId
  420. * @param changeComment
  421. * @param changeStatus
  422. * @return
  423. */
  424. int updateOrderChange(String changeId, String changeComment, Integer changeStatus);
  425. /**
  426. * 修复订单数据
  427. * @return
  428. */
  429. int updateRepairData();
  430. }