MemberGradeController.java 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. package com.goafanti.memberGrade.controller;
  2. import java.text.ParseException;
  3. import java.util.ArrayList;
  4. import java.util.Date;
  5. import java.util.HashMap;
  6. import java.util.List;
  7. import java.util.Map;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.util.Assert;
  10. import org.springframework.web.bind.annotation.RequestMapping;
  11. import org.springframework.web.bind.annotation.RequestMethod;
  12. import org.springframework.web.bind.annotation.RestController;
  13. import com.alibaba.fastjson.JSON;
  14. import com.goafanti.common.bo.Error;
  15. import com.goafanti.common.bo.Result;
  16. import com.goafanti.common.constant.AFTConstants;
  17. import com.goafanti.common.controller.BaseApiController;
  18. import com.goafanti.common.enums.OrderState;
  19. import com.goafanti.common.model.MemberOrder;
  20. import com.goafanti.common.utils.DateUtils;
  21. import com.goafanti.common.utils.LoggerUtils;
  22. import com.goafanti.memberGrade.bo.MemberGrade;
  23. import com.goafanti.memberGrade.bo.MemberGradeBO;
  24. import com.goafanti.memberGrade.service.MemberGradeService;
  25. import com.goafanti.memberGrade.service.MemberOrderService;
  26. /**
  27. * 会员等级管理 后台
  28. *
  29. * @author Administrator
  30. *
  31. */
  32. @RestController
  33. @RequestMapping(value = "/api/admin/member")
  34. public class MemberGradeController extends BaseApiController {
  35. @Autowired
  36. private MemberGradeService memberGradeService;
  37. @Autowired
  38. private MemberOrderService memberOrderService;
  39. /**
  40. * 查询全部信息
  41. *
  42. * @return
  43. */
  44. @RequestMapping(value = "/selectMemberGrade", method = RequestMethod.GET)
  45. public Result selectMemberGrade() {
  46. List<MemberGrade> list = memberGradeService.selectMemberGrade();
  47. List<MemberGradeBO> result = new ArrayList<>();
  48. for (MemberGrade mg : list) {
  49. result.add(new MemberGradeBO(mg.getId(), mg.getGradeName(), JSON.parseObject(mg.getBusiness()),
  50. JSON.parseObject(mg.getCost()), mg.getMemberRank()));
  51. }
  52. return res().data(result);
  53. }
  54. /**
  55. * 删除会员等级
  56. *
  57. * @param id
  58. * @return
  59. */
  60. @RequestMapping(value = "/delGrade", method = RequestMethod.POST)
  61. public Result delGrade(int id) {
  62. return res().data(memberGradeService.delGrade(id));
  63. }
  64. /**
  65. * 新增会员等级名称
  66. *
  67. * @param name
  68. * @return
  69. */
  70. @RequestMapping(value = "/addGradeName", method = RequestMethod.POST)
  71. public Result addGradeName(MemberGrade me) {
  72. if (memberGradeService.selectRank(me) >= 1) {
  73. Error e = new Error();
  74. e.setMessage("该会员等级已存在");
  75. return res().error(e);
  76. }
  77. memberGradeService.addGradeName(me);
  78. return res().data(me.getId());
  79. }
  80. /**
  81. * 增加业务及费用 与更改
  82. *
  83. * @param me
  84. * @return
  85. */
  86. @RequestMapping(value = "/addBusinessAndCost", method = RequestMethod.POST)
  87. public Result addBusinessAndCost(MemberGrade me) {
  88. return res().data(memberGradeService.addBusinessAndCost(me));
  89. }
  90. /**
  91. * 后台会员订单列表单
  92. *
  93. * @param pageNo
  94. * @param pageSize
  95. * @return
  96. */
  97. @RequestMapping(value = "/selectMemberOrderBa", method = RequestMethod.GET)
  98. public Result selectMemberOrderBa(String pageNo, String pageSize, Long id, String mobile, String nickname,
  99. Integer orderState, String startTime, String endTime) {
  100. Integer pNo = getPageNo(pageNo);
  101. Integer pSize = getPageSize(pageSize);
  102. Integer pNos = (pNo - 1) * pSize;
  103. Map<String, Object> map = new HashMap<>();
  104. map.put("pNos", pNos);
  105. map.put("pSize", pSize);
  106. map.put("id", id);
  107. map.put("mobile", mobile);
  108. map.put("nickname", nickname);
  109. map.put("orderState", orderState);
  110. map.put("startTimes", startTime);
  111. if (endTime != null) {
  112. try {
  113. map.put("endTimes", DateUtils.addDays(DateUtils.parseDate(endTime, AFTConstants.YYYYMMDD), 1));
  114. } catch (ParseException e) {
  115. LoggerUtils.error(this.getClass(), "ffff", e);
  116. }
  117. }
  118. List<MemberOrder> list = memberGradeService.selectMemberOrderBa(map);
  119. int countWhere = memberGradeService.countMemberOrderWhere(map);
  120. Map<String, Object> maps = new HashMap<>();
  121. maps.put("list", list);
  122. maps.put("countWhere", countWhere);
  123. maps.put("pNo", pNo);
  124. return res().data(maps);
  125. }
  126. /**
  127. * 后台会员更改
  128. *
  129. * @param id
  130. * @param memberRank
  131. * @param validMonth
  132. * @param paymentValue
  133. * @param orderState
  134. * @param paymentTime
  135. * @param paymentType
  136. * @return
  137. */
  138. @RequestMapping(value = "/updateMemberOrder", method = RequestMethod.POST)
  139. public Result updateMemberOrder(Long id, String memberRank, String validMonth, String paymentValue,
  140. String orderState, String paymentTime, String paymentType, String userId, String paymentId) {
  141. MemberOrder mo = memberOrderService.getById(id);
  142. Assert.notNull(mo, "找不到订单");
  143. mo.setOrderState(OrderState.getStatus(orderState).getCode());
  144. try {
  145. Integer month = Integer.parseInt(validMonth);
  146. mo.setValidMonth(month);
  147. mo.setMenberType(Integer.parseInt(memberRank));
  148. if (OrderState.isPayed(OrderState.getStatus(mo.getOrderState()))) {
  149. Assert.hasText(paymentId, "已支付订单信息不完整");
  150. Assert.hasText(paymentType, "已支付订单信息不完整");
  151. Assert.hasText(paymentTime, "已支付订单信息不完整");
  152. mo.setPaymentId(paymentId);
  153. mo.setPaymentType(paymentType);
  154. mo.setPaymentValue(Double.parseDouble(paymentValue));
  155. Date payTime = DateUtils.parseDate(paymentTime, AFTConstants.YYYYMMDDHHMMSS);
  156. Date validTime = DateUtils.addMonths(payTime, month);
  157. mo.setValidTime(validTime);
  158. mo.setPaymentTime(payTime);
  159. }
  160. } catch (ParseException e) {
  161. return res().error(buildError("", "参数错误"));
  162. }
  163. return res().data(memberOrderService.update(mo));
  164. }
  165. /**
  166. *
  167. * @param id
  168. * @return
  169. */
  170. @RequestMapping(value = "/delMemberOrder", method = RequestMethod.POST)
  171. public Result delMemberOrder(Long id) {
  172. return res().data(memberGradeService.delMemberOrder(id));
  173. }
  174. }