Guest User

Untitled

a guest
Dec 14th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.23 KB | None | 0 0
  1. @Override
  2. public OrderPayListDto getPayList(Integer orderStatus, String orderCode, String payTimeStart, String payTimeEnd, Integer pageNumber, Integer pageSize) {
  3. String sql = "select o.id orderId,o.order_code orderCode,date_format(p.pay_date,'%Y-%m-%d %H:%i:%s') payDateStr,o.main_line_id lineId,o.order_price orderPrice,p.real_payment_price realPaymentPrice,o.profit profit,p.pay_status payStatus from tb_receive_guest_order o,tb_receive_guest_order_pay p where o.id=p.order_id and p.pay_status=1";
  4. sql = apendWhereSql(orderStatus, orderCode, payTimeStart, payTimeEnd, sql);
  5. sql += " order by p.pay_date desc";
  6. sql += " limit :offset,:limit";
  7.  
  8. Query query = tbReceiveGuestOrderDao.getSession().createSQLQuery(sql)
  9. .addScalar("orderId", new IntegerType())
  10. .addScalar("orderCode", new StringType())
  11. .addScalar("payDateStr", new StringType())
  12. .addScalar("lineId", new IntegerType())
  13. .addScalar("orderPrice", new BigDecimalType())
  14. .addScalar("realPaymentPrice", new BigDecimalType())
  15. .addScalar("profit", new BigDecimalType())
  16. .addScalar("payStatus", new IntegerType());
  17.  
  18. setCommonParameter(orderStatus, orderCode, payTimeStart, payTimeEnd, query);
  19.  
  20. query.setParameter("offset", (pageNumber-1)*pageSize);
  21. query.setParameter("limit", pageSize);
  22.  
  23. List<OrderPayItemDto> list = (List<OrderPayItemDto>)query.setResultTransformer(Transformers.aliasToBean(OrderPayItemDto.class)).list();
  24.  
  25. OrderPayListDto orderPayListDto = new OrderPayListDto();
  26. orderPayListDto.setTotal(getTotal(orderStatus, orderCode, payTimeStart, payTimeEnd));
  27. orderPayListDto.setOrderPayItemDtos(list);
  28.  
  29. return orderPayListDto;
  30. }
  31.  
  32. private Integer getTotal(Integer orderStatus, String orderCode, String payTimeStart, String payTimeEnd) {
  33. String sql = "select count(1) from tb_receive_guest_order o,tb_receive_guest_order_pay p where o.id=p.order_id and p.pay_status=1";
  34. sql = apendWhereSql(orderStatus, orderCode, payTimeStart, payTimeEnd, sql);
  35. Query query = tbReceiveGuestOrderDao.getSession().createSQLQuery(sql);
  36.  
  37. setCommonParameter(orderStatus, orderCode, payTimeStart, payTimeEnd, query);
  38.  
  39. Object object = query.uniqueResult();
  40. return Integer.valueOf(object.toString());
  41. }
  42.  
  43. private void setCommonParameter(Integer orderStatus, String orderCode, String payTimeStart, String payTimeEnd,
  44. Query query) {
  45. if (null != orderStatus) {
  46. query.setParameter("orderStatus", orderStatus);
  47. }
  48. if (StringUtils.isNotBlank(orderCode)) {
  49. query.setParameter("orderCode", "%"+orderCode+"%", new StringType());
  50. }
  51. if (StringUtils.isNotBlank(payTimeStart)) {
  52. query.setParameter("payTimeStart", payTimeStart, new StringType());
  53. }
  54. if (StringUtils.isNotBlank(payTimeEnd)) {
  55. query.setParameter("payTimeEnd", payTimeEnd, new StringType());
  56. }
  57. }
  58.  
  59. private String apendWhereSql(Integer orderStatus, String orderCode, String payTimeStart, String payTimeEnd,
  60. String sql) {
  61. if (null != orderStatus) {
  62. sql += " and p.pay_status=:orderStatus";
  63. }
  64. if (StringUtils.isNotBlank(orderCode)) {
  65. sql += " and o.order_code like :orderCode";
  66. }
  67. if (StringUtils.isNotBlank(payTimeStart)) {
  68. sql += " and p.pay_date >= :payTimeStart";
  69. }
  70. if (StringUtils.isNotBlank(payTimeEnd)) {
  71. sql += " and p.pay_date <= :payTimeEnd";
  72. }
  73.  
  74. return sql;
  75. }
Add Comment
Please, Sign In to add comment