From b3c6911c1e78563dc04998dd7bfb510130a9fcec Mon Sep 17 00:00:00 2001
From: huanghongfa <18228131219@163.com>
Date: 星期一, 01 二月 2021 16:37:52 +0800
Subject: [PATCH] auth

---
 springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityApi.java |  120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 109 insertions(+), 11 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityApi.java b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityApi.java
index 7cc0a6d..bfe4ad8 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityApi.java
@@ -1,18 +1,26 @@
 package com.panzhihua.applets.api;
 
+import com.alibaba.fastjson.JSONObject;
 import com.panzhihua.common.controller.BaseController;
+import com.panzhihua.common.model.dtos.community.PageVolunteerDTO;
 import com.panzhihua.common.model.vos.R;
-import com.panzhihua.common.model.vos.community.ActivitySignVO;
-import com.panzhihua.common.model.vos.community.ComActActivityVO;
-import com.panzhihua.common.model.vos.community.ComActDynVO;
-import com.panzhihua.common.model.vos.community.SignactivityVO;
+import com.panzhihua.common.model.vos.community.*;
+import com.panzhihua.common.model.vos.partybuilding.PartyBuildingActivityVO;
+import com.panzhihua.common.model.vos.user.SysUserNoticeVO;
 import com.panzhihua.common.service.community.CommunityService;
+import com.panzhihua.common.service.user.UserService;
+import com.panzhihua.common.validated.AddGroup;
+import com.panzhihua.common.validated.PageGroup;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.Date;
 
 /**
  * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -20,31 +28,57 @@
  * @author: huang.hongfa weixin hhf9596 qq 959656820
  * @create: 2020-12-10 10:04
  **/
