MemberGradeFrontController.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. package com.goafanti.memberGrade.controller;
  2. import java.util.Date;
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.Map;
  6. import org.apache.commons.lang3.StringUtils;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.util.Assert;
  9. import org.springframework.web.bind.annotation.RequestMapping;
  10. import org.springframework.web.bind.annotation.RequestMethod;
  11. import org.springframework.web.bind.annotation.RestController;
  12. import com.alibaba.fastjson.JSONObject;
  13. import com.goafanti.common.bo.Result;
  14. import com.goafanti.common.constant.AFTConstants;
  15. import com.goafanti.common.controller.BaseApiController;
  16. import com.goafanti.common.enums.OrderState;
  17. import com.goafanti.common.enums.UserLevel;
  18. import com.goafanti.common.model.MemberOrder;
  19. import com.goafanti.common.model.User;
  20. import com.goafanti.common.model.UserIdentity;
  21. import com.goafanti.core.mybatis.JDBCIdGenerator;
  22. import com.goafanti.core.shiro.token.TokenManager;
  23. import com.goafanti.memberGrade.bo.BusinessType;
  24. import com.goafanti.memberGrade.service.MemberGradeService;
  25. import com.goafanti.user.service.UserIdentityService;
  26. import com.goafanti.user.service.UserService;
  27. /**
  28. * 会员 前台
  29. *
  30. * @author Administrator
  31. *
  32. */
  33. @RestController
  34. @RequestMapping(value = "/api/user/member")
  35. public class MemberGradeFrontController extends BaseApiController {
  36. @Autowired
  37. private MemberGradeService memberGradeService;
  38. @Autowired
  39. private UserService userService;
  40. @Autowired
  41. private UserIdentityService userIdentityService;
  42. @Autowired
  43. private JDBCIdGenerator jDBCIdGenerator;
  44. /**
  45. * 前台会员订单
  46. *
  47. * @return
  48. */
  49. @RequestMapping(value = "/selectMemberOrder", method = RequestMethod.GET)
  50. public Result selectMemberOrder(String pageNo, String pageSize) {
  51. Integer pNo = getPageNo(pageNo);
  52. Integer pSize = getPageSize(pageSize);
  53. Integer pNos = (pNo - 1) * pSize;
  54. Map<String, Object> map = new HashMap<>();
  55. map.put("pNos", pNos);
  56. map.put("pSize", pSize);
  57. map.put("id", TokenManager.getUserId());
  58. List<MemberOrder> list = memberGradeService.selectMemberOrder(map);
  59. int count = memberGradeService.countMemberOrder(TokenManager.getUserId());
  60. Map<String, Object> maps = new HashMap<>();
  61. maps.put("list", list);
  62. maps.put("count", count);
  63. maps.put("pNo", pNo);
  64. return res().data(maps);
  65. }
  66. /**
  67. * 前台生成订单
  68. *
  69. * @param menberType
  70. * @param price
  71. * @param validMonth
  72. * @return
  73. */
  74. @RequestMapping(value = "/addBasicsMemberOrder", method = RequestMethod.POST)
  75. public Result addBasicsMemberOrder(Integer menberType, String price, Integer validMonth) {
  76. Assert.notNull(TokenManager.getUserToken(), "必须用户登录");
  77. User u = userService.selectByPrimaryKey(TokenManager.getUserId());
  78. Assert.isTrue(u.getLvl() == 1, "必须为实名认证用户,已经是会员的无需重复申请");
  79. MemberOrder mo = new MemberOrder();
  80. mo.setId(jDBCIdGenerator.generateId());
  81. mo.setMenberType(menberType);
  82. mo.setPrice(Double.valueOf(price));
  83. mo.setValidMonth(validMonth);
  84. mo.setOrderState(OrderState.UNPAYED.getCode());
  85. mo.setOrderTime(new Date());
  86. mo.setUserId(u.getId());
  87. return res().data(memberGradeService.addBasicsMemberOrder(mo));
  88. }
  89. /**
  90. *
  91. * @param id
  92. * @return
  93. */
  94. @RequestMapping(value = "/delMemberOrder", method = RequestMethod.POST)
  95. public Result delMemberOrder(Long id) {
  96. return res().data(memberGradeService.delMemberOrder(id));
  97. }
  98. /**
  99. * 获取专家联系手机
  100. */
  101. @RequestMapping(value = "/contact", method = RequestMethod.GET)
  102. public Result contact(String uid) {
  103. User u = userService.selectByPrimaryKey(TokenManager.getUserId());
  104. Assert.isTrue(u != null && u.getLvl() > UserLevel.CERTIFIED.getCode(), "必须是登录实名用户");
  105. Assert.hasText(uid, "找不到专家");
  106. JSONObject business = memberGradeService.selectMemberBusiness(u.getLvl());
  107. Assert.isTrue(AFTConstants.YES.equals(business.get(BusinessType.CHA_KAN_LIAN_XI.getKey())), "该会员不能查看专家联系方式");
  108. UserIdentity ui = userIdentityService.selectUserIdentityByUserId(uid);
  109. if (ui != null && StringUtils.isNotBlank(ui.getContactMobile())) {
  110. return res().data(ui.getContactMobile());
  111. }
  112. User expert = userService.selectByPrimaryKey(uid);
  113. Assert.notNull(expert, "找不到专家");
  114. return res().data(expert.getMobile());
  115. }
  116. }