DESKTOP-71BH0QO\L、ming
2021-04-17 f721ee13dc5f95f607bb25b09f73cae6a7123ed9
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/IndexApi.java
New file
@@ -0,0 +1,322 @@
package com.panzhihua.applets.api;
import com.panzhihua.applets.weixin.CheckService;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.dtos.PageDTO;
import com.panzhihua.common.model.dtos.community.ComActEasyPhotoCommentDTO;
import com.panzhihua.common.model.dtos.community.PageComActEasyPhotoCommentDTO;
import com.panzhihua.common.model.dtos.community.ComActEasyPhotoCommentUserDTO;
import com.panzhihua.common.model.dtos.community.NoticeReadDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.advertisement.ComOpsAdvVO;
import com.panzhihua.common.model.vos.community.ComActEasyPhotoCommentVO;
import com.panzhihua.common.model.vos.community.ComActEasyPhotoVO;
import com.panzhihua.common.model.vos.community.ComActMessageBackVO;
import com.panzhihua.common.model.vos.community.ComActMessageVO;
import com.panzhihua.common.model.vos.community.ComActMicroWishVO;
import com.panzhihua.common.model.vos.community.PageComActMessageVO;
import com.panzhihua.common.model.vos.user.NoticeUnReadVO;
import com.panzhihua.common.model.vos.user.SysUserAgreementVO;
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.ApiOperation;
import org.springframework.util.ObjectUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 首页
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-10 14:39
 **/
