From 5f79f101439d76b8fac45ebf45744e2eb8c1a0af Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 21 Oct 2020 15:28:50 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=A6=82=E6=9E=9C=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E5=8C=BA=E5=88=92=20=E5=88=99=E9=BB=98=E8=AE=A4=E6=9A=82?= =?UTF-8?q?=E6=97=B6=E4=B8=8D=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../screen/ScreenCustomerAgencyEntity.java | 15 ++++++++++----- .../impl/ScreenCustomerAgencyServiceImpl.java | 13 +++++++++++++ 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenCustomerAgencyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenCustomerAgencyEntity.java index da0a164888..46903b52b5 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenCustomerAgencyEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenCustomerAgencyEntity.java @@ -89,15 +89,20 @@ public class ScreenCustomerAgencyEntity extends BaseEpmetEntity { private String level; /** - * 行政地区编码 - */ + * 行政地区编码 + */ private String areaCode; private String sourceType; - /** - * 数据更新至: yyyy|yyyyMM|yyyyMMdd(08-21新增) - */ + /** + * 数据更新至: yyyy|yyyyMM|yyyyMMdd(08-21新增) + */ private String dataEndTime; + /** + * desc: 是否显示 1显示 0不显示 + */ + private String isDisplay; + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerAgencyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerAgencyServiceImpl.java index d506856d0e..2cc97d3256 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerAgencyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerAgencyServiceImpl.java @@ -39,6 +39,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; import java.util.*; import java.util.stream.Collectors; @@ -131,6 +132,12 @@ public class ScreenCustomerAgencyServiceImpl implements ScreenCustomerAgencyServ exists.setLevel(e.getLevel()); exists.setDataEndTime(dateEndTime); exists.setAreaCode(e.getAreaCode()); + //如果没有区划 则默认暂时不显示 + if (StringUtils.isEmpty(e.getAreaCode())) { + exists.setIsDisplay(NumConstant.ZERO_STR); + } else { + exists.setIsDisplay(NumConstant.ONE_STR); + } exists.setAllParentNames(e.getAllParentName()); updateAgency(exists); } @@ -221,6 +228,12 @@ public class ScreenCustomerAgencyServiceImpl implements ScreenCustomerAgencyServ cae.setAllParentNames(e.getAllParentName()); cae.setAreaCode(e.getAreaCode()); //cae.setAreaMarks(e); + //如果没有区划 则默认暂时不显示 + if (StringUtils.isEmpty(e.getAreaCode())) { + cae.setIsDisplay(NumConstant.ZERO_STR); + } else { + cae.setIsDisplay(NumConstant.ONE_STR); + } cae.setCustomerId(e.getCustomerId()); cae.setDataEndTime(dateEndTime); cae.setLevel(e.getLevel()); From 7bbeae4bdbb7edf2dd65d32b8024be58d3df9543 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 21 Oct 2020 16:13:07 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E7=9C=9F=E5=81=87=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/evaluationindex/screen/impl/AgencyServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AgencyServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AgencyServiceImpl.java index ac4befa559..df622e9924 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AgencyServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AgencyServiceImpl.java @@ -73,6 +73,7 @@ public class AgencyServiceImpl implements AgencyService { * @author zxc * @date 2020/10/21 2:49 下午 */ + @DataSource(value = DataSourceConstant.EVALUATION_INDEX, datasourceNameFromArg = true) @Override public TreeResultDTO treeByType(String customerId, String bizType) { TreeResultDTO rootAgency = null; From 25e1e120291661734a645f6e94032203666ad589 Mon Sep 17 00:00:00 2001 From: wxz Date: Thu, 22 Oct 2020 10:51:59 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E6=A0=B9?= =?UTF-8?q?=E6=8D=AEappId=E7=94=9F=E6=88=90jwt=20AccessToken=E7=9A=84?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/GetJwtAccessTokenFormDTO.java | 13 +++++++ .../result/GetJwtAccessTokenResultDTO.java | 16 +++++++++ .../EpmetCommonServiceOpenFeignClient.java | 10 ++++++ .../controller/ExternalAppController.java | 16 +++++++++ .../com/epmet/service/ExternalAppService.java | 3 ++ .../service/impl/ExternalAppServiceImpl.java | 15 ++++++++ .../externalapp/ExtAppJwtTokenUtils.java | 36 ++++++------------- 7 files changed, 83 insertions(+), 26 deletions(-) create mode 100644 epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/GetJwtAccessTokenFormDTO.java create mode 100644 epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/GetJwtAccessTokenResultDTO.java diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/GetJwtAccessTokenFormDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/GetJwtAccessTokenFormDTO.java new file mode 100644 index 0000000000..47577b2787 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/GetJwtAccessTokenFormDTO.java @@ -0,0 +1,13 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +@Data +public class GetJwtAccessTokenFormDTO { + + @NotBlank(message = "AppId不能为空") + private String appId; + +} diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/GetJwtAccessTokenResultDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/GetJwtAccessTokenResultDTO.java new file mode 100644 index 0000000000..58cf9ecc6f --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/GetJwtAccessTokenResultDTO.java @@ -0,0 +1,16 @@ +package com.epmet.dto.result; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class GetJwtAccessTokenResultDTO { + + private String customerId; + private String token; + private Long ts; + +} diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java index 7ed9ff3f18..cd93b5eca6 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java @@ -3,6 +3,7 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.ExternalAppAuthFormDTO; +import com.epmet.dto.form.GetJwtAccessTokenFormDTO; import com.epmet.dto.form.WorkDayFormDTO; import com.epmet.dto.result.ExternalAppAuthResultDTO; import com.epmet.dto.result.WorkDayResultDTO; @@ -53,4 +54,13 @@ public interface EpmetCommonServiceOpenFeignClient { */ @PostMapping("/commonservice/externalapp/get-secret") Result getSecret(@RequestBody String appId); + + /** + * @Description 获取AccessToken + * @return Result + * @author wxz + * @date 2020.10.22 10:19 + */ + @PostMapping("/commonservice/externalapp/get-jwt-accesstoken") + Result getAccessToken(@RequestBody GetJwtAccessTokenFormDTO form); } diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ExternalAppController.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ExternalAppController.java index f1229c7902..dc703b0c4c 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ExternalAppController.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ExternalAppController.java @@ -8,8 +8,10 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.ExternalAppAuthFormDTO; import com.epmet.dto.form.ExternalAppFormDTO; +import com.epmet.dto.form.GetJwtAccessTokenFormDTO; import com.epmet.dto.result.ExternalAppAuthResultDTO; import com.epmet.dto.result.ExternalAppResultDTO; +import com.epmet.dto.result.GetJwtAccessTokenResultDTO; import com.epmet.service.ExternalAppAuthService; import com.epmet.service.ExternalAppSecretService; import com.epmet.service.ExternalAppService; @@ -146,4 +148,18 @@ public class ExternalAppController { return new Result().ok(secret); } + /** + * @Description 获取AccessToken + * @return Result + * @author wxz + * @date 2020.10.22 10:19 + */ + @PostMapping("get-jwt-accesstoken") + public Result getAccessToken(@RequestBody GetJwtAccessTokenFormDTO form) { + ValidatorUtils.validateEntity(form); + String appId = form.getAppId(); + GetJwtAccessTokenResultDTO jwtAccessToken = externalAppService.getJwtAccessToken(appId); + return new Result().ok(jwtAccessToken); + } + } diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/ExternalAppService.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/ExternalAppService.java index 4d5d847e68..4590ae6863 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/ExternalAppService.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/ExternalAppService.java @@ -19,6 +19,7 @@ package com.epmet.service; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.result.ExternalAppResultDTO; +import com.epmet.dto.result.GetJwtAccessTokenResultDTO; import java.util.List; @@ -38,4 +39,6 @@ public interface ExternalAppService { List getCustomerIds(); String resetSecret(String appId); + + GetJwtAccessTokenResultDTO getJwtAccessToken(String appId); } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/ExternalAppServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/ExternalAppServiceImpl.java index db3267c600..8bfeb7474f 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/ExternalAppServiceImpl.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/ExternalAppServiceImpl.java @@ -28,11 +28,13 @@ import com.epmet.dao.ExternalAppSecretDao; import com.epmet.dao.ExternalCustomerDao; import com.epmet.dto.CustomerDTO; import com.epmet.dto.result.ExternalAppResultDTO; +import com.epmet.dto.result.GetJwtAccessTokenResultDTO; import com.epmet.entity.ExternalAppEntity; import com.epmet.entity.ExternalAppSecretEntity; import com.epmet.enu.CustomerTypeEnum; import com.epmet.feign.OperCrmOpenFeignClient; import com.epmet.service.ExternalAppService; +import com.epmet.utils.externalapp.ExtAppJwtTokenUtils; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.slf4j.Logger; @@ -70,6 +72,9 @@ public class ExternalAppServiceImpl implements ExternalAppService { @Autowired private RedisUtils redisUtils; + @Autowired + private ExtAppJwtTokenUtils tokenUtils; + @Transactional @Override public ExternalAppResultDTO add(String appName, String customerId, String customerType) { @@ -197,4 +202,14 @@ public class ExternalAppServiceImpl implements ExternalAppService { return null; } + @Override + public GetJwtAccessTokenResultDTO getJwtAccessToken(String appId) { + ExternalAppEntity externalAppEntity = externalAppDao.selectById(appId); + String customerId = externalAppEntity.getCustomerId(); + String secret = externalAppSecretDao.getSecretByAppId(appId); + long ts = System.currentTimeMillis(); + + String token = tokenUtils.genToken(secret, appId, customerId, ts); + return new GetJwtAccessTokenResultDTO(customerId, token, ts); + } } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/utils/externalapp/ExtAppJwtTokenUtils.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/utils/externalapp/ExtAppJwtTokenUtils.java index b945889b7c..147c3b540c 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/utils/externalapp/ExtAppJwtTokenUtils.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/utils/externalapp/ExtAppJwtTokenUtils.java @@ -49,7 +49,7 @@ public class ExtAppJwtTokenUtils { } } - public String createToken(Map map, String secret) { + private String createToken(Map map, String secret) { return Jwts.builder() .setHeaderParam("typ", "JWT") .setClaims(map) @@ -59,21 +59,7 @@ public class ExtAppJwtTokenUtils { .compact(); } -// /** -// * token是否过期 -// * -// * @return true:过期 -// */ -// public boolean isTokenExpired(Date expiration) { -// return expiration.before(new Date()); -// } - - public static void main(String[] args) { - genToken(); -// getClaim(); - } - - public static void genToken() { + public static void genTestToken() { HashMap claim = new HashMap<>(); //市北 //String secret = "612d304095c50369c3ef06e490f05779eeb8f19ff16566c73aeafafc5fa01970"; @@ -89,21 +75,19 @@ public class ExtAppJwtTokenUtils { String appId = "f358d63a89f3670c197c62ca4c3a0366"; String customrId = "45687aa479955f9d06204d415238f7cc"; - claim.put("customerId", customrId); - claim.put("appId", appId); long ts = System.currentTimeMillis() + 1000 * 60 * 1; System.out.println("时间戳:" + ts); - claim.put("ts", ts); - - String abc = new ExtAppJwtTokenUtils().createToken(claim, secret); - System.out.println(abc); + String token = new ExtAppJwtTokenUtils().genToken(secret, appId, customrId, ts); + System.out.println(token); } - public static void getClaim() { - String token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJhcHBJZCI6IjEiLCJjdXN0b21lcklkIjoiYzEiLCJpYXQiOjE1OTc3NDI2NTB9.09Vop0Nobg3LENAJoAZaCUKtgAjADAK48BS11ky3YdAp6h-cXYtGeqUxbgvE_4F6239rc7UE2fjxtEvMuWEJuA"; + public String genToken(String secret, String appId, String customrId, Long ts) { + HashMap claim = new HashMap<>(); + claim.put("customerId", customrId); + claim.put("appId", appId); + claim.put("ts", ts); - Claims claimByToken = new ExtAppJwtTokenUtils().getClaimByToken(token, "4a762660254c57996343f8ee42fbc0a6"); - System.out.println(claimByToken); + return createToken(claim, secret); } } From 51acdf7b7642a381263a58df2b347e87aecc0882 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 22 Oct 2020 11:02:32 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=99=BA=E6=85=A7=E7=A4=BE=E5=8C=BA?= =?UTF-8?q?=E7=9A=84tree=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/utils/HttpClientManager.java | 23 +++++++++ .../screen/dto/form/TreeByTypeFormDTO.java | 22 +++++++++ .../data-report/data-report-server/pom.xml | 5 ++ .../datareport/constant/FactConstant.java | 2 + .../backdoor/BackDoorController.java | 27 ++++++++++ .../controller/screen/AgencyController.java | 4 +- .../service/backdoor/BackDoorService.java | 13 +++++ .../backdoor/impl/BackDoorServiceImpl.java | 49 +++++++++++++++++++ .../evaluationindex/screen/AgencyService.java | 11 ++--- .../screen/impl/AgencyServiceImpl.java | 5 +- .../epmet/dto/result/AppIdInfoResultDTO.java | 32 ++++++++++++ .../EpmetCommonServiceOpenFeignClient.java | 8 ++- ...tCommonServiceOpenFeignClientFallback.java | 6 +++ .../controller/ExternalAppController.java | 11 +++-- .../java/com/epmet/dao/ExternalAppDao.java | 9 ++++ .../com/epmet/service/ExternalAppService.java | 3 ++ .../service/impl/ExternalAppServiceImpl.java | 13 +++++ .../main/resources/mapper/ExternalAppDao.xml | 14 ++++++ 18 files changed, 240 insertions(+), 17 deletions(-) create mode 100644 epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/TreeByTypeFormDTO.java create mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/backdoor/BackDoorController.java create mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/backdoor/BackDoorService.java create mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/backdoor/impl/BackDoorServiceImpl.java create mode 100644 epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/AppIdInfoResultDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java index 0c6c4cb9ae..d69f319d7b 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java @@ -159,6 +159,29 @@ public class HttpClientManager { } + public Result sendPostByJSONAndHeader(String url, String jsonStrParam,Map headerMap) { + + try { + HttpPost httppost = new HttpPost(url); + httppost.setConfig(requestConfig); + httppost.addHeader("Content-Type", "application/json; charset=utf-8"); + if (null != headerMap){ + headerMap.forEach((k,v) -> { + httppost.addHeader(k,v); + }); + } + if (StringUtils.isNotEmpty(jsonStrParam)) { + StringEntity se = new StringEntity(jsonStrParam, "utf-8"); + httppost.setEntity(se); + } + return execute(httppost, false); + } catch (Exception e) { + log.error("send exception", e); + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), EpmetErrorCode.SERVER_ERROR.getMsg()); + } + + } + /** * 上传临时素材 * @author zhaoqifeng diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/TreeByTypeFormDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/TreeByTypeFormDTO.java new file mode 100644 index 0000000000..aa0636363b --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/TreeByTypeFormDTO.java @@ -0,0 +1,22 @@ +package com.epmet.evaluationindex.screen.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/10/22 10:52 上午 + */ +@Data +public class TreeByTypeFormDTO implements Serializable { + + private static final long serialVersionUID = -1438758394814978472L; + + public interface TreeByType extends CustomerClientShowGroup{} + + @NotBlank(message = "bizType不能为空",groups = TreeByType.class) + private String bizType; +} diff --git a/epmet-module/data-report/data-report-server/pom.xml b/epmet-module/data-report/data-report-server/pom.xml index 47b013b8eb..4992a47231 100644 --- a/epmet-module/data-report/data-report-server/pom.xml +++ b/epmet-module/data-report/data-report-server/pom.xml @@ -29,6 +29,11 @@ epmet-user-client 2.0.0 + + com.epmet + common-service-client + 2.0.0 + org.springframework.boot spring-boot-starter-web diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/FactConstant.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/FactConstant.java index 4e2449c81c..d400f023bb 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/FactConstant.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/FactConstant.java @@ -61,4 +61,6 @@ public interface FactConstant { * 评价指标类型-百分比 */ String PERCENT = "percent"; + + String URL = "https://epmet-dev.elinkservice.cn/api/"; } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/backdoor/BackDoorController.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/backdoor/BackDoorController.java new file mode 100644 index 0000000000..4f45500cc0 --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/backdoor/BackDoorController.java @@ -0,0 +1,27 @@ +package com.epmet.datareport.controller.backdoor; + +import com.epmet.commons.tools.utils.Result; +import com.epmet.datareport.service.backdoor.BackDoorService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Author zxc + * @DateTime 2020/10/21 5:17 下午 + */ +@RestController +@RequestMapping("backdoor") +public class BackDoorController { + + @Autowired + private BackDoorService backDoorService; + + @PostMapping("backdoor") + public Result backDoor(@RequestHeader("Data-Type")String dataType, @RequestHeader("AppId")String appId, @RequestHeader("target")String target){ + return new Result().ok(backDoorService.backDoor(dataType,appId,target)); + } + +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/AgencyController.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/AgencyController.java index 0b978ce9b0..1fb253ac62 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/AgencyController.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/AgencyController.java @@ -4,6 +4,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.datareport.service.evaluationindex.screen.AgencyService; import com.epmet.evaluationindex.screen.dto.form.CompartmentFormDTO; +import com.epmet.evaluationindex.screen.dto.form.TreeByTypeFormDTO; import com.epmet.evaluationindex.screen.dto.result.CompartmentResultDTO; import com.epmet.evaluationindex.screen.dto.result.TreeResultDTO; import org.springframework.beans.factory.annotation.Autowired; @@ -41,7 +42,8 @@ public class AgencyController { * @date 2020/10/21 2:49 下午 */ @PostMapping("treebytype") - public Result treeByType(@RequestHeader("CustomerId") String customerId,@RequestParam("bizType")String bizType){ + public Result treeByType(@RequestHeader("CustomerId") String customerId,@RequestBody TreeByTypeFormDTO bizType){ + ValidatorUtils.validateEntity(bizType, TreeByTypeFormDTO.TreeByType.class); return new Result().ok(agencyService.treeByType(customerId,bizType)); } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/backdoor/BackDoorService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/backdoor/BackDoorService.java new file mode 100644 index 0000000000..245f061737 --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/backdoor/BackDoorService.java @@ -0,0 +1,13 @@ +package com.epmet.datareport.service.backdoor; + +import com.epmet.commons.tools.utils.Result; + +/** + * @Author zxc + * @DateTime 2020/10/21 5:17 下午 + */ +public interface BackDoorService { + + Object backDoor(String dataType, String appId, String target); + +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/backdoor/impl/BackDoorServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/backdoor/impl/BackDoorServiceImpl.java new file mode 100644 index 0000000000..29807f7832 --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/backdoor/impl/BackDoorServiceImpl.java @@ -0,0 +1,49 @@ +package com.epmet.datareport.service.backdoor.impl; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.utils.HttpClientManager; +import com.epmet.commons.tools.utils.Result; +import com.epmet.datareport.constant.*; +import com.epmet.datareport.service.backdoor.BackDoorService; +import com.epmet.dto.result.AppIdInfoResultDTO; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.Map; + +/** + * @Author zxc + * @DateTime 2020/10/21 5:17 下午 + */ +@Service +public class BackDoorServiceImpl implements BackDoorService { + + @Autowired + private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; + + @Override + public Object backDoor(String dataType, String appId, String target) { + Result appIdInfoResultDTOResult = commonServiceOpenFeignClient.appIdInfo(appId); + if (!appIdInfoResultDTOResult.success()){ + throw new RenException("获取accessToken失败......"); + } + AppIdInfoResultDTO data = appIdInfoResultDTOResult.getData(); + String url = FactConstant.URL.concat(target); + Map map = new HashMap(16); + Map headerMap = new HashMap<>(16); + headerMap.put("AccessToken",data.getAccessToken()); + headerMap.put("AppId",data.getAppId()); + headerMap.put("AuthType","jwt"); + headerMap.put("Data-Type",dataType); +// headerMap.put("Authorization","eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJhcHAiOiJnb3YiLCJjbGllbnQiOiJ3eG1wIiwiZXhwIjoxNjAzODY2MjY2LCJ1c2VySWQiOiI0ZWYwYTA4YTBiNWVmOTM0ZjBiOGE4YzQ2ODJjMzY2NSIsImlhdCI6MTYwMzI2MTQ2Nn0.pW1Wzss-xtj6vUuJbvglUltdDWlUKqTyVQ6rGQ7WpSaE_Iz1uAd5XWI5OGLajyU4-aYCW14Dw3C-XoFepyiZJQ"); + map.put("bizType","community"); + Result stringResult = HttpClientManager.getInstance().sendPostByJSONAndHeader(url, JSON.toJSONString(map),headerMap); + JSONObject jsonObject = JSON.parseObject(stringResult.getData()); + System.out.println(jsonObject); + return jsonObject; + } +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/AgencyService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/AgencyService.java index 7e07abbcf2..c9517701a3 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/AgencyService.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/AgencyService.java @@ -1,6 +1,7 @@ package com.epmet.datareport.service.evaluationindex.screen; import com.epmet.evaluationindex.screen.dto.form.CompartmentFormDTO; +import com.epmet.evaluationindex.screen.dto.form.TreeByTypeFormDTO; import com.epmet.evaluationindex.screen.dto.result.CompartmentResultDTO; import com.epmet.evaluationindex.screen.dto.result.TreeResultDTO; @@ -20,14 +21,8 @@ public interface AgencyService { */ TreeResultDTO tree(String customerId); - /** - * @Description 智慧社区的tree - * @Param customerId - * @Param bizType - * @author zxc - * @date 2020/10/21 2:49 下午 - */ - TreeResultDTO treeByType(String customerId,String bizType); + + TreeResultDTO treeByType(String customerId, TreeByTypeFormDTO bizType); /** * @Description 2、组织区域查询 diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AgencyServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AgencyServiceImpl.java index df622e9924..880036439e 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AgencyServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AgencyServiceImpl.java @@ -9,6 +9,7 @@ import com.epmet.datareport.dao.evaluationindex.screen.ScreenCustomerGridDao; import com.epmet.datareport.service.evaluationindex.screen.AgencyService; import com.epmet.evaluationindex.screen.constant.ScreenConstant; import com.epmet.evaluationindex.screen.dto.form.CompartmentFormDTO; +import com.epmet.evaluationindex.screen.dto.form.TreeByTypeFormDTO; import com.epmet.evaluationindex.screen.dto.result.AgencyDistributionResultDTO; import com.epmet.evaluationindex.screen.dto.result.CompartmentResultDTO; import com.epmet.evaluationindex.screen.dto.result.TreeResultDTO; @@ -75,10 +76,10 @@ public class AgencyServiceImpl implements AgencyService { */ @DataSource(value = DataSourceConstant.EVALUATION_INDEX, datasourceNameFromArg = true) @Override - public TreeResultDTO treeByType(String customerId, String bizType) { + public TreeResultDTO treeByType(String customerId, TreeByTypeFormDTO bizType) { TreeResultDTO rootAgency = null; try { - rootAgency = screenCustomerAgencyDao.selectRootAgencyIdByBizType(customerId,bizType); + rootAgency = screenCustomerAgencyDao.selectRootAgencyIdByBizType(customerId,bizType.getBizType()); if (null == rootAgency) { return new TreeResultDTO(); } diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/AppIdInfoResultDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/AppIdInfoResultDTO.java new file mode 100644 index 0000000000..b4dc217e2d --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/AppIdInfoResultDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/10/21 5:30 下午 + */ +@Data +public class AppIdInfoResultDTO implements Serializable { + + private static final long serialVersionUID = 4556971930323763712L; + + /** + * 应用ID + */ + private String appId; + + /** + * 客户ID + */ + private String customerId; + + /** + * 密钥 + */ + private String secret; + + private String accessToken; +} diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java index cd93b5eca6..6dceb26d74 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java @@ -5,6 +5,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.ExternalAppAuthFormDTO; import com.epmet.dto.form.GetJwtAccessTokenFormDTO; import com.epmet.dto.form.WorkDayFormDTO; +import com.epmet.dto.result.AppIdInfoResultDTO; import com.epmet.dto.result.ExternalAppAuthResultDTO; import com.epmet.dto.result.WorkDayResultDTO; import com.epmet.feign.fallback.EpmetCommonServiceOpenFeignClientFallback; @@ -20,8 +21,8 @@ import java.util.List; * @author yinzuomei@elink-cn.com * @date 2020/6/4 10:28 */ -@FeignClient(name = ServiceConstant.EPMET_COMMON_SERVICE, fallback = EpmetCommonServiceOpenFeignClientFallback.class) -//@FeignClient(name = ServiceConstant.EPMET_COMMON_SERVICE, fallback = EpmetCommonServiceOpenFeignClientFallback.class, url = "http://localhost:8103") +//@FeignClient(name = ServiceConstant.EPMET_COMMON_SERVICE, fallback = EpmetCommonServiceOpenFeignClientFallback.class) +@FeignClient(name = ServiceConstant.EPMET_COMMON_SERVICE, fallback = EpmetCommonServiceOpenFeignClientFallback.class, url = "localhost:8103") public interface EpmetCommonServiceOpenFeignClient { /** * @param formDTO @@ -63,4 +64,7 @@ public interface EpmetCommonServiceOpenFeignClient { */ @PostMapping("/commonservice/externalapp/get-jwt-accesstoken") Result getAccessToken(@RequestBody GetJwtAccessTokenFormDTO form); + + @PostMapping("/commonservice/externalapp/appidinfo") + Result appIdInfo(@RequestBody String appId); } diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java index 4640f13b45..41765e02bb 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java @@ -5,6 +5,7 @@ import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.ExternalAppAuthFormDTO; import com.epmet.dto.form.WorkDayFormDTO; +import com.epmet.dto.result.AppIdInfoResultDTO; import com.epmet.dto.result.ExternalAppAuthResultDTO; import com.epmet.dto.result.WorkDayResultDTO; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; @@ -39,4 +40,9 @@ public class EpmetCommonServiceOpenFeignClientFallback implements EpmetCommonSer public Result getSecret(String appId) { return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "getSecret", appId); } + + @Override + public Result appIdInfo(String appId) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "appIdInfo", appId); + } } diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ExternalAppController.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ExternalAppController.java index dc703b0c4c..baee81af67 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ExternalAppController.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ExternalAppController.java @@ -9,6 +9,7 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.ExternalAppAuthFormDTO; import com.epmet.dto.form.ExternalAppFormDTO; import com.epmet.dto.form.GetJwtAccessTokenFormDTO; +import com.epmet.dto.result.AppIdInfoResultDTO; import com.epmet.dto.result.ExternalAppAuthResultDTO; import com.epmet.dto.result.ExternalAppResultDTO; import com.epmet.dto.result.GetJwtAccessTokenResultDTO; @@ -19,10 +20,7 @@ import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -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 org.springframework.web.bind.annotation.*; import java.util.List; @@ -162,4 +160,9 @@ public class ExternalAppController { return new Result().ok(jwtAccessToken); } + @PostMapping("appidinfo") + public Result appIdInfo(@RequestBody String appId){ + return new Result().ok(externalAppService.appIdInfo(appId)); + } + } diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/ExternalAppDao.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/ExternalAppDao.java index 45dda5390a..b2f89b9b90 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/ExternalAppDao.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/ExternalAppDao.java @@ -18,6 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.result.AppIdInfoResultDTO; import com.epmet.dto.result.ExternalAppResultDTO; import com.epmet.entity.ExternalAppEntity; import org.apache.ibatis.annotations.Mapper; @@ -41,4 +42,12 @@ public interface ExternalAppDao extends BaseDao { List list(@Param("customerId") String customerId); List getCustomerIds(); + + /** + * @Description 根据appId查询客户ID和密钥 + * @Param appId + * @author zxc + * @date 2020/10/21 5:50 下午 + */ + AppIdInfoResultDTO appIdInfo(@Param("appId")String appId); } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/ExternalAppService.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/ExternalAppService.java index 4590ae6863..77e4c32f48 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/ExternalAppService.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/ExternalAppService.java @@ -18,6 +18,7 @@ package com.epmet.service; import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.result.AppIdInfoResultDTO; import com.epmet.dto.result.ExternalAppResultDTO; import com.epmet.dto.result.GetJwtAccessTokenResultDTO; @@ -41,4 +42,6 @@ public interface ExternalAppService { String resetSecret(String appId); GetJwtAccessTokenResultDTO getJwtAccessToken(String appId); + + AppIdInfoResultDTO appIdInfo(String appId); } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/ExternalAppServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/ExternalAppServiceImpl.java index 8bfeb7474f..7b4229b3a1 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/ExternalAppServiceImpl.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/ExternalAppServiceImpl.java @@ -27,6 +27,7 @@ import com.epmet.dao.ExternalAppDao; import com.epmet.dao.ExternalAppSecretDao; import com.epmet.dao.ExternalCustomerDao; import com.epmet.dto.CustomerDTO; +import com.epmet.dto.result.AppIdInfoResultDTO; import com.epmet.dto.result.ExternalAppResultDTO; import com.epmet.dto.result.GetJwtAccessTokenResultDTO; import com.epmet.entity.ExternalAppEntity; @@ -43,6 +44,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.HashMap; import java.util.List; import java.util.UUID; @@ -212,4 +214,15 @@ public class ExternalAppServiceImpl implements ExternalAppService { String token = tokenUtils.genToken(secret, appId, customerId, ts); return new GetJwtAccessTokenResultDTO(customerId, token, ts); } + @Override + public AppIdInfoResultDTO appIdInfo(String appId) { + AppIdInfoResultDTO appIdInfoResultDTO = externalAppDao.appIdInfo(appId); + if (null == appIdInfoResultDTO){ + throw new RenException("没查到对应appId【"+appId+"】的信息"); + } + String accessToken = tokenUtils.genToken(appIdInfoResultDTO.getSecret(), appId, appIdInfoResultDTO.getCustomerId(), System.currentTimeMillis()); + appIdInfoResultDTO.setAccessToken(accessToken); + return appIdInfoResultDTO; + } + } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/ExternalAppDao.xml b/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/ExternalAppDao.xml index 8ce99b1a67..55889d71b1 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/ExternalAppDao.xml +++ b/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/ExternalAppDao.xml @@ -66,5 +66,19 @@ SELECT CUSTOMER_ID FROM external_app WHERE DEL_FLAG = 0 + + + \ No newline at end of file