huanghongfa
2020-12-22 ac0c5875bb29f1684cf5641acfaa600f7e3aa8fd
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/UserApi.java
@@ -1,21 +1,25 @@
package com.panzhihua.applets.api;
import com.panzhihua.common.model.vos.community.ComActActivityVO;
import com.panzhihua.common.model.vos.community.ComMngStructHouseVO;
import com.panzhihua.common.model.vos.user.ComMngFamilyInfoVO;
import com.panzhihua.common.model.vos.user.UserPhoneVO;
import com.panzhihua.common.service.community.CommunityService;
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 org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
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.List;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -32,25 +36,103 @@
    @Resource
    private CommunityService communityService;
    @ApiOperation(value = "当前登录用户信息",response = LoginUserInfoVO.class)
    @ApiOperation(value = "当前登录用户信息", response = LoginUserInfoVO.class)
    @GetMapping("info")
    public R getUserInfo(){
    public R getUserInfo() {
        Long userId = this.getUserId();
        boolean empty = ObjectUtils.isEmpty(userId);
        if (empty) {
           throw new UnAuthenticationException();
        }
        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 (R.isOk(r1)) {
                    Object data1 = r1.getData();
                    if (!ObjectUtils.isEmpty(data1)) {
                        loginUserInfoVO.setComMngStructHouseVOS((List<ComMngStructHouseVO>) data1);
                        r.setData(loginUserInfoVO);
                    }
                }
            }
        }
        return r;
    }
    @ApiOperation(value = "分页展示我的活动",response = ComActActivityVO.class)
    @GetMapping("pagemyactivity")
    public R pageMyActivity(@RequestBody ComActActivityVO comActActivityVO){
    @ApiOperation(value = "用户实名认证")
    @PutMapping("putuserauthentication")
    public R putUserAuthentication(@RequestBody LoginUserInfoVO loginUserInfoVO) {
        Long userId = this.getUserId();
//        todo 我的活动包括普通社区活动、志愿者活动、党建活动
        comActActivityVO.setSponsorId(userId);//登录人id 暂时存入负责人字段
        R r = communityService.pageMyActivity(comActActivityVO);
        loginUserInfoVO.setUserId(userId);
        return userService.putUserAuthentication(loginUserInfoVO);
    }
    @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);
    }
}