forked from rongchao/epmet-cloud-rizhao
				
			
				 11 changed files with 312 additions and 14 deletions
			
			
		| @ -0,0 +1,31 @@ | |||
| package com.epmet.commons.tools.constant; | |||
| 
 | |||
| 
 | |||
| /** | |||
|  * 需要特殊处理的客户id | |||
|  * | |||
|  * @author Mark sunlightcs@gmail.com | |||
|  * @since 1.0.0 | |||
|  */ | |||
| public interface SpecialCustomerOrgConstant { | |||
|     /** | |||
|      * 榆山街道组织id | |||
|      */ | |||
|     String YUSHAN_AGENCY_ID_PROD="1258587398679126017"; | |||
| 
 | |||
|     /** | |||
|      * 南宁社区-开发测试用的 | |||
|      */ | |||
|     String test="6e511da6816e53af4cda952365a26eb9"; | |||
| 
 | |||
|     // /**
 | |||
|     //  * 榆山生产客户id
 | |||
|     //  */
 | |||
|     // String YUSHAN_PROD_CUSTOMER_ID = "46c55cb862d6d5e6d05d2ab61a1cc07e";
 | |||
|     //
 | |||
|     // /**
 | |||
|     //  * 榆山测试客户id
 | |||
|     //  */
 | |||
|     // String YUSHAN_TEST_CUSTOMER_ID = "a4bbf298d8e427844038cee466f022ef";
 | |||
| 
 | |||
| } | |||
| @ -0,0 +1,29 @@ | |||
| package com.epmet.commons.tools.dto.form; | |||
| 
 | |||
| import lombok.Data; | |||
| 
 | |||
| import java.io.Serializable; | |||
| 
 | |||
| @Data | |||
| public class UpdateUserPointsFormDTO implements Serializable { | |||
| 
 | |||
|     /** | |||
|      * 行为类型: | |||
|      * 双十信息更新-double_info_update | |||
|      * 网格巡查-grid_patrol | |||
|      * 网格上报事件-grid_report_event | |||
|      * 网格工作上传-grid_work_upload | |||
|      */ | |||
|     private String behaviorType; | |||
| 
 | |||
|     /** | |||
|      * 手机号 | |||
|      */ | |||
|     private String mobile; | |||
| 
 | |||
|     /** | |||
|      * 工作端用户id | |||
|      */ | |||
|     private String staffId; | |||
|     private String customerId; | |||
| } | |||
| @ -0,0 +1,43 @@ | |||
| package com.epmet.commons.tools.enums; | |||
| 
 | |||
| 
 | |||
| /** | |||
|  * 更新用户积分(双实信息更新 网格巡查) | |||
|  * 行为类型枚举类 | |||
|  */ | |||
| public enum BehaviorTypeYuShanEnum { | |||
| 
 | |||
|     DOUBLE_INFO_UPDATE("double_info_update", "双十信息更新"), | |||
|     GRID_PATROL("grid_patrol", "网格巡查"), | |||
|     GRID_REPORT_EVENT("grid_report_event", "网格上报事件"), | |||
|     GRID_WORK_UPLOAD("grid_work_upload", "网格工作上传"), | |||
|     ; | |||
| 
 | |||
|     private String code; | |||
|     private String name; | |||
| 
 | |||
| 
 | |||
|     BehaviorTypeYuShanEnum(String code, String name) { | |||
|         this.code = code; | |||
|         this.name = name; | |||
|     } | |||
| 
 | |||
|     public static BehaviorTypeYuShanEnum getEnum(String code) { | |||
|         BehaviorTypeYuShanEnum[] values = BehaviorTypeYuShanEnum.values(); | |||
|         for (BehaviorTypeYuShanEnum value : values) { | |||
|             if (value.getCode().equals(code)) { | |||
|                 return value; | |||
|             } | |||
|         } | |||
|         return null; | |||
|     } | |||
| 
 | |||
| 
 | |||
|     public String getCode() { | |||
|         return code; | |||
|     } | |||
| 
 | |||
|     public String getName() { | |||
|         return name; | |||
|     } | |||
| } | |||
| @ -0,0 +1,35 @@ | |||
| package com.epmet.commons.tools.enums; | |||
| 
 | |||