@RestController
@RequestMapping("/index/")
@Api(tags = {"首页"})
public class IndexApi extends BaseController {
    @Resource
    private CommunityService communityService;
    @Resource
    private UserService userService;
    @Resource
    private CheckService checkService;
    @ApiOperation(value = "分页展示社区随手拍",response = ComActEasyPhotoVO.class)
    @PostMapping("pageeasyphoto")
    public R pageEasyPhoto (@RequestBody ComActEasyPhotoVO comActEasyPhotoVO){
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        Long communityId = loginUserInfo.getCommunityId();
        if (null==communityId||0==communityId) {
            return R.fail("用户未绑定社区");
        }
        comActEasyPhotoVO.setCommunityId(communityId);
        comActEasyPhotoVO.setLogInUserId(loginUserInfo.getUserId());
        return communityService.pageEasyPhotoApplets(comActEasyPhotoVO);
    }
    @ApiOperation("上传随手拍")
    @PostMapping("easyphoto")
    public R addEasyPhoto (@RequestBody @Validated(AddGroup.class) ComActEasyPhotoVO comActEasyPhotoVO){
        //        微信内容审核
        String msg = comActEasyPhotoVO.getDetail();
        if (!checkService.checkMessage(msg)) {
            return R.fail("内容违规");
        }
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        Long communityId = loginUserInfo.getCommunityId();
        if (null==communityId||0==communityId) {
            return R.fail("用户未绑定社区");
        }
        Long userId = loginUserInfo.getUserId();
        comActEasyPhotoVO.setCommunityId(communityId);
        comActEasyPhotoVO.setSponsorId(userId);
        comActEasyPhotoVO.setStatus(1);
        return communityService.addEasyPhoto(comActEasyPhotoVO);
    }
    @ApiOperation(value = "随手拍详情",response =ComActEasyPhotoVO.class )
    @GetMapping("detaileasyphoto")
    @ApiImplicitParam(name = "id",value = "随手拍主键")
    public R detailEasyPhoto (@RequestParam("id") Long id){
        Long userId = this.getUserId();
        return communityService.detailEasyPhoto(id,userId);
    }
    @ApiOperation(value = "随手拍--评论--分页查询",response = ComActEasyPhotoCommentVO.class )
    @PostMapping("pagecomacteasyphotocomment")
    public R pageComActEasyPhotoComment (@RequestBody PageComActEasyPhotoCommentDTO pageComActEasyPhotoCommentDTO){
        pageComActEasyPhotoCommentDTO.setUserId(this.getUserId());
        return communityService.pageComActEasyPhotoComment(pageComActEasyPhotoCommentDTO);
    }
    @ApiOperation(value = "随手拍--评论--新增评论")
    @PostMapping("comacteasyphotocomment")
    public R addComActEasyPhotoComment (@RequestBody ComActEasyPhotoCommentDTO comActEasyPhotoCommentDTO){
        comActEasyPhotoCommentDTO.setUserId(this.getUserId());
        return communityService.addComActEasyPhotoComment(comActEasyPhotoCommentDTO);
    }
    @ApiOperation(value = "随手拍--评论--点赞/取消点赞" )
    @PostMapping("commentsign")
    public R commentSign (@RequestBody ComActEasyPhotoCommentUserDTO comActEasyPhotoCommentUserDTO){
        comActEasyPhotoCommentUserDTO.setUserId(this.getUserId());
        return communityService.commentSign(comActEasyPhotoCommentUserDTO);
    }
    @ApiOperation("点赞/取消点赞随手拍")
    @PutMapping("easyphoto")
    public R putEasyPhoto (@RequestBody ComActEasyPhotoVO comActEasyPhotoVO){
        Long id = comActEasyPhotoVO.getId();
        if (null==id||id==0) {
            return R.fail("随手拍主键不能为空");
        }
        Integer haveGiveThumbsUp = comActEasyPhotoVO.getHaveGiveThumbsUp();
        if (null==haveGiveThumbsUp) {
            return R.fail("操作类型不能为空");
        }
        Long userId = this.getUserId();
        comActEasyPhotoVO.setSponsorId(userId);
        return communityService.putEasyPhoto(comActEasyPhotoVO);
    }
    @ApiOperation(value = "分页展示社区微心愿",response = ComActMicroWishVO.class)
    @PostMapping("pagemicrowish")
    public R pageMicroWish (@RequestBody ComActMicroWishVO comActMicroWishVO){
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        Long communityId = loginUserInfo.getCommunityId();
        if (null==communityId||0==communityId) {
            return R.fail("用户未绑定社区");
        }
        Long userId = loginUserInfo.getUserId();
        comActMicroWishVO.setCommunityId(communityId);
        comActMicroWishVO.setIsApplets(1);
        comActMicroWishVO.setResponsibleId(userId);//责任人暂时放登录用户id
        comActMicroWishVO.setIsPageMyWish(null);
        return communityService.pageMicroWish(comActMicroWishVO);
    }
    @ApiOperation("发布微心愿")
    @PostMapping("microwish")
    public R addMicroWish (@RequestBody @Validated(AddGroup.class) ComActMicroWishVO comActMicroWishVO){
        //        微信内容审核
        String msg = comActMicroWishVO.getDetail();
        if (!checkService.checkMessage(msg)) {
            return R.fail("内容违规");
        }
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        Long communityId = loginUserInfo.getCommunityId();
        if (null==communityId||0==communityId) {
            return R.fail("用户未绑定社区");
        }
        Long userId = loginUserInfo.getUserId();
        String phone = loginUserInfo.getPhone();
        if (ObjectUtils.isEmpty(phone)) {
//            return R.fail("用户绑定手机号后才能发布微心愿");
            phone="18228784579";
        }
        comActMicroWishVO.setSponsorPhone(phone);
        comActMicroWishVO.setCommunityId(communityId);
        comActMicroWishVO.setSponsorId(userId);
        return communityService.addMicroWish(comActMicroWishVO);
    }
    @ApiOperation(value = "心愿详情",response = ComActMicroWishVO.class)
    @GetMapping("microwish")
    @ApiImplicitParam(name = "id",value = "微心愿主键")
    public R detailMicroWish (@RequestParam("id")Long id){
        Long userId = this.getUserId();
        return communityService.detailMicroWish(id,userId);
    }
    @ApiOperation("点赞/取消点赞微心愿")
    @PutMapping("microwish")
    public R putMicroWish (@RequestBody ComActMicroWishVO comActMicroWishVO){
        Long id = comActMicroWishVO.getId();
        if (null==id||id==0) {
            return R.fail("微心愿主键不能为空");
        }
        Long userId = this.getUserId();
        comActMicroWishVO.setSponsorId(userId);//发起人字段暂时存放userId
        return communityService.putMicroWish(comActMicroWishVO);
    }
    @ApiOperation(value = "首页广告banner",response = ComOpsAdvVO.class)
    @GetMapping("listadvertisement")
    public R listAdvertisement (){
        return communityService.listAdvertisement();
    }
    @ApiOperation(value = "分页通知列表",response = SysUserNoticeVO.class)
    @PostMapping("pagenotice")
    public R pageNotice (@RequestBody @Validated(PageGroup.class) PageDTO pageDTO){
        Long userId = this.getUserId();
        pageDTO.setUserId(userId);
        return userService.pageNotice(pageDTO);
    }
    @ApiOperation(value = "通知已读")
    @PutMapping("notice")
    public R putNotice (@RequestBody NoticeReadDTO noticeReadDTO){
        Long userId = this.getUserId();
        noticeReadDTO.setUserId(userId);
        return userService.putNotice(noticeReadDTO);
    }
    @ApiOperation(value = "未读消息汇总",response = NoticeUnReadVO.class)
    @GetMapping("noticeunreadnum")
    public R noticeUnreadNum (){
        Long userId = this.getUserId();
        return userService.noticeUnreadNum(userId);
    }
    @ApiOperation(value = "获取各种协议",response = SysUserAgreementVO.class)
    @GetMapping("agreement")
    @ApiImplicitParam(name = "type",value = "1居民端app协议 2网格员端app协议 3商家端app协议 4隐私政策")
    public R agreement (@RequestParam("type")Integer type){
        return userService.agreement(type);
    }
    @ApiOperation("发布留言")
    @PostMapping("addmessage")
    public R addMessage(@RequestBody @Validated(AddGroup.class) ComActMessageVO comActMessageVO){
        //        微信内容审核
        String msg = comActMessageVO.getMsgContent();
        if (!checkService.checkMessage(msg)) {
            return R.fail("内容违规");
        }
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        Long communityId = loginUserInfo.getCommunityId();
        if (null==communityId||0==communityId) {
            return R.fail("用户未绑定社区");
        }
        Integer type = loginUserInfo.getType();
        if(null==type||(type!=1&&type!=2)) {
           return R.fail("留言对象类型错误!");
        }
        Long userId = loginUserInfo.getUserId();
        comActMessageVO.setCommunityId(communityId);
        comActMessageVO.setUserId(userId);
        comActMessageVO.setUserName(loginUserInfo.getName());
        comActMessageVO.setUserAccount(loginUserInfo.getAccount());
        comActMessageVO.setUserPhone(loginUserInfo.getPhone());
        comActMessageVO.setIspublic(1);
        comActMessageVO.setStatus(1);
        return communityService.addMessage(comActMessageVO);
    }
    @ApiOperation("发布留言回复")
    @PostMapping("addmessageback")
    public R addMessageBack(@RequestBody @Validated(AddGroup.class) ComActMessageBackVO comActMessageBackVO){
        //        微信内容审核
        String msg = comActMessageBackVO.getMsgContent();
        if (!checkService.checkMessage(msg)) {
            return R.fail("内容违规");
        }
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        Long communityId = loginUserInfo.getCommunityId();
        if (null==communityId||0==communityId) {
            return R.fail("用户未绑定社区");
        }
        Integer type = loginUserInfo.getType();
        if(null==type||(type!=1&&type!=2)) {
           return R.fail("留言对象类型错误!");
        }
        Long userId = loginUserInfo.getUserId();
        comActMessageBackVO.setCommunityId(communityId);
        comActMessageBackVO.setUserId(userId);
        comActMessageBackVO.setUserName(loginUserInfo.getName());
        comActMessageBackVO.setUserAccount(loginUserInfo.getAccount());
        comActMessageBackVO.setIspublic(1);
        comActMessageBackVO.setStatus(1);
        return communityService.addMessageBack(comActMessageBackVO);
    }
    @ApiOperation(value = "分页显示我的留言",response = ComActMessageVO.class)
    @PostMapping("pagemymessage")
    public R pageMyMessage (@RequestBody ComActMessageVO comActMessageVO){
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        Long communityId = loginUserInfo.getCommunityId();
        if (null==communityId||0==communityId) {
            return R.fail("用户未绑定社区");
        }
        comActMessageVO.setCommunityId(communityId);
        comActMessageVO.setUserId(loginUserInfo.getUserId());
        return communityService.pageMyMessageApplets(comActMessageVO);
    }
    @ApiOperation(value = "分页显示居民给我的留言",response = ComActMessageVO.class)
    @PostMapping("pagesendtomemessage")
    public R pageSendToMessage (@RequestBody ComActMessageVO comActMessageVO){
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        Long communityId = loginUserInfo.getCommunityId();
        if (null==communityId||0==communityId) {
            return R.fail("用户未绑定社区");
        }
        comActMessageVO.setCommunityId(communityId);
        comActMessageVO.setUserId(loginUserInfo.getUserId());
        comActMessageVO.setPhone(loginUserInfo.getPhone());
        return communityService.pageSendToMessageApplets(comActMessageVO);
    }
    @ApiOperation(value = "分页显示指定用户的留言",response =ComActMessageVO.class )
    @PostMapping("pagemessagebyuser")
    public R pageMessageByUser (@RequestBody ComActMessageVO comActMessageVO){
        return communityService.pageMessageByUser(comActMessageVO);
    }
    @ApiOperation(value = "留言详情",response =ComActMessageVO.class )
    @GetMapping("detailmessage")
    @ApiImplicitParam(name = "id",value = "随手拍主键")
    public R detailMessage(@RequestParam("id") Long id){
        return communityService.detailMessage(id);
    }
}