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 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
|
* @description: 社区服务
|
* @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")
|
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){
|
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)
|
@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);
|
}
|
|
@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);
|
}
|
|
@ApiOperation(value = "报名/取消报名社区活动")
|
@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);
|
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)
|
@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());
|
comMngVolunteerMngVO.setSubmitUserId(this.getUserId());
|
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(@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);
|
}
|
}
|