| /** | |||
|  * 外部api | |||
|  */ | |||
| public enum ExternalApiEnum { | |||
| 
 | |||
|     /** | |||
|      * 榆山-测试服务器地址 | |||
|      */ | |||
|     UPDATE_USER_POINTS("/api/points/behavior/updateUserPoints","更新用户积分(双实信息更新 网格巡查)","http://yapi.elinkservice.cn/project/57/interface/api/7466"); | |||
| 
 | |||
|     private String apiPath; | |||
|     private String desc; | |||
|     private String descUrl; | |||
| 
 | |||
| 
 | |||
|     ExternalApiEnum(String apiPath, String desc,String descUrl) { | |||
|         this.apiPath = apiPath; | |||
|         this.desc = desc; | |||
|         this.descUrl=descUrl; | |||
|     } | |||
| 
 | |||
|     public String getApiPath() { | |||
|         return apiPath; | |||
|     } | |||
| 
 | |||
|     public String getDesc() { | |||
|         return desc; | |||
|     } | |||
| 
 | |||
|     public String getDescUrl() { | |||
|         return descUrl; | |||
|     } | |||
| } | |||
| @ -0,0 +1,55 @@ | |||
| package com.epmet.commons.tools.enums; | |||
| 
 | |||
| import com.epmet.commons.tools.constant.StrConstant; | |||
| 
 | |||
| 
 | |||
| /** | |||
|  * 外部客户的服务器地址 | |||
|  */ | |||
| public enum ExternalServerEnum { | |||
|     DEV_TEST("45687aa479955f9d06204d415238f7cc", "https://epdc-api-test.elinkservice.cn/epdc-api"), | |||
|     /** | |||
|      * 榆山-测试服务器地址 | |||
|      */ | |||
|     YUSHAN_TEST("a4bbf298d8e427844038cee466f022ef", "https://epdc-api-test.elinkservice.cn/epdc-api"), | |||
|     /** | |||
|      * 榆山-生产服务器地址 | |||
|      */ | |||
|     YUSHAN_PROD("46c55cb862d6d5e6d05d2ab61a1cc07e", "https://epdc-yushan.elinkservice.cn/epdc-api"); | |||
| 
 | |||
| 
 | |||
|     private String customerId; | |||
|     private String url; | |||
| 
 | |||
| 
 | |||
|     ExternalServerEnum(String customerId, String url) { | |||
|         this.customerId = customerId; | |||
|         this.url = url; | |||
|     } | |||
| 
 | |||
|     public static String getUrl(String customerId) { | |||
|         ExternalServerEnum[] array = values(); | |||
|         for (ExternalServerEnum enumValue : array) { | |||
|             if (enumValue.getCustomerId().equals(customerId)) { | |||
|                 return enumValue.getUrl(); | |||
|             } | |||
|         } | |||
|         return StrConstant.EPMETY_STR; | |||
|     } | |||
| 
 | |||
|     public String getCustomerId() { | |||
|         return customerId; | |||
|     } | |||
| 
 | |||
|     public void setCustomerId(String customerId) { | |||
|         this.customerId = customerId; | |||
|     } | |||
| 
 | |||
|     public String getUrl() { | |||
|         return url; | |||
|     } | |||
| 
 | |||
|     public void setUrl(String url) { | |||
|         this.url = url; | |||
|     } | |||
| } | |||
| @ -0,0 +1,72 @@ | |||
| package com.epmet.commons.tools.utils; | |||
| 
 | |||
| 
 | |||
