TaCheckinController.java 7.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. package com.huiju.estateagents.controller;
  2. import ch.qos.logback.core.status.StatusUtil;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.baomidou.mybatisplus.core.metadata.IPage;
  5. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6. import com.huiju.estateagents.base.BaseController;
  7. import com.huiju.estateagents.base.ResponseBean;
  8. import com.huiju.estateagents.common.DateUtils;
  9. import com.huiju.estateagents.common.JWTUtils;
  10. import com.huiju.estateagents.entity.TaCheckin;
  11. import com.huiju.estateagents.entity.TaPerson;
  12. import com.huiju.estateagents.service.ITaCheckinService;
  13. import com.huiju.estateagents.service.ITaPersonService;
  14. import org.slf4j.Logger;
  15. import org.slf4j.LoggerFactory;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.web.bind.annotation.*;
  18. import javax.servlet.http.HttpServletRequest;
  19. import javax.servlet.http.HttpServletResponse;
  20. import java.time.LocalDateTime;
  21. import java.util.List;
  22. /**
  23. * <p>
  24. * 前端控制器
  25. * </p>
  26. *
  27. * @author jobob
  28. * @since 2019-07-24
  29. */
  30. @RestController
  31. @RequestMapping("/api")
  32. public class TaCheckinController extends BaseController {
  33. private final Logger logger = LoggerFactory.getLogger(TaCheckinController.class);
  34. @Autowired
  35. public ITaCheckinService iTaCheckinService;
  36. @Autowired
  37. public ITaPersonService iTaPersonService;
  38. /**
  39. * 分页查询列表
  40. * @param pageNum
  41. * @param pageSize
  42. * @return
  43. */
  44. @RequestMapping(value="/taCheckin/activity/{activity}",method= RequestMethod.GET)
  45. public ResponseBean taCheckinList(@PathVariable String activity,
  46. @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
  47. @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
  48. @RequestParam(value ="today",defaultValue = "false") Boolean today,
  49. @RequestParam(value = "newRecord", defaultValue = "false") Boolean newRecord,
  50. HttpServletResponse response){
  51. // 此接口允許跨域
  52. response.setHeader("Access-Control-Allow-Origin", "*");
  53. try {
  54. Integer status = !newRecord ? 1 : 0;
  55. LocalDateTime dayBegin = null;
  56. if (today) {
  57. String theDay = DateUtils.today();
  58. dayBegin = DateUtils.day2LocalDateime(theDay);
  59. }
  60. //使用分页插件
  61. IPage<TaCheckin> pg = new Page<>(pageNum, pageSize);
  62. IPage<TaCheckin> result = iTaCheckinService.getCheckinCustomerList(pg,activity, status, dayBegin);
  63. if (newRecord) {
  64. for (int i = 0;i<result.getRecords().size();i++){
  65. result.getRecords().get(i).setStatus(1);
  66. }
  67. if (result.getRecords().size() > 0) {
  68. iTaCheckinService.updateBatchById(result.getRecords());
  69. }
  70. }
  71. return ResponseBean.success(result);
  72. }catch (Exception e){
  73. e.printStackTrace();
  74. logger.error("taCheckinList -=- {}",e.toString());
  75. return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
  76. }
  77. }
  78. /**
  79. * 保存对象
  80. * @param activity 实体对象
  81. * @return
  82. */
  83. @RequestMapping(value="/wx/taCheckin/activity/{activity}",method= RequestMethod.POST)
  84. public ResponseBean taCheckinAdd(@PathVariable String activity, HttpServletRequest request){
  85. String openid = getOpenId(request);
  86. List<TaPerson> taPersons = iTaPersonService.getPersonsByOpenId(openid);
  87. if (null == taPersons || taPersons.size() != 1) {
  88. return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
  89. }
  90. TaPerson person = taPersons.get(0);
  91. try {
  92. if(iTaCheckinService.isCustomerChecked(activity,person.getPersonId())>0){
  93. return ResponseBean.success("您已签到过此活动");
  94. }else {
  95. TaCheckin taCheckin = new TaCheckin();
  96. taCheckin.setStatus(0);
  97. taCheckin.setPersonId(person.getPersonId());
  98. taCheckin.setActivity(activity);
  99. taCheckin.setName(person.getNickname());
  100. taCheckin.setAvatar(person.getAvatarurl());
  101. taCheckin.setCheckinTime(LocalDateTime.now());
  102. if (iTaCheckinService.save(taCheckin)){
  103. return ResponseBean.success(taCheckin);
  104. }else {
  105. return ResponseBean.error("保存失败",ResponseBean.ERROR_UNAVAILABLE);
  106. }
  107. }
  108. }catch (Exception e){
  109. e.printStackTrace();
  110. logger.error("taCheckinAdd -=- {}",e.toString());
  111. return ResponseBean.error("保存失败"+e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
  112. }
  113. }
  114. @GetMapping("/wx/taCheckin/activity/{activityId}/isChecked")
  115. public ResponseBean isChecked(@PathVariable String activityId, HttpServletRequest request) {
  116. String openid = getOpenId(request);
  117. List<TaPerson> taPersons = iTaPersonService.getPersonsByOpenId(openid);
  118. if (null == taPersons || taPersons.size() != 1) {
  119. return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
  120. }
  121. TaPerson person = taPersons.get(0);
  122. boolean checked = iTaCheckinService.isCustomerChecked(activityId, person.getPersonId()) > 0;
  123. return ResponseBean.success(checked);
  124. }
  125. // /**
  126. // * 根据id删除对象
  127. // * @param id 实体ID
  128. // */
  129. // @ResponseBody
  130. // @RequestMapping(value="/taCheckin/{id}", method= RequestMethod.DELETE)
  131. // public ResponseBean taCheckinDelete(@PathVariable Integer id){
  132. // ResponseBean responseBean = new ResponseBean();
  133. // try {
  134. // if(iTaCheckinService.removeById(id)){
  135. // responseBean.addSuccess("success");
  136. // }else {
  137. // responseBean.addError("fail");
  138. // }
  139. // }catch (Exception e){
  140. // logger.error("taCheckinDelete -=- {}",e.toString());
  141. // responseBean.addError(e.getMessage());
  142. // }
  143. // return responseBean;
  144. // }
  145. // /**
  146. // * 修改对象
  147. // * @param id 实体ID
  148. // * @param taCheckin 实体对象
  149. // * @return
  150. // */
  151. // @RequestMapping(value="/taCheckin/{id}",method= RequestMethod.PUT)
  152. // public ResponseBean taCheckinUpdate(@PathVariable Integer id,
  153. // @RequestBody TaCheckin taCheckin){
  154. // ResponseBean responseBean = new ResponseBean();
  155. // try {
  156. // if (iTaCheckinService.updateById(taCheckin)){
  157. // responseBean.addSuccess(taCheckin);
  158. // }else {
  159. // responseBean.addError("fail");
  160. // }
  161. // }catch (Exception e){
  162. // logger.error("taCheckinUpdate -=- {}",e.toString());
  163. // responseBean.addError(e.getMessage());
  164. // }
  165. // return responseBean;
  166. // }
  167. // /**
  168. // * 根据id查询对象
  169. // * @param id 实体ID
  170. // */
  171. // @RequestMapping(value="/taCheckin/{id}",method= RequestMethod.GET)
  172. // public ResponseBean taCheckinGet(@PathVariable Integer id){
  173. // ResponseBean responseBean = new ResponseBean();
  174. // try {
  175. // responseBean.addSuccess(iTaCheckinService.getById(id));
  176. // }catch (Exception e){
  177. // logger.error("taCheckinDelete -=- {}",e.toString());
  178. // responseBean.addError(e.getMessage());
  179. // }
  180. // return responseBean;
  181. // }
  182. }