CeDo
2021-06-10 6979b628cd4317731384484603a2aa2c671ff53a
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/EldersAuthApi.java
@@ -1,12 +1,23 @@
package com.panzhihua.applets.api;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.dtos.community.*;
import com.panzhihua.common.model.dtos.elders.ComEldersAuthGetResultDTO;
import com.panzhihua.common.model.dtos.elders.ComEldersAuthPageDTO;
import com.panzhihua.common.model.dtos.elders.ComEldersAuthUserAddAppDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComActVO;
import com.panzhihua.common.model.vos.community.ComEldersAuthUserVO;
import com.panzhihua.common.model.vos.elders.ComElderAuthUserAppVO;
import com.panzhihua.common.model.vos.elders.ComElderAuthUserDetailVO;
import com.panzhihua.common.model.vos.user.ComMngFamilyInfoVO;
import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.utlis.ClazzUtils;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.common.utlis.TencentUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -39,7 +50,7 @@
     * @return 查找结果
     */
    @PostMapping("/page")
    @ApiOperation(value = "查询高龄认证", response = EldersAuthVO.class)
    @ApiOperation(value = "查询高龄认证@已过期", response = EldersAuthVO.class)
    R query(@Validated @RequestBody PageEldersAuthDTO pageEldersAuthDTO){
        ClazzUtils.setIfStringIsEmpty(pageEldersAuthDTO);
        pageEldersAuthDTO.setSumitUserId(this.getUserId());
@@ -52,14 +63,14 @@
     * @return 查找结果
     */
    @GetMapping("/{id}")
    @ApiOperation(value = "查询高龄认证详细信息")
    @ApiOperation(value = "查询高龄认证详细信息@已过期", response = EldersAuthDetailsVO.class)
    R<EldersAuthDetailsVO> details(@PathVariable("id") Long id){
        return eldersAuthService.eldersAuthDetails(id);
    }
    @GetMapping("/family")
    @ApiOperation(value = "我的家庭成员", response = R.class)
    @ApiOperation(value = "我的家庭成员@已过期", response = R.class)
    R<IPageVO<ComMngFamilyInfoVO>> family(){
        return eldersAuthService.getMyfamilyElders(getUserId());
    }
@@ -77,4 +88,98 @@
        eldersAuthAddByFamilyDTO.setUserId(getUserId());
        return eldersAuthService.addByFamilyUser(eldersAuthAddByFamilyDTO);
    }
    @GetMapping("/authtype")
    @ApiOperation(value = "查询社区认证方式", response = R.class)
    R communityAuthtype(){
        Long communityId = this.getCommunityId();
        EldersAuthTypeQueryDTO eldersAuthTypeQueryDTO = new EldersAuthTypeQueryDTO();
        eldersAuthTypeQueryDTO.setCommunityId(communityId);
        return eldersAuthService.communityElderAuthType(eldersAuthTypeQueryDTO);
    }
    @PostMapping("/getEidToken")
    @ApiOperation(value = "高龄认证获取EidToken接口")
    public R getEidToken(@RequestParam("authUserId") Long authUserId){
        if(authUserId == null){
            return R.fail("参数错误");
        }
        R isOk = eldersAuthService.getEldersAuthUserByApp(authUserId);
        if(R.isOk(isOk)){
            ComElderAuthUserDetailVO authUserDetailVO = JSONObject.parseObject(JSONObject.toJSONString(isOk.getData()), ComElderAuthUserDetailVO.class);
            //获取EidToken接口
            String result = TencentUtils.getEidToken(authUserDetailVO.getName(),authUserDetailVO.getIdCard());
            return R.ok(result);
        }else{
            log.error("查询老人信息失败,错误信息:" + isOk.getMsg());
            return R.fail("查询老人信息失败");
        }
    }
    @PostMapping("/getEidResult")
    @ApiOperation(value = "高龄认证获取核验结果接口")
    public R getEidResult(@Validated @RequestBody ComEldersAuthGetResultDTO authGetResultDTO){
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        if(loginUserInfo == null){
            return R.fail("请先登录");
        }
        authGetResultDTO.setUserId(loginUserInfo.getUserId());
        String result = TencentUtils.getEidResult(authGetResultDTO.getEidToken());
        JSONObject object = JSON.parseObject(result);
        if(object == null){
            return R.fail("核验失败");
        }
        JSONObject textObject = object.getJSONObject("Text");
        String code = textObject.getString("ErrCode");
        if(!code.equals("0")){
            log.error("人脸核验失败,错误原因:" + textObject.toJSONString());
            return R.fail("核验失败");
        }
        authGetResultDTO.setVerificationResult(object.toJSONString());
        return eldersAuthService.addEldersAuthByApp(authGetResultDTO);
    }
    @PostMapping("/page/old")
    @ApiOperation(value = "高龄认证分页接口",response = ComElderAuthUserAppVO.class)
    public R pageElders(@RequestBody ComEldersAuthPageDTO authPageDTO){
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        if(loginUserInfo == null){
            return R.fail("请先登录");
        }
        authPageDTO.setUserId(loginUserInfo.getUserId());
        authPageDTO.setCommunityId(loginUserInfo.getCommunityId());
        return eldersAuthService.pageEldersByApp(authPageDTO);
    }
    @PostMapping("/add")
    @ApiOperation(value = "高龄认证添加老人接口")
    public R addElders(@RequestBody ComEldersAuthUserAddAppDTO authUserAddAppDTO){
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        if(loginUserInfo == null){
            return R.fail("请先登录");
        }
        authUserAddAppDTO.setUserId(loginUserInfo.getUserId());
        authUserAddAppDTO.setCommunityId(loginUserInfo.getCommunityId());
        return eldersAuthService.addEldersByApp(authUserAddAppDTO);
    }
    @PostMapping("/edit")
    @ApiOperation(value = "高龄认证修改老人接口")
    public R editElders(@RequestBody ComEldersAuthUserAddAppDTO authUserAddAppDTO){
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        if(loginUserInfo == null){
            return R.fail("请先登录");
        }
        authUserAddAppDTO.setUserId(loginUserInfo.getUserId());
        authUserAddAppDTO.setCommunityId(loginUserInfo.getCommunityId());
        return eldersAuthService.editEldersByApp(authUserAddAppDTO);
    }
}