1
0

GoodsGroupOpenServiceImpl.java 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. package com.kmall.admin.service.impl;
  2. import com.google.common.collect.Maps;
  3. import com.kmall.admin.dao.GoodsGroupOpenDao;
  4. import com.kmall.admin.dao.GoodsGroupOpenDetailDao;
  5. import com.kmall.admin.dao.OrderDao;
  6. import com.kmall.admin.entity.GoodsGroupOpenDetailEntity;
  7. import com.kmall.admin.entity.GoodsGroupOpenEntity;
  8. import com.kmall.admin.entity.OrderEntity;
  9. import com.kmall.admin.service.GoodsGroupOpenService;
  10. import com.kmall.common.utils.wechat.WechatRefundApiResult;
  11. import com.kmall.common.utils.wechat.WechatUtil;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Service;
  14. import org.springframework.transaction.annotation.Transactional;
  15. import java.util.HashMap;
  16. import java.util.List;
  17. import java.util.Map;
  18. /**
  19. * Service实现类
  20. *
  21. * @author Scott
  22. * @email
  23. * @date 2017-10-23 22:06:59
  24. */
  25. @Service("goodsGroupOpenService")
  26. public class GoodsGroupOpenServiceImpl implements GoodsGroupOpenService {
  27. @Autowired
  28. private GoodsGroupOpenDao goodsGroupOpenDao;
  29. @Autowired
  30. private GoodsGroupOpenDetailDao goodsGroupOpenDetailDao;
  31. @Autowired
  32. private OrderDao orderDao;
  33. @Override
  34. public GoodsGroupOpenEntity queryObject(Long id) {
  35. return goodsGroupOpenDao.queryObject(id);
  36. }
  37. @Override
  38. public List<GoodsGroupOpenEntity> queryList(Map<String, Object> map) {
  39. return goodsGroupOpenDao.queryList(map);
  40. }
  41. @Override
  42. public int queryTotal(Map<String, Object> map) {
  43. return goodsGroupOpenDao.queryTotal(map);
  44. }
  45. @Override
  46. public int save(GoodsGroupOpenEntity goodsGroupOpen) {
  47. return goodsGroupOpenDao.save(goodsGroupOpen);
  48. }
  49. @Override
  50. public int update(GoodsGroupOpenEntity goodsGroupOpen) {
  51. return goodsGroupOpenDao.update(goodsGroupOpen);
  52. }
  53. @Override
  54. public int delete(Long id) {
  55. return goodsGroupOpenDao.delete(id);
  56. }
  57. @Override
  58. @Transactional
  59. public int deleteBatch(Long[] ids) {
  60. return goodsGroupOpenDao.deleteBatch(ids);
  61. }
  62. @Override
  63. @Transactional
  64. public int cancelGroup(Integer id) {
  65. int result = 0;
  66. if (null == id) {
  67. return result;
  68. }
  69. GoodsGroupOpenEntity groupOpenEntity = goodsGroupOpenDao.queryObject(id);
  70. if (null == groupOpenEntity) {
  71. return result;
  72. }
  73. groupOpenEntity.setAttendStatus(3);
  74. goodsGroupOpenDao.update(groupOpenEntity);
  75. // 更新团购明细
  76. Map detailMap = Maps.newHashMap();
  77. detailMap.put("openId", id);
  78. List<GoodsGroupOpenDetailEntity> openDetailEntityList = goodsGroupOpenDetailDao.queryList(detailMap);
  79. if (null != openDetailEntityList && openDetailEntityList.size() > 0) {
  80. for (GoodsGroupOpenDetailEntity detailEntity : openDetailEntityList) {
  81. // 参团状态 0待付款 1拼团中 2拼团成功 3拼团失败
  82. if (detailEntity.getAttendStatus() == 0) {
  83. detailEntity.setAttendStatus(3);
  84. goodsGroupOpenDetailDao.update(detailEntity);
  85. OrderEntity orderEntity = orderDao.queryObjectByActivityId(detailEntity.getId(), 2);
  86. if (null == orderEntity) {
  87. continue;
  88. }
  89. orderEntity.setPostscript(orderEntity.getPostscript() + "手动取消团购");
  90. orderEntity.setOrderStatus(101);
  91. orderDao.update(orderEntity);
  92. } else if (detailEntity.getAttendStatus() == 1) {
  93. detailEntity.setAttendStatus(3);
  94. goodsGroupOpenDetailDao.update(detailEntity);
  95. OrderEntity orderEntity = orderDao.queryObjectByActivityId(detailEntity.getId(), 2);
  96. if (null == orderEntity) {
  97. continue;
  98. }
  99. orderEntity.setPostscript(orderEntity.getPostscript() + "手动取消团购");
  100. orderEntity.setOrderStatus(401);
  101. orderDao.update(orderEntity);
  102. // todo 上线修改
  103. // WechatRefundApiResult refundApiResult = WechatUtil.wxRefund(orderEntity.getOrderSn().toString(),
  104. // orderEntity.getActualPrice().doubleValue(), orderEntity.getActualPrice().doubleValue());
  105. WechatRefundApiResult refundApiResult = WechatUtil.wxRefund(orderEntity.getOrderSn().toString(),
  106. 0.01, 0.01);
  107. } else if (detailEntity.getAttendStatus() == 2) {
  108. detailEntity.setAttendStatus(3);
  109. goodsGroupOpenDetailDao.update(detailEntity);
  110. OrderEntity orderEntity = orderDao.queryObjectByActivityId(detailEntity.getId(), 2);
  111. if (null == orderEntity) {
  112. continue;
  113. }
  114. orderEntity.setPostscript(orderEntity.getPostscript() + "手动取消团购");
  115. orderEntity.setOrderStatus(401);
  116. orderDao.update(orderEntity);
  117. // todo 上线修改
  118. // WechatRefundApiResult refundApiResult = WechatUtil.wxRefund(orderEntity.getOrderSn().toString(),
  119. // orderEntity.getActualPrice().doubleValue(), orderEntity.getActualPrice().doubleValue());
  120. WechatRefundApiResult refundApiResult = WechatUtil.wxRefund(orderEntity.getOrderSn().toString(),
  121. 0.01, 0.01);
  122. }
  123. }
  124. }
  125. result = 1;
  126. return result;
  127. }
  128. }