| import com.alibaba.fastjson.JSON; | |||
| import com.epmet.commons.tools.constant.SpecialCustomerOrgConstant; | |||
| import com.epmet.commons.tools.dto.form.UpdateUserPointsFormDTO; | |||
| import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; | |||
| import com.epmet.commons.tools.enums.ExternalApiEnum; | |||
| import com.epmet.commons.tools.enums.ExternalServerEnum; | |||
| import com.epmet.commons.tools.exception.EpmetErrorCode; | |||
| import com.epmet.commons.tools.exception.RenException; | |||
| import com.epmet.commons.tools.redis.common.CustomerStaffRedis; | |||
| import lombok.extern.slf4j.Slf4j; | |||
| import org.apache.commons.lang3.StringUtils; | |||
| import org.springframework.scheduling.annotation.Async; | |||
| import org.springframework.stereotype.Service; | |||
| import org.springframework.util.CollectionUtils; | |||
| 
 | |||
| import java.util.List; | |||
| 
 | |||
| /** | |||
|  * e事通调用榆山api | |||
|  * | |||
|  * @author yinzuomei | |||
|  * @date 2022-02-16 | |||
|  **/ | |||
| @Service | |||
| @Slf4j | |||
| public class YuShanSysApiService { | |||
| 
 | |||
| 
 | |||
|     /** | |||
|      * 更新用户积分(双实信息更新 网格巡查) | |||
|      * | |||
|      * @return | |||
|      */ | |||
|     @Async | |||
|     public void updateUserPoints(String customerId, List<UpdateUserPointsFormDTO> paramList) { | |||
|         if (StringUtils.isBlank(customerId) || CollectionUtils.isEmpty(paramList)) { | |||
|             throw new RenException("参数错误"); | |||
|         } | |||
|         String serverUrl = ExternalServerEnum.getUrl(customerId); | |||
|         if (StringUtils.isBlank(serverUrl)) { | |||
|             log.warn(String.format("当前客户:%s,未配置服务器地址", customerId)); | |||
|             return; | |||
|         } | |||
|         String apiPath = serverUrl.concat(ExternalApiEnum.UPDATE_USER_POINTS.getApiPath()); | |||
|         log.info(String.format("updateUserPoints 接口路径:%s", apiPath)); | |||
|         for (UpdateUserPointsFormDTO formDTO : paramList) { | |||
|             try { | |||
|                 CustomerStaffInfoCacheResult staff = CustomerStaffRedis.getStaffInfo(customerId, formDTO.getStaffId()); | |||
|                 //只有榆山街道的工作人员才调用
 | |||
|                 if (null != staff && (staff.getAgencyId().equals(SpecialCustomerOrgConstant.YUSHAN_AGENCY_ID_PROD) || staff.getAgencyPIds().contains(SpecialCustomerOrgConstant.YUSHAN_AGENCY_ID_PROD))) { | |||
|                     formDTO.setMobile(staff.getMobile()); | |||
|                     //测试用手机号
 | |||
|                     // formDTO.setMobile("13205302682");
 | |||
|                     Result<String> res = HttpClientManager.getInstance().sendPostByJSON(apiPath, JSON.toJSONString(formDTO)); | |||
|                     Result result = JSON.parseObject(res.getData(), Result.class); | |||
|                     log.info(String.format("updateUserPoints 入参:%s;返参:%s", JSON.toJSONString(formDTO),JSON.toJSONString(result))); | |||
|                     if (!result.success()) { | |||
|                         log.warn("updateUserPoints failed:{}", JSON.toJSONString(result)); | |||
|                     } | |||
|                 } | |||
|             } catch (Exception e) { | |||
|                 log.warn("updateUserPoints exception 入参:{}", JSON.toJSONString(formDTO)); | |||
|                 throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), e.getMessage()); | |||
|             } | |||
|         } | |||
|     } | |||
| 
 | |||
| 
 | |||
| } | |||
					Loading…
					
					
				
		Reference in new issue