From 7fc75c2aa55fe1b13ca9a89c23eea01d2d8942af Mon Sep 17 00:00:00 2001
From: tangxiaobao <303826152@qq.com>
Date: 星期二, 07 九月 2021 09:37:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/test' into txb

---
 springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityApi.java |  242 +++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 208 insertions(+), 34 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..4fc23dd 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,27 @@
 package com.panzhihua.applets.api;
 
-import com.panzhihua.common.controller.BaseController;
-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.service.community.CommunityService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.*;
+import java.util.Date;
 
 import javax.annotation.Resource;
+
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import com.alibaba.fastjson.JSONObject;
+import com.panzhihua.common.controller.BaseController;
+import com.panzhihua.common.model.dtos.community.ComMngCarAppletDTO;
+import com.panzhihua.common.model.dtos.community.PageVolunteerDTO;
+import com.panzhihua.common.model.vos.LoginUserInfoVO;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.community.*;
+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.*;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -20,59 +29,224 @@
  * @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)
+    @ApiOperation(value = "分页查询小区", response = ComMngStructAreaVO.class)
+    @PostMapping("pagearea")
+    public R pageArea(@RequestBody ComMngStructAreaVO comMngStructAreaVO) {
+        return communityService.pageArea(comMngStructAreaVO);
+    }
+
+    @ApiOperation(value = "分页获取社区动态", response = ComActDynVO.class)
     @PostMapping("pagedynamic")
-    public R pageDynamic(@RequestBody ComActDynVO comActDynVO){
-        Long communityId = this.getCommunityId();
-        comActDynVO.setCommunityId(communityId);
+    public R pageDynamic(@RequestBody ComActDynVO comActDynVO) {
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin();
+        if (loginUserInfo != null) {
+            comActDynVO.setCommunityId(loginUserInfo.getCommunityId());
+        }
+        comActDynVO.setIsTopping(null);
+        comActDynVO.setStatus(1);
         return communityService.pageDynamic(comActDynVO);
     }
 
-    @ApiOperation(value = "社区动态详情",response = ComActDynVO.class)
+    @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);
+    @ApiImplicitParam(name = "id", value = "社区动态主键", required = true)
+    public R detailDynamic(@RequestParam("id") Long id) {
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin();
+        Long userId = null;
+        if (loginUserInfo != null) {
+            userId = loginUserInfo.getUserId();
+        }
+        R r = communityService.detailDynamic(id);
+        if (R.isOk(r)) {
+            Object data = r.getData();
+            ComActDynVO comActDynVO = JSONObject.parseObject(JSONObject.toJSONString(data), ComActDynVO.class);
+            if (userId != null) {
+                // 增加浏览记录
+                R r1 = communityService.addDynamicUser(id, userId);
+                if (R.isOk(r1)) {
+                    comActDynVO.setIsAdd(1);
+                } else {
+                    comActDynVO.setIsAdd(0);
+                }
+            }
+            return R.ok(comActDynVO);
+        }
+        return r;
     }
 
-    @ApiOperation(value = "分页查询社区活动",response = ComActActivityVO.class)
+    @ApiOperation(value = "分页查询社区活动", response = ComActActivityVO.class)
     @PostMapping("pageactivity")
