package com.panzhihua.applets.api;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONObject;
|
import com.panzhihua.common.controller.BaseController;
|
import com.panzhihua.common.model.dtos.community.EldersAuthAddByFamilyDTO;
|
import com.panzhihua.common.model.dtos.community.EldersAuthTypeQueryDTO;
|
import com.panzhihua.common.model.dtos.community.PageComEldersRecordsDTO;
|
import com.panzhihua.common.model.dtos.community.PageEldersAuthDTO;
|
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.IPageVO;
|
import com.panzhihua.common.model.vos.LoginUserInfoVO;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.model.vos.community.ComEldersAuthElderlyDetailsVO;
|
import com.panzhihua.common.model.vos.community.EldersAuthDetailsVO;
|
import com.panzhihua.common.model.vos.community.EldersAuthVO;
|
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.service.user.UserService;
|
import com.panzhihua.common.utlis.ClazzUtils;
|
import com.panzhihua.common.utlis.TencentUtils;
|
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
|
/**
|
*
|
* @author cedoo email:cedoo(a)qq.com
|
* @version 1.0
|
* @since 1.0
|
*/
|
@Slf4j
|
@RestController
|
@RequestMapping("/eldersauth")
|
@Api(tags = {"高龄认证"})
|
public class EldersAuthApi extends BaseController {
|
|
@Resource
|
private CommunityService eldersAuthService;
|
@Resource
|
private UserService userService;
|
|
/**
|
* 分页查找
|
*
|
* @param pageEldersAuthDTO
|
* 查找高龄认证传递对象
|
* @return 查找结果
|
*/
|
@PostMapping("/page")
|
@ApiOperation(value = "查询高龄认证@已过期", response = EldersAuthVO.class)
|
R query(@Validated @RequestBody PageEldersAuthDTO pageEldersAuthDTO) {
|
ClazzUtils.setIfStringIsEmpty(pageEldersAuthDTO);
|
pageEldersAuthDTO.setSumitUserId(this.getUserId());
|
return eldersAuthService.query(pageEldersAuthDTO);
|
}
|
|
/**
|
* 查询高龄认证详细信息
|
*
|
* @param id
|
* 高龄认证 id
|
* @return 查找结果
|
*/
|
@GetMapping("/{id}")
|
@ApiOperation(value = "查询高龄认证详细信息@已过期", response = EldersAuthDetailsVO.class)
|
R<EldersAuthDetailsVO> details(@PathVariable("id") Long id) {
|
return eldersAuthService.eldersAuthDetails(id);
|
}
|
|
@GetMapping("/family")
|
@ApiOperation(value = "我的家庭成员@已过期", response = R.class)
|
R<IPageVO<ComMngFamilyInfoVO>> family() {
|
return eldersAuthService.getMyfamilyElders(getUserId());
|
}
|
|
/**
|
* 新增高龄认证
|
*
|
* @param eldersAuthAddByFamilyDTO
|
* 添加高龄认证传递对象
|
* @return 新增结果
|
*/
|
@PostMapping("/addByFamily")
|
@ApiOperation(value = "新增高龄认证", response = R.class)
|
R addByFamily(@RequestBody EldersAuthAddByFamilyDTO eldersAuthAddByFamilyDTO) {
|
eldersAuthAddByFamilyDTO.setSumitUserId(getUserId());
|
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 isOk;
|
}
|
}
|
|
@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);
|
}
|
|
/**
|
* 分页查找
|
*
|
* @param pageComEldersRecordsDTO
|
* 查找高龄认证记录
|
* @return 查找结果
|
*/
|
@PostMapping("/records")
|
@ApiOperation(value = "生存认证记录", response = EldersAuthVO.class)
|
R query(@Validated @RequestBody PageComEldersRecordsDTO pageComEldersRecordsDTO) {
|
ClazzUtils.setIfStringIsEmpty(pageComEldersRecordsDTO);
|
LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo();
|
pageComEldersRecordsDTO.setOperUserId(loginUserInfoVO.getUserId());
|
pageComEldersRecordsDTO.setOperUserName(loginUserInfoVO.getNickName());
|
return eldersAuthService.queryEldersRecord(pageComEldersRecordsDTO);
|
}
|
|
/**
|
* 查询高龄老人库详细信息
|
*
|
* @param id
|
* 高龄老人库 id
|
* @return 查找结果
|
*/
|
@GetMapping("/records/{id}")
|
@ApiOperation(value = "认证详情详细信息")
|
R<ComEldersAuthElderlyDetailsVO> detail(@PathVariable("id") Long id) {
|
return eldersAuthService.comEldersAuthElderlyDetails(id);
|
}
|
|
@GetMapping("/no/tips")
|
@ApiOperation(value = "高龄认证不再显示提示")
|
public R noTips() {
|
LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo();
|
if (loginUserInfoVO == null) {
|
return R.fail("请先登录");
|
}
|
return userService.noTips(loginUserInfoVO.getUserId());
|
}
|
|
}
|