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/UserApi.java | 276 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 265 insertions(+), 11 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/UserApi.java b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/UserApi.java index e8b9f93..46da1b7 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/UserApi.java +++ b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/UserApi.java @@ -1,18 +1,34 @@ package com.panzhihua.applets.api; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.panzhihua.common.model.dtos.user.SysUserFeedbackDTO; +import com.panzhihua.common.model.vos.community.*; +import com.panzhihua.common.model.vos.user.ComMngFamilyInfoVO; +import com.panzhihua.common.model.vos.user.SysUserNoticeVO; +import com.panzhihua.common.model.vos.user.UserPhoneVO; +import com.panzhihua.common.service.community.CommunityService; +import com.panzhihua.common.service.partybuilding.PartyBuildingService; import com.panzhihua.common.service.user.UserService; import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.exceptions.UnAuthenticationException; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.validated.AddGroup; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; import org.springframework.util.ObjectUtils; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; /** * @program: springcloud_k8s_panzhihuazhihuishequ @@ -20,22 +36,260 @@ * @author: huang.hongfa weixin hhf9596 qq 959656820 * @create: 2020-11-24 12:03 **/ +@Slf4j @RestController @RequestMapping("/user/") -@Api(tags = {"用户模块"}) +@Api(tags = {"我的模块"}) public class UserApi extends BaseController { @Resource private UserService userService; + @Resource + private CommunityService communityService; + @Resource + private PartyBuildingService partyBuildingService; - @ApiOperation(value = "当前登录用户信息",response = LoginUserInfoVO.class) + @ApiOperation(value = "当前登录用户信息", response = LoginUserInfoVO.class) @GetMapping("info") - public R getUserInfo(){ - Long userId = this.getUserId(); - boolean empty = ObjectUtils.isEmpty(userId); - if (empty) { - throw new UnAuthenticationException(); - } + public R getUserInfo() { + LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); + Long communityId = loginUserInfo.getCommunityId(); + Long userId = loginUserInfo.getUserId(); + Long areaId = loginUserInfo.getAreaId(); R<LoginUserInfoVO> r = userService.getUserInfoByUserId(userId + ""); + if (R.isOk(r)) { + Object data = r.getData(); + if (!ObjectUtils.isEmpty(data)) { + LoginUserInfoVO loginUserInfoVO = (LoginUserInfoVO) data; + R r1 = communityService.detailHouse(userId); + if (null!=communityId&&0!=communityId) { + R r2=communityService.detailCommunity(communityId); + if (R.isOk(r2)) { + Object data1 = r2.getData(); + if (!ObjectUtils.isEmpty(data1)) { + loginUserInfoVO.setComActVO(JSONObject.parseObject(JSONObject.toJSONString(data1),ComActVO.class)); + r.setData(loginUserInfoVO); + } + } + } + if (null!=areaId&&areaId!=0) { + R r3=communityService.detailArea(areaId); + if (R.isOk(r3)) { + Object data1 = r3.getData(); + if (!ObjectUtils.isEmpty(data1)) { + loginUserInfoVO.setComMngStructAreaVO(JSONObject.parseObject(JSONObject.toJSONString(data1),ComMngStructAreaVO.class)); + r.setData(loginUserInfoVO); + } + } + } + if (R.isOk(r1)) { + Object data1 = r1.getData(); + if (!ObjectUtils.isEmpty(data1)) { + loginUserInfoVO.setComMngStructHouseVOS((List<ComMngStructHouseVO>) data1); + r.setData(loginUserInfoVO); + } + } + } + } return r; } + + @ApiOperation(value = "用户实名认证") + @PutMapping("putuserauthentication") + public R putUserAuthentication(@RequestBody @Validated(AddGroup.class) LoginUserInfoVO loginUserInfoVO) { + Long userId = this.getUserId(); + loginUserInfoVO.setUserId(userId); + R r = userService.putUserAuthentication(loginUserInfoVO); + if (R.isOk(r)) { + //通过不发通知 + } else { + SysUserNoticeVO sysUserNoticeVO=new SysUserNoticeVO(); + sysUserNoticeVO.setUserId(userId); + sysUserNoticeVO.setType(3); + sysUserNoticeVO.setTitle("实名制审核未通过"); + sysUserNoticeVO.setBusinessType(6); +// sysUserNoticeVO.setBusinessTitle(comActActivityVO.getActivityName()); + sysUserNoticeVO.setBusinessContent(String.format("驳回原因:%s",r.getMsg())); +// sysUserNoticeVO.setBusinessId(activityId);R + sysUserNoticeVO.setStatus(0); + sysUserNoticeVO.setBusinessStatus(1); + R r1 = userService.addNotice(sysUserNoticeVO); + if (R.isOk(r1)) { + log.info("新增实名认证未通过通知成功【{}】", JSONObject.toJSONString(sysUserNoticeVO)); + } + } + return r; + } + + @ApiOperation(value = "修改用户手机号") + @PutMapping("userphone") + public R putUserphone(@RequestBody UserPhoneVO userPhoneVO) { + Long userId = this.getUserId(); + userPhoneVO.setUserId(userId); + R r = userService.putUserphone(userPhoneVO); + if (R.isOk(r)) { + communityService.putVolunteerPhone(userPhoneVO); + } + return r; + } + + @ApiOperation(value = "修改用户信息") + @PutMapping("user") + public R putUser(@RequestBody LoginUserInfoVO loginUserInfoVO) { + Long userId = this.getUserId(); + loginUserInfoVO.setUserId(userId); + return userService.putUser(loginUserInfoVO); + } + + @ApiOperation(value = "房屋地址下拉列表") + @GetMapping("listhouse") + @ApiImplicitParam(name = "parentCode",value = "父级地址编码",required = false) + public R listHouses(String parentCode) { + Long areaId = this.getAreaId(); + if (ObjectUtils.isEmpty(parentCode)) { + parentCode=""; + } + return communityService.listHouses(parentCode,areaId); + } + + @ApiOperation(value = "新增房屋") + @PostMapping("houses") + public R addHouses(@RequestBody @Validated(AddGroup.class) ComMngStructHouseVO comMngStructHouseVO) { + String houseCode = comMngStructHouseVO.getHouseCode(); + if (ObjectUtils.isEmpty(houseCode)) { + return R.fail("房屋地址编码不能为空"); + } + LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); + comMngStructHouseVO.setUserId(loginUserInfo.getUserId()); + comMngStructHouseVO.setAreaId(loginUserInfo.getAreaId()); + return communityService.addHouses(comMngStructHouseVO); + } + + @ApiOperation(value = "家庭成员列表") + @GetMapping("listfamily") + public R listFamily() { + Long userId = this.getUserId(); + return userService.listFamily(userId); + } + + @ApiOperation(value = "新增家庭成员") + @PostMapping("addfamily") + public R addFamily(@RequestBody @Validated(AddGroup.class) ComMngFamilyInfoVO comMngFamilyInfoVO) { + Long userId = this.getUserId(); + comMngFamilyInfoVO.setUserId(userId); + return userService.addFamily(comMngFamilyInfoVO); + } + + @ApiOperation(value = "编辑家庭成员") + @PutMapping("putfamily") + public R putFamily(@RequestBody ComMngFamilyInfoVO comMngFamilyInfoVO) { + Long id = comMngFamilyInfoVO.getId(); + if (null==id||0==id) { + return R.fail("成员主键不能为空"); + } + comMngFamilyInfoVO.setUserId(this.getUserId()); + return userService.putFamily(comMngFamilyInfoVO); + } + + @ApiOperation(value = "我的活动",response =ComActActivityVO.class ) + @GetMapping("listactivity") + public R listActivity() { + LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); + Long userId = loginUserInfo.getUserId(); + Long communityId = loginUserInfo.getCommunityId(); + List<ComActActivityVO> comActActivityVOS=new ArrayList<>(); + R r=communityService.listActivity(userId); + if (R.isOk(r)) { + comActActivityVOS =(List<ComActActivityVO>) r.getData(); + } + R r1=partyBuildingService.listActivity(userId,communityId); + if (R.isOk(r1)) { + List<ComActActivityVO> data = (List<ComActActivityVO>) r1.getData(); + comActActivityVOS.addAll(data); + } + if (!ObjectUtils.isEmpty(comActActivityVOS)) { + String s = JSONArray.toJSONString(comActActivityVOS); + List<ComActActivityVO>comActActivityVOS1=new ArrayList<>(); + comActActivityVOS1=JSONArray.parseArray(s,ComActActivityVO.class); + List<ComActActivityVO> collect = comActActivityVOS1.stream().sorted(Comparator.comparing(ComActActivityVO::getBeginAt).reversed()).collect(Collectors.toList()); + comActActivityVOS=collect; + } + if (!ObjectUtils.isEmpty(comActActivityVOS)) { + List<ComActActivityVO> collect = comActActivityVOS.stream().sorted(Comparator.comparing(ComActActivityVO::getSingDate).reversed()).collect(Collectors.toList()); + return R.ok(collect); + } + return R.ok(comActActivityVOS); + } + + @ApiOperation(value = "分页查询我的随手拍",response = ComActEasyPhotoVO.class ) + @PostMapping("pageeasyphoto") + public R pageEasyPhoto(@RequestBody ComActEasyPhotoVO comActEasyPhotoVO) { + Long userId = this.getUserId(); + comActEasyPhotoVO.setSponsorId(userId); + comActEasyPhotoVO.setCommunityId(null); + return communityService.pageEasyPhotoApplets(comActEasyPhotoVO); + } + + @ApiOperation(value = "分页查询我的微心愿",response = ComActMicroWishVO.class ) + @PostMapping("pagemicrowish") + public R pageMicroWish(@RequestBody ComActMicroWishVO comActMicroWishVO) { + Long userId = this.getUserId(); + comActMicroWishVO.setUserId(userId); + comActMicroWishVO.setCommunityId(null); + Integer status = comActMicroWishVO.getStatus(); + if (null!=status&&status==1) { + comActMicroWishVO.setIsPageMyWish(1); + }else{ + comActMicroWishVO.setIsPageMyWish(null); + } + + return communityService.pageMicroWish(comActMicroWishVO); + } + + @ApiOperation(value = "用户确认心愿" ) + @PutMapping("microwishconfirm") + public R putMicroWishConfirm(@RequestBody ComActMicroWishVO comActMicroWishVO) { + Long userId = this.getUserId(); + comActMicroWishVO.setUserId(userId); + comActMicroWishVO.setCommunityId(null); + Long id = comActMicroWishVO.getId(); + if (null==id||0==id) { + return R.fail("心愿主键不能为空"); + } + String evaluate = comActMicroWishVO.getEvaluate(); + if (ObjectUtils.isEmpty(evaluate)) { + return R.fail("用户评价不能为空"); + } + Integer score = comActMicroWishVO.getScore(); + if (null==score||0==score) { + return R.fail("评分不能为空"); + } + comActMicroWishVO.setEvaluateAt(new Date()); + comActMicroWishVO.setStatus(6); + return communityService.putMicroWishConfirm(comActMicroWishVO); + } + + @ApiOperation(value = "调试接口--清除昵称、社区、小区" ) + @DeleteMapping("usertest") + public R deleteUserTest() { + Long userId = this.getUserId(); + return userService.deleteUserTest(userId); + } + + @ApiOperation(value = "意见反馈" ) + @PostMapping("feedback") + public R addFeedback(@RequestBody @Validated(AddGroup.class) SysUserFeedbackDTO sysUserFeedbackDTO) { + LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); + Long userId = loginUserInfo.getUserId(); + Long communityId = loginUserInfo.getCommunityId(); + Long areaId = loginUserInfo.getAreaId(); + if (null==communityId||0==communityId) { + return R.fail("未绑定社区"); + } + sysUserFeedbackDTO.setCommunityId(communityId); + sysUserFeedbackDTO.setAreaId(areaId); + sysUserFeedbackDTO.setUserId(userId); + return userService.addFeedback(sysUserFeedbackDTO); + } + + } -- Gitblit v1.7.1