DESKTOP-71BH0QO\L、ming
2021-04-20 26cd8c7b2bc7a725a3de28d3ed883a6f54da84f1
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityApi.java
@@ -1,19 +1,24 @@
package com.panzhihua.applets.api;
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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.util.ObjectUtils;
import com.panzhihua.common.validated.PageGroup;
import io.swagger.annotations.*;
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
@@ -21,12 +26,21 @@
 * @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 =ComMngStructAreaVO.class )
    @PostMapping("pagearea")
    public R pageArea(@RequestBody ComMngStructAreaVO comMngStructAreaVO){
        return communityService.pageArea(comMngStructAreaVO);
    }
    @ApiOperation(value = "分页获取社区动态",response = ComActDynVO.class)
    @PostMapping("pagedynamic")
@@ -34,15 +48,29 @@
        Long communityId = this.getCommunityId();
        comActDynVO.setCommunityId(communityId);
        comActDynVO.setIsTopping(null);
        comActDynVO.setStatus(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)
@@ -50,6 +78,11 @@
    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);
    }
@@ -65,37 +98,110 @@
    @PutMapping("signactivity")
    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)
    @ApiImplicitParams ({@ApiImplicitParam(name ="type",value = "人员类型 1 普通居民 2 志愿者",required = true),
            @ApiImplicitParam(name ="id",value = "社区活动主键",required = true)})
    @GetMapping("listactivitysign")
    public R listActivitySign(@RequestParam("id") Long id){
    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("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);
    }
    @ApiOperation(value = "车辆登记")
    @PostMapping("car/register")
    public R addComMngCar(@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);
    }
}