package com.xzx.gc.user.controller;
|
|
|
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.lang.Dict;
|
import com.xzx.gc.common.Result;
|
import com.xzx.gc.common.constant.CommonEnum;
|
import com.xzx.gc.common.constant.Constants;
|
import com.xzx.gc.common.constant.UserEnum;
|
import com.xzx.gc.common.request.BaseController;
|
import com.xzx.gc.common.dto.AuthNameDto;
|
import com.xzx.gc.common.utils.SecurityUtil;
|
import com.xzx.gc.common.utils.ali.SmsUtil;
|
import com.xzx.gc.entity.AuthNameInfo;
|
import com.xzx.gc.entity.OtherUserInfo;
|
import com.xzx.gc.entity.VersionInfo;
|
import com.xzx.gc.model.CommonReq;
|
import com.xzx.gc.user.mapper.AuthNameInfoMapper;
|
import com.xzx.gc.user.mapper.VersionInfoMapper;
|
import com.xzx.gc.user.service.AuthNameService;
|
import com.xzx.gc.user.service.OtherUserService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
@RestController
|
@RequestMapping("/authName")
|
@Validated
|
@Slf4j
|
@Api(tags = "实名认证")
|
public class AuthNameController extends BaseController {
|
|
@Autowired
|
private AuthNameService authNameService;
|
|
@Autowired
|
private AuthNameInfoMapper authNameInfoMapper;
|
|
@Autowired
|
private OtherUserService otherUserService;
|
|
@Autowired
|
private VersionInfoMapper versionInfoMapper;
|
|
|
@ApiOperation(value = "实名认证")
|
@PostMapping("")
|
public Result auth(HttpServletRequest request,@Validated @RequestBody AuthNameDto authNameDto) {
|
Result res=new Result();
|
authNameDto.setUserId(getUserId(request));
|
AuthNameInfo menu = authNameService.findToday(getUserId(request));
|
if(menu!=null){
|
return Result.error(-1,"您当日认证机会已用完,请明日再来!");
|
}
|
Result result = SmsUtil.authName(authNameDto);
|
if(result.getCode()==0){
|
authNameService.add(authNameDto);
|
}else{
|
res.setCode(-3);
|
res.setMsg("信息有误,认证失败请明日再来!");
|
}
|
return res;
|
}
|
|
@ApiOperation(value = "验证是否已实名")
|
@PostMapping("/find")
|
public Result authFind(HttpServletRequest request, @RequestBody CommonReq commonReq) {
|
Result res=new Result();
|
String userId=getUserId(request);
|
AuthNameInfo authNameInfo=new AuthNameInfo();
|
authNameInfo.setUserId(userId);
|
AuthNameInfo authNameInfo1 = authNameInfoMapper.selectOne(authNameInfo);
|
if(authNameInfo1!=null&&UserEnum.认证通过.getValue().equals(Convert.toStr(authNameInfo1.getAuthFlag()))){
|
OtherUserInfo byMobileAndUserType = otherUserService.findByMobileAndUserType(commonReq.getMobilePhone(), CommonEnum.回收员.getValue());
|
if(byMobileAndUserType!=null){
|
VersionInfo versionInfo=new VersionInfo();
|
versionInfo.setDelFlag(Convert.toShort(Constants.DEL_NOT_FLAG));
|
VersionInfo versionInfo1 = versionInfoMapper.selectOne(versionInfo);
|
if(versionInfo1!=null){
|
byMobileAndUserType.setDownloadUrl(versionInfo1.getApkUrl());
|
}
|
//密码解密
|
String decrypt = SecurityUtil.decrypt(byMobileAndUserType.getSalt(), byMobileAndUserType.getPassword());
|
OtherUserInfo otherUserInfo=new OtherUserInfo();
|
otherUserInfo.setDownloadUrl(byMobileAndUserType.getDownloadUrl());
|
otherUserInfo.setLoginAccount(commonReq.getMobilePhone());
|
otherUserInfo.setPassword(decrypt);
|
Dict set = Dict.create().set("code", 0).set("data", otherUserInfo);
|
res.setData(set);
|
}
|
}else {
|
Dict set = Dict.create().set("code", -1);
|
res.setData(set);
|
}
|
return res;
|
}
|
|
|
}
|