7f88471f4b76ec0c0718937ecd1b7307e358461e.svn-base 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. package cn.com.goldenwater.dcproj.controller.meeting;
  2. import cn.com.goldenwater.dcproj.constValue.SmsCodeEnum;
  3. import cn.com.goldenwater.dcproj.model.AttMeetingInfo;
  4. import cn.com.goldenwater.dcproj.model.AttMeetingList;
  5. import cn.com.goldenwater.dcproj.model.BisInspAllRlationPers;
  6. import cn.com.goldenwater.dcproj.param.AttMeetingListParam;
  7. import cn.com.goldenwater.dcproj.service.AttMeetingInfoService;
  8. import cn.com.goldenwater.dcproj.service.AttMeetingListService;
  9. import cn.com.goldenwater.core.web.BaseController;
  10. import cn.com.goldenwater.core.web.BaseResponse;
  11. import cn.com.goldenwater.dcproj.service.BisInspAllRlationPersService;
  12. import cn.com.goldenwater.id.util.UuidUtil;
  13. import io.swagger.annotations.Api;
  14. import io.swagger.annotations.ApiOperation;
  15. import io.swagger.annotations.ApiParam;
  16. import org.apache.commons.lang3.StringUtils;
  17. import com.github.pagehelper.PageInfo;
  18. import org.slf4j.Logger;
  19. import org.slf4j.LoggerFactory;
  20. import org.springframework.beans.factory.annotation.Autowired;
  21. import org.springframework.util.Assert;
  22. import org.springframework.web.bind.annotation.PathVariable;
  23. import org.springframework.web.bind.annotation.RequestBody;
  24. import org.springframework.web.bind.annotation.RequestMapping;
  25. import org.springframework.web.bind.annotation.RequestMethod;
  26. import org.springframework.web.bind.annotation.RequestParam;
  27. import org.springframework.web.bind.annotation.RestController;
  28. import javax.servlet.http.HttpServletRequest;
  29. import java.util.*;
  30. /**
  31. * @author lune
  32. * @date 2019-7-9
  33. */
  34. @Api(value = "ATT 参会人员名单管理", tags = "ATT 参会人员名单管理")
  35. @RestController
  36. @RequestMapping("/att/meeting/list")
  37. public class AttMeetingListController extends BaseController {
  38. private Logger logger = LoggerFactory.getLogger(getClass());
  39. @Autowired
  40. private AttMeetingListService attMeetingListService;
  41. @Autowired
  42. public BisInspAllRlationPersService allRlationPersService;
  43. @Autowired
  44. public AttMeetingInfoService attMeetingInfoService;
  45. @ApiOperation(value = "添加/修改参会人员名单")
  46. @RequestMapping(value = "", method = RequestMethod.POST)
  47. public BaseResponse<AttMeetingList> insert(@ApiParam(name = "attMeetingList", value = "AttMeetingList", required = true) @RequestBody AttMeetingList attMeetingList) {
  48. if (StringUtils.isBlank(attMeetingList.getId())) {
  49. String uuid = UuidUtil.uuid(); // 生成uuid
  50. attMeetingList.setId(uuid);
  51. attMeetingListService.insert(attMeetingList);
  52. } else {
  53. attMeetingListService.update(attMeetingList);
  54. }
  55. return buildSuccessResponse(attMeetingList);
  56. }
  57. @ApiOperation(value = "根据ID删除参会人员名单")
  58. @RequestMapping(value = "/del/{id}", method = RequestMethod.GET)
  59. public BaseResponse delete(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) {
  60. int ret = attMeetingListService.delete(id);
  61. return buildSuccessResponse();
  62. }
  63. @ApiOperation(value = "邀请人员参加会议,选择当前系统用户")
  64. @RequestMapping(value = "/invite/{meetingId}", method = RequestMethod.POST)
  65. public BaseResponse invite(@ApiParam(name = "meetingId", value = "meetingId", required = true) @PathVariable String meetingId,
  66. @RequestBody List<BisInspAllRlationPers> allRlationPersList) {
  67. Assert.notNull(meetingId, "会议id为必填参数");
  68. Assert.notNull(allRlationPersList, "用户id为必填参数");
  69. List<AttMeetingList> notAttendList = new ArrayList<>();
  70. for (BisInspAllRlationPers person : allRlationPersList) {
  71. BisInspAllRlationPers allRlationPers = allRlationPersService.get(person.getGuid());
  72. if (allRlationPers == null) {
  73. continue;
  74. }
  75. notAttendList.add(attMeetingListService.addAttMeetingList(allRlationPers, meetingId, "2"));
  76. }
  77. return buildSuccessResponse(1003, "已邀请用户" + notAttendList.size() + "人", notAttendList);
  78. }
  79. @ApiOperation(value = "用户验证码登录")
  80. @RequestMapping(value = "/loginByCode", method = {RequestMethod.POST})
  81. public BaseResponse<Object> loginByCode(@RequestParam String phone, @RequestParam String code, @RequestParam String meetingId) {
  82. AttMeetingList meetingList = attMeetingListService.getAttmeetingList(phone, code, meetingId);
  83. if (meetingList == null) {
  84. return buildFailResponse(1001, "当前用户无权限参加该会议");
  85. }
  86. return buildSuccessResponse(1003, meetingList.getName() + "参加会议", meetingList);
  87. }
  88. @ApiOperation(value = "用户验证码登录并获取最新会议")
  89. @RequestMapping(value = "/loginByCodeNew", method = {RequestMethod.POST})
  90. public BaseResponse<Object> loginByCodeNew(@RequestParam String persName, @RequestParam String phone, @RequestParam String code) {
  91. if (!attMeetingListService.getAttmeeting(persName, phone, code)) {
  92. return buildFailResponse(1001, "验证失败");
  93. }
  94. //获取最新会议
  95. AttMeetingListParam attMeetingListParam = new AttMeetingListParam();
  96. attMeetingListParam.setName(persName);
  97. List<AttMeetingList> list = attMeetingListService.findList(attMeetingListParam);
  98. AttMeetingList attMeetingList = new AttMeetingList();
  99. if (list == null || list.size() == 0) {
  100. return buildFailResponse("系统中无该参会者记录,请联系管理员");
  101. } else {
  102. attMeetingList = list.get(0);
  103. attMeetingList.setMbleNum(phone);
  104. }
  105. AttMeetingInfo meetingInfo = attMeetingInfoService.findNearInfo();
  106. if (meetingInfo == null) {
  107. return buildFailResponse("无最新会议记录信息");
  108. }
  109. attMeetingList.setMbleNum(phone);
  110. attMeetingList.setSignState("1");
  111. attMeetingList.setSignTm(new Date());
  112. attMeetingListService.update(attMeetingList);
  113. Map<String, Object> objectMap = new HashMap<>(3);
  114. objectMap.put("meetingInfo", meetingInfo);
  115. objectMap.put("persId", attMeetingList.getId());
  116. objectMap.put("attMeetingList", attMeetingList);
  117. return buildSuccessResponse(objectMap);
  118. }
  119. @ApiOperation(value = "发送验证码")
  120. @RequestMapping(value = "/sendMessage", method = {RequestMethod.POST})
  121. public BaseResponse sendMessage(@RequestParam String phone, @RequestParam String persName) throws Exception {
  122. String resultCode = attMeetingListService.sendMessage(persName, phone);
  123. if (SmsCodeEnum.SUCCESS.getKey().equals(resultCode)) {
  124. return buildSuccessResponse(SmsCodeEnum.SUCCESS.getDesc());
  125. }
  126. if (SmsCodeEnum.NO_USER.getKey().equals(resultCode)) {
  127. return buildFailResponse(10002, SmsCodeEnum.NO_USER.getDesc());
  128. }
  129. return buildFailResponse(10001, SmsCodeEnum.ERROR.getDesc());
  130. }
  131. @ApiOperation(value = "用户扫码登录")
  132. @RequestMapping(value = "/{meetingId}/{persId}", method = RequestMethod.GET)
  133. public BaseResponse<AttMeetingList> getBy(@ApiParam(name = "meetingId", value = "meetingId", required = true) @PathVariable String meetingId,
  134. @ApiParam(name = "persId", value = "persId", required = true) @PathVariable String persId, HttpServletRequest request) {
  135. Assert.notNull(meetingId, "会议id为必填参数");
  136. Assert.notNull(persId, "用户id为必填参数");
  137. if (StringUtils.isBlank(persId)) {
  138. persId = request.getHeader("persId");
  139. if (StringUtils.isBlank(persId)) {
  140. return buildFailResponse(1001, "获取用户失败");
  141. }
  142. }
  143. BisInspAllRlationPers allRlationPers = allRlationPersService.get(persId);
  144. if (allRlationPers == null) {
  145. return buildFailResponse(1001, "未找到当前用户信息");
  146. }
  147. AttMeetingListParam attMeetingListParam = new AttMeetingListParam();
  148. attMeetingListParam.setMeetingId(meetingId);
  149. attMeetingListParam.setMbleNum(allRlationPers.getMobilenumb());
  150. AttMeetingList attMeetingList = attMeetingListService.getBy(attMeetingListParam);
  151. if (attMeetingList != null) {
  152. attMeetingList.setSignState("1");
  153. attMeetingListService.update(attMeetingList);
  154. return buildSuccessResponse(100, "已经参加会议", attMeetingList);
  155. } else {
  156. attMeetingListService.addAttMeetingList(allRlationPers, meetingId, "1");
  157. }
  158. return buildSuccessResponse(101, allRlationPers.getPersName() + "加入会议", attMeetingList);
  159. }
  160. @ApiOperation(value = "根据ID获取参会人员名单(单表)")
  161. @RequestMapping(value = "/{id}", method = RequestMethod.GET)
  162. public BaseResponse<AttMeetingList> get(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) {
  163. AttMeetingList attMeetingList = attMeetingListService.get(id);
  164. return buildSuccessResponse(attMeetingList);
  165. }
  166. @ApiOperation(value = "获取参会人员名单(列表所有)")
  167. @RequestMapping(value = "/list", method = RequestMethod.POST)
  168. public BaseResponse<List<AttMeetingList>> list(@ApiParam(name = "attMeetingListParam", value = "attMeetingListParam", required = true) @RequestBody AttMeetingListParam attMeetingListParam) {
  169. List<AttMeetingList> attMeetingListList = attMeetingListService.findList(attMeetingListParam);
  170. return buildSuccessResponse(attMeetingListList);
  171. }
  172. @ApiOperation(value = "获取参会人员名单(列表--分页)")
  173. @RequestMapping(value = "/page", method = RequestMethod.POST)
  174. public BaseResponse<PageInfo<AttMeetingList>> page(@ApiParam(name = "attMeetingListParam", value = "attMeetingListParam", required = true) @RequestBody AttMeetingListParam attMeetingListParam) {
  175. PageInfo<AttMeetingList> attMeetingListList = attMeetingListService.findPageInfo(attMeetingListParam);
  176. return buildSuccessResponse(attMeetingListList);
  177. }
  178. }