| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372 |
- package platform.modules.api.web;
- import org.apache.commons.lang3.StringUtils;
- import org.apache.ibatis.annotations.Param;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.util.CollectionUtils;
- import org.springframework.web.bind.annotation.*;
- import platform.common.Constant;
- import platform.common.annotation.OperationLog;
- import platform.common.base.controller.BaseController;
- import platform.common.util.ShiroUtils;
- import platform.modules.build.entity.Company;
- import platform.modules.build.service.CompanyService;
- import platform.modules.government.dto.ParamRegistration;
- import platform.modules.government.entity.Attachment;
- import platform.modules.government.entity.FileDown;
- import platform.modules.government.entity.User;
- import platform.modules.government.service.AttachmentService;
- import platform.modules.government.service.UserService;
- import platform.modules.sys.entity.ActivityDetail;
- import platform.modules.sys.entity.ActivityFavourite;
- import platform.modules.sys.entity.ActivityFeedback;
- import platform.modules.sys.entity.ActivityRegistration;
- import platform.modules.sys.service.*;
- import platform.modules.sys.web.ResponseMessage;
- import java.util.*;
- /**
- * @Author :huZhiHao
- * @Date :Created in 2019/12/16 15:23
- * @Description: TODO
- * @Modified By:
- * @Version: v0.0.1
- */
- @RestController
- @RequestMapping(value = "/activity")
- public class ActivityOpenController extends BaseController {
- @Autowired
- private ActivityService activityService;
- @Autowired
- private ActivityRegistrationService activityRegistrationService;
- @Autowired
- private ActivityFeedbackService activityFeedbackService;
- @Autowired
- private AttachmentService attachmentService;
- @Autowired
- private ActivityFavouriteService activityFavouriteService;
- @Autowired
- private UserService userService;
- @Autowired
- private CompanyService companyService;
- @Autowired
- private WaitToDoService waitToDoService;
- /**
- * @Author: huZhiHao
- * @Description: 获取详情
- * @Date: 2019/12/17
- * @Params: [activity_id]
- * @Return: platform.modules.sys.web.ResponseMessage
- **/
- @GetMapping(value = "/detail/{activity_id}")
- public ResponseMessage getActivityDetail(@PathVariable("activity_id") int id) throws Exception {
- ActivityDetail activityDetail = activityService.findOne(id + "");
- activityService.increment(id + "");
- List<ActivityRegistration> registrationList = activityRegistrationService.findRegistrationList(id);
- int num = 0;
- String quota = activityDetail.getActivity_quota();
- if (StringUtils.isBlank(quota)) quota = "0";
- for (ActivityRegistration activityRegistration : registrationList) {
- if (Objects.equals(activityRegistration.getReview_state(), "1")) {
- num++;
- }
- }
- int remain = Integer.parseInt(quota) - num;
- if (remain < 0) {
- remain = 0;
- }
- activityDetail.setActivity_remain(remain + "");
- List<Attachment> attachments = attachmentService.selectByIdAndBusinessId(Constant.Attachment.ACTIVITY, activityDetail.getId(), null);
- if (null != attachments && attachments.size() > 0) {
- FileDown fileDown = new FileDown(attachments.get(0).getId(), attachments.get(0).getFile_name(), attachments.get(0).getFile_url(), attachments.get(0).getDownload_uri());
- activityDetail.setFileDown(fileDown);
- }
- return ResponseMessage.success("查询成功!", activityDetail);
- }
- /**
- * @Author: huZhiHao
- * @Description: 是否已报名
- * @Date: 2019/12/17
- * @Params: [activity_id]
- * @Return: platform.modules.sys.web.ResponseMessage
- **/
- @GetMapping(value = "/is_regist")
- public ResponseMessage getActivityDetail(@RequestParam("activity_id") String id, @RequestParam("phone") String phone) {
- List<ActivityRegistration> activityRegistrationList = activityRegistrationService.getCurrRegUsers(id, phone);
- if (!CollectionUtils.isEmpty(activityRegistrationList)) {
- for (ActivityRegistration activityRegistration : activityRegistrationList) {
- if (!Objects.equals("3", activityRegistration.getReview_state())) {
- return ResponseMessage.success("查询成功!", true);
- }
- }
- }
- return ResponseMessage.success("查询成功!", false);
- }
- /**
- * 获取已报名的用户
- *
- * @return
- */
- @GetMapping(value = "/getRegUsers")
- public ResponseMessage getRegUsers(String activity_id, String user_id) {
- log.info("获取已报名的用户!");
- return ResponseMessage.success("查询成功!", activityRegistrationService.getCurrRegUsers(activity_id, user_id));
- }
- /**
- * @Author: huZhiHao
- * @Description: 活动报名
- * @Date: 2019/12/17
- * @Params: [paramRegistration]
- * @Return: platform.modules.sys.web.ResponseMessage
- **/
- @OperationLog(value = "报名活动")
- @PostMapping(value = "/joinActivity")
- public ResponseMessage joinActivity(@RequestBody ParamRegistration paramRegistration) {
- log.info("活动报名");
- Integer id = paramRegistration.getRegistrationList().get(0).getActivity_id();
- ActivityDetail activityDetail = activityService.findById(id);
- String quota = activityDetail.getActivity_quota();
- String isReview = activityDetail.getIs_review();
- int registrationNumber = 0;
- if (!Objects.equals(quota, null) && !Objects.equals(quota, "")) {
- //名额有限
- if (Objects.equals(isReview, "1")) {
- //需要审核
- //已报名人数
- registrationNumber = activityRegistrationService.getActivityRegistrationNumber(id);
- if (registrationNumber >= Integer.parseInt(quota)) {
- return ResponseMessage.error("名额不足,仅剩" + (Integer.parseInt(quota) - registrationNumber) + "个名额,请修改人数!");
- }
- }
- }
- List<ActivityRegistration> registrationList = paramRegistration.getRegistrationList();
- if (!org.apache.commons.collections.CollectionUtils.isEmpty(registrationList)) {
- List<ActivityRegistration> registrations = activityRegistrationService.findByActivityIdAndUserIdAndPhones(id + "", registrationList.get(0).getUser_id() + "", registrationList);
- if (!org.apache.commons.collections.CollectionUtils.isEmpty(registrations)) {
- String phone = "";
- for (ActivityRegistration registration : registrations) {
- phone += registration.getPhone() + " ";
- }
- return ResponseMessage.error("手机号码为:" + phone + "的用户已报名");
- }
- for (ActivityRegistration registration : registrationList) {
- // if (registration.getId() == null) {
- activityRegistrationService.saveActivityRegistration(registration);
- // }
- }
- List<User> pusers = userService.findUsersByPermission("G_ACTIVITY_MANAGE");
- waitToDoService.completeAllTODO(activityDetail.getId(), Constant.DictionaryType.ACTIVITY_APPLICATION);
- for (User puser : pusers) {
- waitToDoService.newTODO(activityDetail.getActivity_title() + "审核", "/government/activity/review/" + activityDetail.getId(), Constant.WaitToDo_OperType.AUDIT, activityDetail.getId(),
- Constant.DictionaryType.ACTIVITY_APPLICATION, null, puser.getId().toString(), Constant.WaitToDo_IsSerial.IS_SERIAL, false);
- }
- }
- if (!Objects.equals(quota, null) && !Objects.equals(quota, "")) {
- //名额有限
- if (Objects.equals(isReview, "1")) {
- //需要审核
- //已报名人数
- registrationNumber = activityRegistrationService.getActivityRegistrationNumber(id);
- return ResponseMessage.success("报名成功,剩余" + (Integer.parseInt(quota) - registrationNumber) + "个名额!", true);
- }
- }
- return ResponseMessage.success("报名成功!", true);
- }
- @OperationLog(value = "取消报名")
- @DeleteMapping(value = "/cancel_regist")
- public ResponseMessage cancelRegist(@RequestParam("activity_id") String id, @RequestParam("phone") String phone) {
- List<ActivityRegistration> activityRegistrationList = activityRegistrationService.getCurrRegUsers(id, phone);
- if (!CollectionUtils.isEmpty(activityRegistrationList)) {
- List<String> ids = new ArrayList<>();
- for (ActivityRegistration activityRegistration : activityRegistrationList) {
- ids.add(activityRegistration.getId() + "");
- }
- activityRegistrationService.adortRegister(ids);
- }
- return ResponseMessage.success("操作成功!");
- }
- @OperationLog(value = "删除报名")
- @DeleteMapping(value = "/delete_regist")
- public ResponseMessage deleteRegist(@RequestParam("regist_id") String registId) {
- ActivityRegistration activityRegistration = new ActivityRegistration();
- activityRegistration.setId(Integer.parseInt(registId));
- activityRegistration.setDel_flag(true);
- activityRegistrationService.updateSelective(activityRegistration);
- return ResponseMessage.success("操作成功!");
- }
- /**
- * @Author: huZhiHao
- * @Description: 获取已报名
- * @Date: 2019/12/17
- * @Params: [id]
- * @Return: platform.modules.sys.web.ResponseMessage
- **/
- @GetMapping(value = "/regist_user/list")
- public ResponseMessage getCurrRegUsers(@RequestParam("activity_id") String id, @RequestParam("phone") String phone) {
- List<ActivityRegistration> activityRegistrationList = activityRegistrationService.getCurrRegUsers(id, phone);
- return ResponseMessage.success("查询成功!", activityRegistrationList);
- }
- /**
- * @Author: huZhiHao
- * @Description: 查询是否收藏
- * @Date: 2019/12/17
- * @Params: [id]
- * @Return: platform.modules.sys.web.ResponseMessage
- **/
- @GetMapping(value = "/is_favourite")
- public ResponseMessage isFavourite(@RequestParam("activity_id") String activityId, @RequestParam("user_id") String userId) throws Exception {
- log.info("查询是否收藏!activity_id = {}", activityId);
- ActivityFavourite activityFavourite = activityFavouriteService.selectByActivityIdAndUserId(activityId, userId);
- if (Objects.equals(activityFavourite, null)) return ResponseMessage.success("查询成功!", false);
- return ResponseMessage.success("查询成功!", true);
- }
- /**
- * @Author: huZhiHao
- * @Description: 添加收藏
- * @Date: 2019/12/17
- * @Params: [id]
- * @Return: platform.modules.sys.web.ResponseMessage
- **/
- @OperationLog(value = "收藏活动")
- @PostMapping(value = "/add_favourite")
- public ResponseMessage addFavourite(@RequestBody ActivityFavourite activityFavourite) throws Exception {
- int count = activityFavouriteService.saveActivityFavourite(activityFavourite);
- if (count > 0) return ResponseMessage.success("收藏成功!");
- return ResponseMessage.success("收藏失败!");
- }
- /**
- * @Author: huZhiHao
- * @Description: 取消收藏
- * @Date: 2019/12/17
- * @Params: [id]
- * @Return: platform.modules.sys.web.ResponseMessage
- **/
- @OperationLog(value = "取消收藏活动")
- @DeleteMapping(value = "/remove_favourite")
- public ResponseMessage removeFavourite(@RequestParam("activity_id") String activity_id, @RequestParam("user_id") String userId) throws Exception {
- boolean b = activityFavouriteService.deleteByActivityIdAndUserId(activity_id, userId);
- if (b) return ResponseMessage.success("取消收藏成功!");
- return ResponseMessage.success("取消收藏失败!");
- }
- //更新登记表
- @OperationLog(value = "更新登记表")
- @PutMapping(value = "/registration")
- public ResponseMessage updateRegistration(@RequestBody ActivityRegistration activityRegistration) {
- Integer ret = activityRegistrationService.updateSelective(activityRegistration);
- if (ret > 0) return ResponseMessage.success("更新成功!");
- return ResponseMessage.success("更新失败!");
- }
- //根据手机号获取报名信息
- @OperationLog(value = "根据手机号获取报名信息")
- @GetMapping(value = "/registration")
- public ResponseMessage getByPhone(@RequestParam("activity_id") Integer id, @RequestParam("phone") String phone) {
- ActivityRegistration activityRegistration = new ActivityRegistration();
- activityRegistration.setActivity_id(id);
- activityRegistration.setPhone(phone);
- List<ActivityRegistration> ret = activityRegistrationService.findListByWhere(activityRegistration);
- Iterator<ActivityRegistration> it = ret.iterator();
- while (it.hasNext()) {
- if (Objects.equals(it.next().getReview_state(), "3"))
- it.remove();
- }
- if (CollectionUtils.isEmpty(ret)) return ResponseMessage.success("查询成功!");
- return ResponseMessage.success("查询成功!", ret.get(0));
- }
- //签到
- @OperationLog(value = "签到")
- @PutMapping(value = "/sign")
- public ResponseMessage getByPhone(@RequestBody ActivityRegistration activityRegistration) {
- activityRegistration.setReview_state("1");
- ActivityRegistration activityRegistration1 = activityRegistrationService.findOne(activityRegistration);
- if (activityRegistration1 != null) {
- ActivityRegistration activityRegistration_n = new ActivityRegistration();
- activityRegistration_n.setId(activityRegistration1.getId());
- activityRegistration_n.setSign_state("0");
- activityRegistration_n.setSign_time(new Date());
- activityRegistrationService.updateSelective(activityRegistration_n);
- return ResponseMessage.success("签到成功!");
- }
- return ResponseMessage.error("签到失败!");
- }
- //根据手机号获取用户信息和企业信息
- @OperationLog(value = "根据手机号获取用户信息和企业信息")
- @GetMapping(value = "/user_info")
- public ResponseMessage getuserInfoByPhone(@RequestParam("phone") String phone) {
- Map<String, String> map = new HashMap<>();
- User user = userService.findByMobile(phone);
- if (user != null) {
- map.put("user_id", user.getId() + "");
- map.put("user_name", user.getUser_name());
- map.put("phone", user.getPhone());
- map.put("email", user.getEmail());
- if (user.getCompany_id() != null) {
- Company company = companyService.findById(user.getCompany_id());
- map.put("company_name", company.getCompany_name());
- map.put("industry_name", company.getIndustry_name());
- }
- }
- return ResponseMessage.success("查询成功!", map);
- }
- @OperationLog(value = "根据活动id获取最新的公开反馈评论信息")
- @GetMapping(value = "/feedback/list")
- public ResponseMessage feedbackList(@RequestParam("activity_id") String activityId, @RequestParam("min_score") String minScore, @RequestParam("max_score") String maxScore) {
- List<ActivityFeedback> list = activityFeedbackService.feedbackList(activityId, "1", "1", minScore, maxScore);
- return ResponseMessage.success("操作成功!", list);
- }
- @OperationLog(value = "根据活动id和用户id获取反馈评论信息")
- @GetMapping(value = "/feedback")
- public ResponseMessage feedbackGet(@RequestParam("activity_id") String activityId, @RequestParam("user_id") String userId) {
- return ResponseMessage.success("操作成功!", activityFeedbackService.feedbackGet(activityId, userId));
- }
- @OperationLog(value = "新增反馈")
- @PostMapping(value = "/feedback")
- public ResponseMessage feedbackSave(@RequestBody ActivityFeedback activityFeedback) {
- return ResponseMessage.success("操作成功!", activityFeedbackService.feedbackSave(activityFeedback));
- }
- @OperationLog(value = "获取各分数段人数")
- @GetMapping(value = "/feedback/score_count")
- public ResponseMessage feedbackScoreCount(@RequestParam("activity_id") String activityId) {
- return ResponseMessage.success("操作成功!", activityFeedbackService.getScoreCount(activityId, "1", "1", null, null));
- }
- }
|