From 9e17b707e969432224dd2d60812c525c526312c6 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 27 Jul 2020 16:00:38 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=BD=93=E9=AA=8C?= =?UTF-8?q?=E7=89=88=E4=BA=8C=E7=BB=B4=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/feign/OssFeignClient.java | 25 +++++++-- .../fallback/OssFeignClientFallback.java | 23 ++++---- .../com/epmet/controller/OssController.java | 12 ++-- .../epmet-third/epmet-third-server/pom.xml | 6 ++ .../epmet/service/impl/CodeServiceImpl.java | 42 ++++++++------ .../java/com/epmet/wxapi/param/WxExtJson.java | 56 ++++++++++++++++++- 6 files changed, 120 insertions(+), 44 deletions(-) diff --git a/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/OssFeignClient.java b/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/OssFeignClient.java index 0d200a7177..47daa888cc 100644 --- a/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/OssFeignClient.java +++ b/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/OssFeignClient.java @@ -10,12 +10,17 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.QrCodeDTO; import com.epmet.dto.result.UploadImgResultDTO; import com.epmet.feign.fallback.OssFeignClientFallback; +import feign.codec.Encoder; +import feign.form.spring.SpringFormEncoder; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.multipart.MultipartFile; /** * OSS @@ -23,18 +28,28 @@ import org.springframework.web.bind.annotation.PostMapping; * @author Mark sunlightcs@gmail.c om * @since 1.1.0 */ -@FeignClient(name = ServiceConstant.EPMET_OSS_SERVER, fallback = OssFeignClientFallback.class) +@FeignClient(name = ServiceConstant.EPMET_OSS_SERVER, configuration = OssFeignClient.MultipartSupportConfig.class, fallback = + OssFeignClientFallback.class) public interface OssFeignClient { /** * 文件上传 - * @param dto 文件 + * @param media 文件 * @return 返回路径 */ @PostMapping(value = "oss/file/uploadwximg", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) - Result uploadWxImg(QrCodeDTO dto); + Result uploadWxImg(@RequestPart(value = "media") MultipartFile media); @PostMapping(value ="oss/file/uploadqrcode", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) - Result uploadQrCode(QrCodeDTO dto ); + Result uploadQrCode(@RequestPart(value = "file") MultipartFile file); + + + @Configuration + class MultipartSupportConfig { + @Bean + public Encoder feignFormEncoder() { + return new SpringFormEncoder(); + } + } } diff --git a/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/fallback/OssFeignClientFallback.java b/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/fallback/OssFeignClientFallback.java index eb8f1b4b8b..0158f7f017 100644 --- a/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/fallback/OssFeignClientFallback.java +++ b/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/fallback/OssFeignClientFallback.java @@ -1,8 +1,8 @@ /** * Copyright (c) 2018 人人开源 All rights reserved. - * + *

* https://www.renren.io - * + *

* 版权所有,侵权必究! */ @@ -11,8 +11,6 @@ package com.epmet.feign.fallback; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.QrCodeDTO; -import com.epmet.dto.UploadDTO; import com.epmet.dto.result.UploadImgResultDTO; import com.epmet.feign.OssFeignClient; import org.springframework.stereotype.Component; @@ -27,13 +25,14 @@ import org.springframework.web.multipart.MultipartFile; @Component public class OssFeignClientFallback implements OssFeignClient { - @Override - public Result uploadWxImg(QrCodeDTO dto) { - return ModuleUtils.feignConError(ServiceConstant.EPMET_OSS_SERVER, "uploadWxImg", dto); - } + @Override + public Result uploadWxImg(MultipartFile media) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_OSS_SERVER, "uploadWxImg", media); + } + + @Override + public Result uploadQrCode(MultipartFile file) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_OSS_SERVER, "uploadQrCode", file); + } - @Override - public Result uploadQrCode(QrCodeDTO dto) { - return ModuleUtils.feignConError(ServiceConstant.EPMET_OSS_SERVER, "uploadQrCode", dto); - } } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java index e9f05c53cd..5b3e3bee6b 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java @@ -18,7 +18,6 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.AliyunGroup; import com.epmet.commons.tools.validator.group.QcloudGroup; import com.epmet.commons.tools.validator.group.QiniuGroup; -import com.epmet.dto.QrCodeDTO; import com.epmet.dto.UploadDTO; import com.epmet.dto.result.UploadImgResultDTO; import com.epmet.entity.OssEntity; @@ -143,16 +142,13 @@ public class OssController { } @PostMapping("uploadwximg") - public Result uploadWxImg(QrCodeDTO dto) { - return ossService.uploadImg(dto.getMedia()); + public Result uploadWxImg(@RequestPart("media") MultipartFile media) { + return ossService.uploadImg(media); } @PostMapping("uploadqrcode") - public Result uploadQrCode(QrCodeDTO dto) { - String url = OssFactory.build().uploadSuffix(dto.getQrCode(), "jpg"); - UploadImgResultDTO result = new UploadImgResultDTO(); - result.setUrl(url); - return new Result().ok(result); + public Result uploadQrCode(@RequestPart(value = "file") MultipartFile file) { + return ossService.uploadImg(file); } /** * 上传客户logo(考虑到以后可能会针对不同的业务有不同的限制条件,这里不再使用通用的接口 diff --git a/epmet-module/epmet-third/epmet-third-server/pom.xml b/epmet-module/epmet-third/epmet-third-server/pom.xml index 283c78d2d9..df429c2210 100644 --- a/epmet-module/epmet-third/epmet-third-server/pom.xml +++ b/epmet-module/epmet-third/epmet-third-server/pom.xml @@ -141,6 +141,12 @@ 2.0.0 compile + + org.springframework + spring-test + 5.1.12.RELEASE + compile + diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeServiceImpl.java index 18221f298e..fbaaef13fc 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeServiceImpl.java @@ -1,5 +1,6 @@ package com.epmet.service.impl; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.RenException; @@ -16,22 +17,20 @@ import com.epmet.dto.result.*; import com.epmet.feign.OperCrmOpenFeignClient; import com.epmet.feign.OssFeignClient; import com.epmet.service.*; -import com.epmet.wxapi.param.WxMaCodeAuditStatusReq; -import com.epmet.wxapi.param.WxMaCodeCommitReq; -import com.epmet.wxapi.param.WxMaCodeSubmitAuditRequest; -import com.epmet.wxapi.param.WxMaNewsReq; +import com.epmet.wxapi.param.*; import com.epmet.wxapi.result.*; import com.epmet.wxapi.service.WxMaCodeService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.mock.web.MockMultipartFile; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; -import java.nio.file.Files; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -68,8 +67,6 @@ public class CodeServiceImpl implements CodeService { private OssFeignClient ossFeignClient; @Autowired private PaCustomerService paCustomerService; - @Autowired - private WxMaCodeService wxsMaCodeService; @Override public List templateList() { @@ -104,6 +101,15 @@ public class CodeServiceImpl implements CodeService { return codeExtDTO.getExtJson(); } + public static void main(String[] args) { + String json = "{\"extEnable\":true,\"extAppid\":\"wx2679392c4cc2af22\",\"directCommit\":false,\"ext\":{\"extAppid\":\"wx2679392c4cc2af22\",\"footbar\":{\"work\":{\"name\":\"工作\",\"pageTile\":\"工作\"},\"org\":{\"name\":\"组织\",\"pageTile\":\"组织\"},\"data\":{\"name\":\"数据\",\"pageTile\":\"数据\"},\"find\":{\"name\":\"更多\",\"pageTile\":\"更多\"}}}}"; + WxExtJson wxExtJson = JSONObject.parseObject(json, WxExtJson.class); + wxExtJson.setExtAppid("123456"); + wxExtJson.getExt().setExtAppid("123456"); + String extJson = JSON.toJSONString(wxExtJson); + System.out.println(extJson); + } + @Override @Transactional(rollbackFor = Exception.class) public void upload(CodeUploadFormDTO formDTO) { @@ -120,20 +126,24 @@ public class CodeServiceImpl implements CodeService { throw new RenException("第三方配置不是有效的Json"); } + WxExtJson wxExtJson = JSONObject.parseObject(formDTO.getExtJson(), WxExtJson.class); + wxExtJson.setExtAppid(authInfo.getAuthorizerAppid()); + wxExtJson.getExt().setExtAppid(authInfo.getAuthorizerAppid()); + String extJson = JSON.toJSONString(wxExtJson); CodeExtDTO codeExtDTO = codeExtService.getExtByCustomer(formDTO.getCustomerId(), formDTO.getClientType()); if (null == codeExtDTO) { codeExtDTO = new CodeExtDTO(); codeExtDTO.setCustomerId(formDTO.getCustomerId()); codeExtDTO.setClientType(formDTO.getClientType()); codeExtDTO.setAppId(authInfo.getAuthorizerAppid()); - codeExtDTO.setExtJson(formDTO.getExtJson()); + codeExtDTO.setExtJson(extJson); codeExtService.save(codeExtDTO); } - codeExtDTO.setExtJson(formDTO.getExtJson()); + codeExtDTO.setExtJson(extJson); codeExtService.update(codeExtDTO); WxMaCodeCommitReq request = ConvertUtils.sourceToTarget(formDTO, WxMaCodeCommitReq.class); - request.setExtJson(formDTO.getExtJson()); + request.setExtJson(extJson); //调用微信API上传代码 WxResult wxResult = wxMaCodeService.commit(authInfo.getAuthorizerAccessToken(), request); //上传失败,抛出异常 @@ -151,7 +161,7 @@ public class CodeServiceImpl implements CodeService { //将上传信息存入表中 CodeCustomerDTO codeCustomerDTO = ConvertUtils.sourceToTarget(formDTO, CodeCustomerDTO.class); codeCustomerDTO.setCustomerName(paCustomerDTO.getCustomerName()); - codeCustomerDTO.setExtJson(formDTO.getExtJson()); + codeCustomerDTO.setExtJson(extJson); codeCustomerDTO.setAppId(authInfo.getAuthorizerAppid()); codeCustomerDTO.setStatus(CodeConstant.UNAUDITED); codeCustomerService.save(codeCustomerDTO); @@ -374,9 +384,9 @@ public class CodeServiceImpl implements CodeService { AuthorizationInfoDTO authInfo = authorizationInfoDao.getAuthInfoByCustomer(codeCustomerDTO.getCustomerId(), codeCustomerDTO.getClientType()); //调用微信API获取获取体验版二维码 WxResult wxResult = wxMaCodeService.getQrCode(authInfo.getAuthorizerAccessToken(), formDTO.getPath()); - QrCodeDTO qrCodeDTO = new QrCodeDTO(); - qrCodeDTO.setQrCode(wxResult.getData()); - Result uploadResult = ossFeignClient.uploadQrCode(qrCodeDTO); + MultipartFile file = null; + file = new MockMultipartFile("file", "QRCode.jpg", "image/jpeg", wxResult.getData()); + Result uploadResult = ossFeignClient.uploadQrCode(file); codeCustomerDTO.setQrCode(uploadResult.getData().getUrl()); codeCustomerService.update(codeCustomerDTO); result.setQrcode(uploadResult.getData().getUrl()); @@ -399,9 +409,7 @@ public class CodeServiceImpl implements CodeService { @Override public String mediaUpload(MediaUploadFormDTO formDTO) { try { - QrCodeDTO dto = new QrCodeDTO(); - dto.setMedia(formDTO.getMedia()); - Result uploadWxImg = ossFeignClient.uploadWxImg(dto); + Result uploadWxImg = ossFeignClient.uploadWxImg(formDTO.getMedia()); File file = new File(uploadWxImg.getData().getUrl()); //获取上传代码信息 CodeCustomerDTO codeCustomerDTO = codeCustomerService.get(formDTO.getCodeId()); diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/param/WxExtJson.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/param/WxExtJson.java index 13441e4573..8d6b843126 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/param/WxExtJson.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/param/WxExtJson.java @@ -1,5 +1,6 @@ package com.epmet.wxapi.param; +import com.alibaba.fastjson.annotation.JSONField; import lombok.Data; import lombok.NoArgsConstructor; @@ -15,50 +16,101 @@ import java.io.Serializable; public class WxExtJson implements Serializable { private static final long serialVersionUID = -559311391779774945L; - + @JSONField(ordinal = 1) private boolean extEnable; + @JSONField(ordinal = 2) private String extAppid; + @JSONField(ordinal = 3) private boolean directCommit; + @JSONField(ordinal = 4) private ExtBean ext; @NoArgsConstructor @Data - private static class ExtBean { + public static class ExtBean { + @JSONField(ordinal = 1) private String extAppid; + @JSONField(ordinal = 2) private FootbarBean footbar; @NoArgsConstructor @Data private static class FootbarBean { + @JSONField(ordinal = 1) private WorkBean work; + @JSONField(ordinal = 2) private OrgBean org; + @JSONField(ordinal = 3) private DataBean data; + @JSONField(ordinal = 4) private FindBean find; + @JSONField(ordinal = 5) + private GardenBean garden; + @JSONField(ordinal = 6) + private IssueBean issue; + @JSONField(ordinal = 7) + private GroupBean group; @NoArgsConstructor @Data private static class WorkBean { + @JSONField(ordinal = 1) private String name; + @JSONField(ordinal = 2) private String pageTile; } @NoArgsConstructor @Data private static class OrgBean { + @JSONField(ordinal = 1) private String name; + @JSONField(ordinal = 2) private String pageTile; } @NoArgsConstructor @Data private static class DataBean { + @JSONField(ordinal = 1) private String name; + @JSONField(ordinal = 2) private String pageTile; } @NoArgsConstructor @Data private static class FindBean { + @JSONField(ordinal = 1) + private String name; + @JSONField(ordinal = 2) + private String pageTile; + } + + @NoArgsConstructor + @Data + private static class GardenBean { + @JSONField(ordinal = 1) + private String name; + @JSONField(ordinal = 2) + private String pageTile; + + } + + @NoArgsConstructor + @Data + private static class IssueBean { + @JSONField(ordinal = 1) + private String name; + @JSONField(ordinal = 2) + private String pageTile; + } + + @NoArgsConstructor + @Data + private static class GroupBean { + @JSONField(ordinal = 1) private String name; + @JSONField(ordinal = 2) private String pageTile; } } From f489119f6f8a2c789c1249cb7403ceb4b105b6f6 Mon Sep 17 00:00:00 2001 From: zxc <954985706@qq.com> Date: Tue, 28 Jul 2020 09:03:43 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E7=AC=AC=E4=B8=89?= =?UTF-8?q?=E6=96=B9=E5=B9=B3=E5=8F=B0-{APPID}/callback=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=EF=BC=8C=E8=8E=B7=E5=8F=96component=5Faccess=5Ftoken=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/constant/ModuleConstant.java | 3 + .../epmet/controller/WarrantController.java | 3 +- .../ComponentVerifyTicketServiceImpl.java | 82 +++++++++---------- .../service/impl/WarrantServiceImpl.java | 60 +++++++------- 4 files changed, 77 insertions(+), 71 deletions(-) diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/constant/ModuleConstant.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/constant/ModuleConstant.java index d787e30ed1..1bc5e3b98b 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/constant/ModuleConstant.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/constant/ModuleConstant.java @@ -75,6 +75,9 @@ public interface ModuleConstant { //代码审核结果推送 如下 String EVENT = "Event"; + String MSG_TYPE = "MsgType"; + String EVENT_LOW = "event"; + String TEXT = "text"; String WEAPP_AUDIT_SUCCESS = "weapp_audit_success"; //审核通过 String WEAPP_AUDIT_FAIL = "weapp_audit_fail"; //审核不通过 String WEAPP_AUDIT_DELAY = "weapp_audit_delay"; //审核延后 diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/WarrantController.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/WarrantController.java index 2760162a5c..90139540e1 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/WarrantController.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/WarrantController.java @@ -6,6 +6,7 @@ import lombok.extern.slf4j.Slf4j; import org.dom4j.DocumentException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -25,7 +26,7 @@ public class WarrantController { @Autowired private WarrantService warrantService; - @RequestMapping(value ="/{APPID}/callback") + @PostMapping(value ="/{APPID}/callback") public String acceptMessageAndEvent(HttpServletRequest request, @PathVariable("APPID") String appid, HttpServletResponse response)throws IOException, DocumentException, AesException { return warrantService.acceptMessageAndEvent(request, appid, response); diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/ComponentVerifyTicketServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/ComponentVerifyTicketServiceImpl.java index d00460d8a0..85986d041e 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/ComponentVerifyTicketServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/ComponentVerifyTicketServiceImpl.java @@ -201,24 +201,26 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe jsonObject.put(ModuleConstant.TICKET_UNDERLINE_KEY, componentVerifyTicket); String post = HttpClientManager.getInstance().sendPostByJSON(WxMaCodeConstant.API_COMPONENT_TOKEN_URL, JSON.toJSONString(jsonObject)).getData(); Map hashMap = JSON.parseObject(post, Map.class); - String componentAccessToken = hashMap.get(COMPONENT_ACCESS_TOKEN).toString(); - Integer expiresIn = (Integer) hashMap.get(ModuleConstant.EXPIRES_IN); - Date expiresInTime = this.countExpirationTime(expiresIn.toString()); - if (StringUtils.isNotEmpty(componentAccessToken)) { - //令牌信息存DB - ComponentAccessTokenFormDTO formDTO = new ComponentAccessTokenFormDTO(); - formDTO.setComponentAccessToken(componentAccessToken); - formDTO.setExpiresInTime(expiresInTime); - //先逻辑删,在插入 - log.info(ThirdRunTimeInfoConstant.START_DELETE_COMPONENT_ACCESS_TOKEN); - componentAccessTokenDao.deleteOldComponentAccessToken(); - componentAccessTokenDao.insertComponentAccessToken(formDTO); - //存缓存 - redisThird.setComponentAccessToken(componentAccessToken); - } else { - throw new RenException(ThirdRunTimeInfoConstant.FAILURE_ACCESS_TOKEN); + if (!hashMap.containsKey(ModuleConstant.ERR_MSG)) { + String componentAccessToken = hashMap.get(COMPONENT_ACCESS_TOKEN).toString(); + Integer expiresIn = (Integer) hashMap.get(ModuleConstant.EXPIRES_IN); + Date expiresInTime = this.countExpirationTime(expiresIn.toString()); + if (StringUtils.isNotEmpty(componentAccessToken)) { + //令牌信息存DB + ComponentAccessTokenFormDTO formDTO = new ComponentAccessTokenFormDTO(); + formDTO.setComponentAccessToken(componentAccessToken); + formDTO.setExpiresInTime(expiresInTime); + //先逻辑删,在插入 + log.info(ThirdRunTimeInfoConstant.START_DELETE_COMPONENT_ACCESS_TOKEN); + componentAccessTokenDao.deleteOldComponentAccessToken(); + componentAccessTokenDao.insertComponentAccessToken(formDTO); + //存缓存 + redisThird.setComponentAccessToken(componentAccessToken); + } else { + throw new RenException(ThirdRunTimeInfoConstant.FAILURE_ACCESS_TOKEN); + } + log.info(ThirdRunTimeInfoConstant.SUCCESS_ACCESS_TOKEN); } - log.info(ThirdRunTimeInfoConstant.SUCCESS_ACCESS_TOKEN); } } @@ -232,31 +234,27 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe public String preAuthCode() { log.info(START_GET_PRE_AUTH_CODE); String preAuthCode = ""; - try { - String accessToken = redisThird.getComponentAccessToken(); - JSONObject jsonObject = new JSONObject(); - jsonObject.put(ModuleConstant.COMPONENT_APPID, componentAppId); - String post = HttpClientManager.getInstance().sendPostByJSON(WxMaCodeConstant.API_CREATE_PREAUTHCODE_URL + accessToken, JSON.toJSONString(jsonObject)).getData(); - log.info(String.format(POST_RESULT,post)); - Map hashMap = JSON.parseObject(post, Map.class); - preAuthCode = hashMap.get(ModuleConstant.PRE_AUTH_CODE).toString(); - Integer expiresIn = (Integer) hashMap.get(ModuleConstant.EXPIRES_IN); - Date expiresInTime = this.countExpirationTime(expiresIn.toString()); - if (StringUtils.isNotEmpty(preAuthCode)) { - //预授权码 存DB - PreAuthTokenFormDTO formDTO = new PreAuthTokenFormDTO(); - formDTO.setPreAuthToken(preAuthCode); - formDTO.setExpiresInTime(expiresInTime); - //先逻辑删除,在插入DB - preAuthTokenDao.updateOldPreAuthCode(); - preAuthTokenDao.insertPreAuthToken(formDTO); - //预授权码 放入缓存 - redisThird.setPreAuthCode(preAuthCode); - } else { - throw new RuntimeException(FAILURE_GET_PRE_AUTH_CODE); - } - } catch (Exception e) { - e.printStackTrace(); + String accessToken = redisThird.getComponentAccessToken(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put(ModuleConstant.COMPONENT_APPID, componentAppId); + String post = HttpClientManager.getInstance().sendPostByJSON(WxMaCodeConstant.API_CREATE_PREAUTHCODE_URL + accessToken, JSON.toJSONString(jsonObject)).getData(); + log.info(String.format(POST_RESULT,post)); + Map hashMap = JSON.parseObject(post, Map.class); + preAuthCode = hashMap.get(ModuleConstant.PRE_AUTH_CODE).toString(); + Integer expiresIn = (Integer) hashMap.get(ModuleConstant.EXPIRES_IN); + Date expiresInTime = this.countExpirationTime(expiresIn.toString()); + if (StringUtils.isNotEmpty(preAuthCode)) { + //预授权码 存DB + PreAuthTokenFormDTO formDTO = new PreAuthTokenFormDTO(); + formDTO.setPreAuthToken(preAuthCode); + formDTO.setExpiresInTime(expiresInTime); + //先逻辑删除,在插入DB + preAuthTokenDao.updateOldPreAuthCode(); + preAuthTokenDao.insertPreAuthToken(formDTO); + //预授权码 放入缓存 + redisThird.setPreAuthCode(preAuthCode); + } else { + throw new RuntimeException(FAILURE_GET_PRE_AUTH_CODE); } log.info(END_GET_PRE_AUTH_CODE); return preAuthCode; diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/WarrantServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/WarrantServiceImpl.java index d5a3d500af..c55f647789 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/WarrantServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/WarrantServiceImpl.java @@ -90,35 +90,39 @@ public class WarrantServiceImpl implements WarrantService { // 将xml转为map Map result = WXXmlToMapUtil.multilayerXmlToMap(msg); Map xml = (Map) result.get(ModuleConstant.XML); - Long createTime = Long.valueOf(xml.get(ModuleConstant.CREATE_TIME).toString()); - CodeAuditRecordFormDTO codeAuditRecord = componentVerifyTicketService.mapToEntity(xml, CodeAuditRecordFormDTO.class); - codeAuditRecord.setWechatCreateTime(new Date(createTime)); - String toUserName = codeAuditRecord.getToUserName();//小程序原始ID - CustomerIdAndClientResultDTO customerIdAndClientResultDTO = miniInfoDao.selectCustomerIdAndClientByToUserName(toUserName); - String clientType = customerIdAndClientResultDTO.getClientType(); - String customerId = customerIdAndClientResultDTO.getCustomerId(); - TemplateAndAppIdResultDTO templateAndAppId = codeCustomerDao.selectTemplateAndAppId(customerId, clientType); - String authAppId = templateAndAppId.getAuthAppId(); - String templateId = templateAndAppId.getTemplateId(); - codeAuditRecord.setClientType(clientType); - codeAuditRecord.setCustomerId(customerId); - codeAuditRecord.setAuthAppId(authAppId); - codeAuditRecord.setTemplateId(templateId); - //插入 代码审核 记录 - codeAuditRecordDao.insertCodeAuditRecord(codeAuditRecord); - // 修改 code_audit_result 中的代码审核结果 - String event = codeAuditRecord.getEvent(); - String codeResult = null; - switch (event){ - case ModuleConstant.WEAPP_AUDIT_SUCCESS: - codeResult = ModuleConstant.AUDIT_SUCCESS; - case ModuleConstant.WEAPP_AUDIT_FAIL: - codeResult = ModuleConstant.AUDIT_FAILED; - case ModuleConstant.WEAPP_AUDIT_DELAY: - codeResult = ModuleConstant.DELAY; + if (xml.get(ModuleConstant.MSG_TYPE).equals(ModuleConstant.EVENT_LOW)) { + Long createTime = Long.valueOf(xml.get(ModuleConstant.CREATE_TIME).toString()); + CodeAuditRecordFormDTO codeAuditRecord = componentVerifyTicketService.mapToEntity(xml, CodeAuditRecordFormDTO.class); + codeAuditRecord.setWechatCreateTime(new Date(createTime)); + String toUserName = codeAuditRecord.getToUserName();//小程序原始ID + CustomerIdAndClientResultDTO customerIdAndClientResultDTO = miniInfoDao.selectCustomerIdAndClientByToUserName(toUserName); + String clientType = customerIdAndClientResultDTO.getClientType(); + String customerId = customerIdAndClientResultDTO.getCustomerId(); + TemplateAndAppIdResultDTO templateAndAppId = codeCustomerDao.selectTemplateAndAppId(customerId, clientType); + String authAppId = templateAndAppId.getAuthAppId(); + String templateId = templateAndAppId.getTemplateId(); + codeAuditRecord.setClientType(clientType); + codeAuditRecord.setCustomerId(customerId); + codeAuditRecord.setAuthAppId(authAppId); + codeAuditRecord.setTemplateId(templateId); + //插入 代码审核 记录 + codeAuditRecordDao.insertCodeAuditRecord(codeAuditRecord); + // 修改 code_audit_result 中的代码审核结果 + String event = codeAuditRecord.getEvent(); + String codeResult = null; + switch (event) { + case ModuleConstant.WEAPP_AUDIT_SUCCESS: + codeResult = ModuleConstant.AUDIT_SUCCESS; + case ModuleConstant.WEAPP_AUDIT_FAIL: + codeResult = ModuleConstant.AUDIT_FAILED; + case ModuleConstant.WEAPP_AUDIT_DELAY: + codeResult = ModuleConstant.DELAY; + } + String codeCustomerId = codeCustomerDao.selectCodeCustomerId(codeAuditRecord); + codeAuditResultDao.updateAuditResult(customerId, codeCustomerId, codeResult); + }else if (xml.get(ModuleConstant.MSG_TYPE).equals(ModuleConstant.TEXT)){ + } - String codeCustomerId = codeCustomerDao.selectCodeCustomerId(codeAuditRecord); - codeAuditResultDao.updateAuditResult(customerId,codeCustomerId,codeResult); return ModuleConstant.SUCCESS; } }