OrderService.java 12 KB

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