| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | * @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()); |
| | | } |
| | |
| | | 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()) ; |
| | |
| | | String sessionKey = job.getString("session_key"); |
| | | |
| | | Long clientId = clientSv.getClientIdByPhone(phoneNumber); |
| | | String SessionId = ""; |
| | | String sessionId = ""; |
| | | if(clientId != null) { |
| | | // 添加微信用户账户记录 |
| | | SeOpenId seOpenId = new SeOpenId(); |
| | |
| | | //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()); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 解绑农户与微信的绑定,根据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 |