-    public R pageActivity(@RequestBody ComActActivityVO comActActivityVO){
+    public R pageActivity(@RequestBody ComActActivityVO comActActivityVO) {
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin();
+        if (loginUserInfo != null) {
+            comActActivityVO.setCommunityId(loginUserInfo.getCommunityId());
+        }
+        comActActivityVO.setIsApplets(1);
+        Integer status = comActActivityVO.getStatus();
+        if (null != status && status.intValue() == 4) {
+            comActActivityVO.setIsIng(1);
+        }
         return communityService.pageActivity(comActActivityVO);
     }
 
-    @ApiOperation(value = "社区活动/志愿者活动详情",response = ComActActivityVO.class)
+    @ApiOperation(value = "社区活动/志愿者活动详情", response = ComActActivityVO.class)
     @GetMapping("detailactivity")
-    @ApiImplicitParam(name ="id",value = "社区活动主键",required = true)
-    public R detailActivity(@RequestParam("id") Long id){
-        Long userId = this.getUserId();
-        return communityService.detailActivity(id,userId);
+    @ApiImplicitParam(name = "id", value = "社区活动主键", required = true)
+    public R detailActivity(@RequestParam("id") Long id) {
+        Long userId = null;
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin();
+        if (loginUserInfo != null) {
+            userId = loginUserInfo.getUserId();
+        }
+        return communityService.detailActivity(id, userId);
+    }
+
+    @ApiOperation(value = "分页查询活动评价记录", response = ComActActEvaluateVO.class)
+    @PostMapping("evaluate/page")
+    public R pageActivityEvaluates(@RequestBody ComActActEvaluateVO comActActEvaluateVO) {
+        return communityService.pageActivityEvaluates(comActActEvaluateVO);
+    }
+
+    @ApiOperation(value = "社区活动/志愿者活动签到")
+    @PostMapping("activity/sign-in")
+    public R activitySignIn(@RequestBody ComActActRegistVO comActActRegistVO) {
+        comActActRegistVO.setUserId(this.getUserId());
+        return communityService.activitySignIn(comActActRegistVO);
+    }
+
+    @ApiOperation(value = "社区活动/志愿者活动评价")
+    @PostMapping("activity/evaluate")
+    public R activityEvaluate(@RequestBody ComActActEvaluateVO comActActEvaluateVO) {
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
+        comActActEvaluateVO.setUserId(loginUserInfo.getUserId());
+        comActActEvaluateVO.setIsVolunteer(loginUserInfo.getIsVolunteer());
+        return communityService.activityEvaluate(comActActEvaluateVO);
     }
 
     @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){
-        ActivitySignVO activitySignVO=new ActivitySignVO();
+    @ApiOperation(value = "活动人员列表", response = ActivitySignVO.class)
+    @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);
-        return communityService.listActivitySign(activitySignVO);
+        if (null == type || 0 == type || type > 2) {
+            return R.fail("人员类型错误");
+        }
+        activitySignVO.setType(type);
+        return communityService.listActivitySigns(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());
+        comMngVolunteerMngVO.setSubmitUserId(this.getUserId());
+        return communityService.addVolunteer(comMngVolunteerMngVO);
+    }
 
+    @ApiOperation(value = "分页查询志愿者团队", response = ComMngVolunteerMngVO.class)
+    @PostMapping("pagevolunteer")
+    public R pageVolunteer(@RequestBody @Validated(PageGroup.class) PageVolunteerDTO pageVolunteerDTO) {
+        ComMngVolunteerMngVO comMngVolunteerMngVO = new ComMngVolunteerMngVO();
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin();
+        if (loginUserInfo != null) {
+            comMngVolunteerMngVO.setCommunityId(loginUserInfo.getCommunityId());
+        }
+        // Long communityId = this.getCommunityId();
+
+        // 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);
+    }
+
+    @ApiOperation(value = "车辆登记")
+    @PostMapping("car/register")
+    public R addComMngCar(@Validated(AddGroup.class) @RequestBody ComMngCarAppletDTO comMngCarAppletDTO) {
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
+        Long communityId = loginUserInfo.getCommunityId();
+        if (null != communityId && 0 != communityId) {
+            comMngCarAppletDTO.setCommunityId(communityId);
+            comMngCarAppletDTO.setAreaId(loginUserInfo.getAreaId());
+            comMngCarAppletDTO.setUserName(loginUserInfo.getName());
+            comMngCarAppletDTO.setUserId(loginUserInfo.getUserId());
+            comMngCarAppletDTO.setMobile(loginUserInfo.getPhone());
+            comMngCarAppletDTO.setSource(1);
+        }
+        return communityService.addComMngCarApplet(comMngCarAppletDTO);
+    }
+
+    @ApiOperation(value = "登记车辆列表", response = ComMngCarVO.class)
+    @GetMapping("car/list")
+    public R comMngCarList() {
+        return communityService.userComMngCarList(this.getUserId());
+    }
+
+    @ApiOperation(value = "获取树结构区域信息")
+    @GetMapping(value = "arealist")
+    public R getAllArea(@ApiParam(name = "城市编码:四川510000",
+        required = true) @RequestParam(value = "provinceAdcode") Integer provinceAdcode) {
+        return communityService.getCityTreeByProvinceCode(provinceAdcode);
+    }
 }

--
Gitblit v1.7.1