liurunyu
2024-10-22 360fd7787f6f5981411e255f86e7d5b2a979f5f6
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/client/ClientCtrl.java
@@ -8,7 +8,6 @@
import com.dy.pipIrrGlobal.pojoSe.SeCodeVerify;
import com.dy.pipIrrGlobal.pojoSe.SeOpenId;
import com.dy.pipIrrGlobal.voSe.VoClientWechat;
import com.dy.pipIrrSell.wechatpay.PayInfo;
import com.dy.pipIrrWechat.client.dto.CodeLoginDTO;
import com.dy.pipIrrWechat.client.dto.CodeVerifyDTO;
import com.dy.pipIrrWechat.result.WechatResultCode;
@@ -43,7 +42,6 @@
    private final ClientSv clientSv;
    private final AliyunSmsSv aliyunSmsSv;
    private final RestTemplateUtil restTemplateUtil;
    private final String privateCertFileName = PayInfo.privateCertFileName;
    private final String appid = PayInfo.appid;
    private final String secret = PayInfo.secret;
    private final String mchid = PayInfo.mchid;
@@ -62,7 +60,7 @@
     * @throws IOException
     */
    @PostMapping(path = "code_login", consumes = MediaType.APPLICATION_JSON_VALUE)
    public BaseResponse<VoClientWechat> codeLogin(@RequestBody @Valid CodeLoginDTO po, BindingResult bindingResult) throws IOException {
    public BaseResponse<JSONObject> codeLogin(@RequestBody @Valid CodeLoginDTO po, BindingResult bindingResult) throws IOException {
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
@@ -77,14 +75,25 @@
        Map<String, String> headerParams = new HashMap<>();
        JSONObject job = restTemplateUtil.get(loginUrl, queryParams, headerParams);
        if(job.containsKey("errmsg ")) {
            return BaseResponseUtils.buildErrorMsg(WechatResultCode.INVALID_CODE.getMessage());
        }
        String openId = job.getString("openid");
        if(openId == null) {
            return BaseResponseUtils.buildErrorMsg(WechatResultCode.LOGIN_FAIL.getMessage());
        }
        try {
            JSONObject job_client = new JSONObject();
            VoClientWechat res = clientSv.getSimpleClientInfo(null, openId);
            return BaseResponseUtils.buildSuccess(res);
            if(res != null) {
                job_client.put("client", res);
            } else {
                VoClientWechat voClientWechat = new VoClientWechat();
                job_client.put("client", voClientWechat);
            }
            return BaseResponseUtils.buildSuccess(job_client);
        } catch (Exception e) {
            log.error("查询农户异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
@@ -182,7 +191,7 @@
        String sessionKey = job.getString("session_key");
        Long clientId = clientSv.getClientIdByPhone(phoneNumber);
        String SessionId = "";
        String sessionId = "";
        if(clientId != null) {
            // 添加微信用户账户记录
            SeOpenId seOpenId = new SeOpenId();
@@ -193,9 +202,13 @@
            //Long SessionId = clientSv.addOpenId(seOpenId);
            Long rec = clientSv.addOpenId(seOpenId);
            if(rec != null) {
                SessionId = String.valueOf(rec);
                sessionId = String.valueOf(rec);
            }
            return BaseResponseUtils.buildSuccess(SessionId);
            JSONObject job_result = new JSONObject();
            job_result.put("clientId", clientId);
            job_result.put("sessionId", sessionId);
            return BaseResponseUtils.buildSuccess(job_result);
        } else {
            return BaseResponseUtils.buildErrorMsg(WechatResultCode.PHONE_NUMBER_IS_ERROR.getMessage());
@@ -203,6 +216,26 @@
    }
    /**
     * 解绑农户与微信的绑定,根据sessionId删除绑定记录
     * @param sessionId
     * @return
     */
    @PostMapping(path = "unbind")
    @Transactional(rollbackFor = Exception.class)
    public BaseResponse<Boolean> unbindWechat(@RequestParam("sessionId")Long sessionId) {
        if(sessionId == null || sessionId <=0) {
            return BaseResponseUtils.buildErrorMsg("sessionId无效");
        }
        Integer rec = clientSv.unbindWechat(sessionId);
        if(rec == null || rec == 0) {
            return BaseResponseUtils.buildErrorMsg("sessionId错误");
        }
        return BaseResponseUtils.buildSuccess();
    }
    /**
     * 获取农户基本信息,小程序首页使用
     * @param sessionId
     * @return