+@Slf4j
 @RestController
 @RequestMapping("/community/")
 @Api(tags = {"社区服务"})
 public class CommunityApi extends BaseController {
     @Resource
     private CommunityService communityService;
+    @Resource
+    private UserService userService;
 
     @ApiOperation(value = "分页获取社区动态",response = ComActDynVO.class)
     @PostMapping("pagedynamic")
     public R pageDynamic(@RequestBody ComActDynVO comActDynVO){
         Long communityId = this.getCommunityId();
         comActDynVO.setCommunityId(communityId);
+        comActDynVO.setIsTopping(null);
+        comActDynVO.setStatus(1);
         return communityService.pageDynamic(comActDynVO);
     }
 
     @ApiOperation(value = "社区动态详情",response = ComActDynVO.class)
     @GetMapping("detaildynamic")
     @ApiImplicitParam(name ="id",value = "社区动态主键",required = true)
-    public R detailDynamic(@RequestParam("id") Long id){//todo 增加微信分享接口
-        return communityService.detailDynamic(id);
+    public R detailDynamic(@RequestParam("id") Long id){
+        Long userId = this.getUserId();
+        R r = communityService.detailDynamic(id);
+        if (R.isOk(r)) {
+            //增加浏览记录
+            R r1 = communityService.addDynamicUser(id, userId);
+            Object data = r.getData();
+            ComActDynVO comActDynVO=JSONObject.parseObject(JSONObject.toJSONString(data),ComActDynVO.class);
+            if (R.isOk(r1)) {
+                comActDynVO.setIsAdd(1);
+            }else{
+                comActDynVO.setIsAdd(0);
+            }
+            return R.ok(comActDynVO);
+        }
+        return r;
     }
 
     @ApiOperation(value = "分页查询社区活动",response = ComActActivityVO.class)
     @PostMapping("pageactivity")
     public R pageActivity(@RequestBody ComActActivityVO comActActivityVO){
+        Long communityId = this.getCommunityId();
+        comActActivityVO.setCommunityId(communityId);
+        comActActivityVO.setIsApplets(1);
+        Integer status = comActActivityVO.getStatus();
+        if (null!=status&&status.intValue()==4) {
+            comActActivityVO.setIsIng(1);
+        }
         return communityService.pageActivity(comActActivityVO);
     }
 
@@ -58,21 +92,85 @@
 
     @ApiOperation(value = "报名/取消报名社区活动")
     @PutMapping("signactivity")
-    public R signActivity(@RequestBody SignactivityVO signactivityVO){
+    public R signActivity(@RequestBody @Validated(AddGroup.class) SignactivityVO signactivityVO){
         Long userId = this.getUserId();
+        Long activityId = signactivityVO.getActivityId();
+        Integer isVolunteer = signactivityVO.getIsVolunteer();
         signactivityVO.setUserId(userId);
-        return communityService.signActivity(signactivityVO);
+        R r = communityService.signActivity(signactivityVO);
+        if (R.isOk(r)&&signactivityVO.getType().intValue()==1) {
+            R r2 = communityService.detailActivity(activityId, userId);
+            ComActActivityVO comActActivityVO= JSONObject.parseObject(JSONObject.toJSONString(r2.getData()),ComActActivityVO.class);
+            SysUserNoticeVO sysUserNoticeVO=new SysUserNoticeVO();
+            sysUserNoticeVO.setUserId(userId);
+            sysUserNoticeVO.setType(1);
+            sysUserNoticeVO.setTitle("报名成功");
+            sysUserNoticeVO.setBusinessType(1);
+            sysUserNoticeVO.setBusinessTitle(comActActivityVO.getActivityName());
+            Date beginAt = comActActivityVO.getBeginAt();
+            sysUserNoticeVO.setBusinessContent(String.format("活动将于%tF %tT  开始,请按时参加", beginAt,beginAt));
+            sysUserNoticeVO.setBusinessId(activityId);
+            sysUserNoticeVO.setStatus(0);
+            sysUserNoticeVO.setActivityType(isVolunteer.intValue()==1?1:2);
+            sysUserNoticeVO.setBusinessStatus(2);
+            R r1 = userService.addNotice(sysUserNoticeVO);
+            if (R.isOk(r1)) {
+                log.info("新增用户报名社区活动通知成功【{}】", JSONObject.toJSONString(sysUserNoticeVO));
+            }
+        }
+        return r;
     }
 
     @ApiOperation(value = "活动人员列表",response = ActivitySignVO.class)
-    @ApiImplicitParam(name ="id",value = "社区活动主键",required = true)
-    @PostMapping("listactivitysign")
-    public R listActivitySign(@RequestParam("id") Long id){
+    @ApiImplicitParams ({@ApiImplicitParam(name ="type",value = "人员类型 1 普通居民 2 志愿者",required = true),
+            @ApiImplicitParam(name ="id",value = "社区活动主键",required = true)})
+    @GetMapping("listactivitysign")
+    public R listActivitySign(@RequestParam("id") Long id,@RequestParam("type") Integer type){
         ActivitySignVO activitySignVO=new ActivitySignVO();
         activitySignVO.setActivityId(id);
+        if (null==type||0==type||type>2) {
+            return R.fail("人员类型错误");
+        }
+        activitySignVO.setType(type);
         return communityService.listActivitySign(activitySignVO);
     }
 
+//    @ApiOperation(value = "新增社区动态浏览记录")
+//    @PostMapping("dynamicuser")
+//    public R addDynamicUser(@RequestBody ComActDynVO comActDynVO){
+//        Long id = comActDynVO.getId();
+//        if (null==id||id==0) {
+//            return R.fail("社区动态不存在");
+//        }
+//        Long userId = this.getUserId();
+//        return communityService.addDynamicUser(id,userId);
+//    }
+
+    @ApiOperation(value = "志愿者申请")
+    @PostMapping("volunteer")
+    public R addVolunteer(@RequestBody @Validated(AddGroup.class) ComMngVolunteerMngVO comMngVolunteerMngVO){
+        comMngVolunteerMngVO.setState(1);
+        comMngVolunteerMngVO.setCommunityId(this.getCommunityId());
+        return communityService.addVolunteer(comMngVolunteerMngVO);
+    }
+
+    @ApiOperation(value = "分页查询志愿者团队",response = ComMngVolunteerMngVO.class)
+    @PostMapping("pagevolunteer")
+    public R pageVolunteer(@RequestBody @Validated(PageGroup.class) PageVolunteerDTO pageVolunteerDTO){
+        Long communityId = this.getCommunityId();
+        ComMngVolunteerMngVO comMngVolunteerMngVO=new ComMngVolunteerMngVO();
+        comMngVolunteerMngVO.setCommunityId(communityId);
+        comMngVolunteerMngVO.setPageNum(pageVolunteerDTO.getPageNum());
+        comMngVolunteerMngVO.setPageSize(pageVolunteerDTO.getPageSize());
+        return communityService.pageVolunteer(comMngVolunteerMngVO);
+    }
+
+    @ApiOperation(value = "志愿者详情",response = ComMngVolunteerMngAppletsVO.class)
+    @GetMapping("volunteer")
+    public R detailVolunteer(@RequestParam("id") Long id){
+        return communityService.detailVolunteer(id);
+    }
 
 
 }
+

--
Gitblit v1.7.1