From 67f6c21e22016b10b2f7d77957130a7f699152ee Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期五, 15 七月 2022 11:50:50 +0800
Subject: [PATCH] 优化 boot版代码
---
service-store/src/main/java/com/java110/store/cmd/store/QueryStoreByUserCmd.java | 5
java110-service/src/main/java/com/java110/service/init/ServiceStartInit.java | 3
service-user/src/main/java/com/java110/user/cmd/user/QueryUserPrivilege.java | 2
springboot/src/main/java/com/java110/boot/smo/GetCommunityStoreInfoSMOImpl.java | 91 ++++++++++++++++++++++
springboot/src/main/java/com/java110/boot/smo/IGetCommunityStoreInfoSMO.java | 26 ++++++
service-api/src/main/java/com/java110/api/listener/resourceStore/SaveStorehouseListener.java | 2
service-user/src/main/java/com/java110/user/cmd/user/GetUserInfoCmd.java | 82 ++++++++++++++++++++
springboot/src/main/java/com/java110/boot/smo/DefaultAbstractComponentSMO.java | 7 +
springboot/src/main/java/com/java110/boot/smo/api/impl/ApiSMOImpl.java | 4 +
9 files changed, 215 insertions(+), 7 deletions(-)
diff --git a/java110-service/src/main/java/com/java110/service/init/ServiceStartInit.java b/java110-service/src/main/java/com/java110/service/init/ServiceStartInit.java
index 2ec7310..8897fc7 100755
--- a/java110-service/src/main/java/com/java110/service/init/ServiceStartInit.java
+++ b/java110-service/src/main/java/com/java110/service/init/ServiceStartInit.java
@@ -24,7 +24,8 @@
ApplicationContextFactory.setApplicationContext(context);
env = context.getEnvironment();
- String logSwitch = env.getProperty(EnvironmentConstant.LOG_SWITCH);
+ //String logSwitch = env.getProperty(EnvironmentConstant.LOG_SWITCH);
+ String logSwitch = "ON";
if (!StringUtil.isEmpty(logSwitch)) {
//璁剧疆鏃ュ織绾у埆
SystemLogDto.setLogSwatch(logSwitch);
diff --git a/service-api/src/main/java/com/java110/api/listener/resourceStore/SaveStorehouseListener.java b/service-api/src/main/java/com/java110/api/listener/resourceStore/SaveStorehouseListener.java
index aa2b95a..aebebfb 100644
--- a/service-api/src/main/java/com/java110/api/listener/resourceStore/SaveStorehouseListener.java
+++ b/service-api/src/main/java/com/java110/api/listener/resourceStore/SaveStorehouseListener.java
@@ -39,7 +39,7 @@
storehouseDto.setStoreId(reqJson.getString("storeId"));
int flag = storehouseInnerServiceSMOImpl.queryStorehousesCount(storehouseDto);
- if(flag < 1){
+ if(flag > 0){
throw new IllegalArgumentException("宸插瓨鍦ㄤ粨搴�");
}
}
diff --git a/service-store/src/main/java/com/java110/store/cmd/store/UserHasStoreCmd.java b/service-store/src/main/java/com/java110/store/cmd/store/QueryStoreByUserCmd.java
similarity index 93%
rename from service-store/src/main/java/com/java110/store/cmd/store/UserHasStoreCmd.java
rename to service-store/src/main/java/com/java110/store/cmd/store/QueryStoreByUserCmd.java
index b491b9e..d15225e 100644
--- a/service-store/src/main/java/com/java110/store/cmd/store/UserHasStoreCmd.java
+++ b/service-store/src/main/java/com/java110/store/cmd/store/QueryStoreByUserCmd.java
@@ -9,6 +9,7 @@
import com.java110.service.smo.IQueryServiceSMO;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
+import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@@ -17,7 +18,7 @@
* 鏌ヨ鐢ㄦ埛鏄惁瀛樺湪 鍟嗘埛淇℃伅
*/
@Java110Cmd(serviceCode = "query.store.byuser")
-public class UserHasStoreCmd extends Cmd {
+public class QueryStoreByUserCmd extends Cmd {
@Autowired
private IQueryServiceSMO queryServiceSMOImpl;
@@ -44,7 +45,7 @@
String storeInfo = responseEntity.getBody();
if (Assert.isJsonObject(storeInfo) && JSONObject.parseObject(storeInfo).containsKey("storeId")) {
- context.setResponseEntity(new ResponseEntity<>("鏈夊晢鎴蜂俊鎭�", HttpStatus.OK));
+ context.setResponseEntity(responseEntity);
return;
}
context.setResponseEntity(new ResponseEntity<>("鍒濆鍖栧晢鎴�", HttpStatus.FORBIDDEN));
diff --git a/service-user/src/main/java/com/java110/user/cmd/user/GetUserInfoCmd.java b/service-user/src/main/java/com/java110/user/cmd/user/GetUserInfoCmd.java
new file mode 100644
index 0000000..5fad572
--- /dev/null
+++ b/service-user/src/main/java/com/java110/user/cmd/user/GetUserInfoCmd.java
@@ -0,0 +1,82 @@
+package com.java110.user.cmd.user;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.dto.store.StoreDto;
+import com.java110.intf.store.IStoreV1InnerServiceSMO;
+import com.java110.service.context.DataQuery;
+import com.java110.service.smo.IQueryServiceSMO;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.StringUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+
+import java.util.List;
+
+@Java110Cmd(serviceCode = "user.getUserInfo")
+public class GetUserInfoCmd extends Cmd {
+
+ @Autowired
+ private IQueryServiceSMO queryServiceSMOImpl;
+
+ @Autowired
+ private IStoreV1InnerServiceSMO storeV1InnerServiceSMOImpl;
+
+ @Override
+ public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+
+ }
+
+ @Override
+ public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+ String userId = context.getReqHeaders().get("user-id");
+ String storeId = context.getReqHeaders().get("store-id");
+ DataQuery dataQuery = new DataQuery();
+ dataQuery.setServiceCode("query.user.userInfo");
+ JSONObject param = new JSONObject();
+ param.put("userId", userId);
+ dataQuery.setRequestParams(param);
+ queryServiceSMOImpl.commonQueryService(dataQuery);
+ ResponseEntity<String> responseEntity = dataQuery.getResponseEntity();
+
+ if (responseEntity.getStatusCode() != HttpStatus.OK) {
+ context.setResponseEntity(responseEntity);
+ return;
+ }
+ JSONObject tmpUserInfo = JSONObject.parseObject(responseEntity.getBody().toString());
+ JSONObject resultUserInfo = new JSONObject();
+
+
+ if (!StringUtil.isEmpty(storeId)) {
+ StoreDto storeDto = new StoreDto();
+ storeDto.setStoreId(storeId);
+ storeDto.setPage(1);
+ storeDto.setRow(1);
+ List<StoreDto> storeDtos = storeV1InnerServiceSMOImpl.queryStores(storeDto);
+ if (storeDtos != null && storeDtos.size() > 0) {
+ resultUserInfo.put("storeTypeCd", storeDtos.get(0).getStoreTypeCd());
+ }
+ }
+
+ resultUserInfo.put("name", tmpUserInfo.getString("name"));
+ resultUserInfo.put("address", tmpUserInfo.getString("address"));
+ resultUserInfo.put("sex", tmpUserInfo.getString("sex"));
+ resultUserInfo.put("localtionCd", tmpUserInfo.getString("localtionCd"));
+ resultUserInfo.put("levelCd", tmpUserInfo.getString("levelCd"));
+ //resultUserInfo.put("tel", CommonUtil.mobileEncrypt(tmpUserInfo.getString("tel")));
+ resultUserInfo.put("tel", tmpUserInfo.getString("tel")); // 杩欓噷涓嶅姞瀵嗕簡 鍥犱负鍓嶅彴寰堝鍦版柟鐩存帴 鍏宠仈鍑� 鐢ㄦ埛鐨勬墜鏈哄彿 鎵�浠� 鍔犲瘑浜� 娌℃硶澶勭悊 modify by wuxw 2022-07-04
+ resultUserInfo.put("email", tmpUserInfo.getString("email"));
+ resultUserInfo.put("userId", tmpUserInfo.getString("userId"));
+ String watermark = MappingCache.getValue("watermark");
+ resultUserInfo.put("watermark", watermark);
+
+ responseEntity = new ResponseEntity<String>(resultUserInfo.toJSONString(), HttpStatus.OK);
+
+ context.setResponseEntity(responseEntity);
+ }
+}
diff --git a/service-user/src/main/java/com/java110/user/cmd/user/QueryUserPrivilege.java b/service-user/src/main/java/com/java110/user/cmd/user/QueryUserPrivilege.java
index fdda3cd..a04da9e 100644
--- a/service-user/src/main/java/com/java110/user/cmd/user/QueryUserPrivilege.java
+++ b/service-user/src/main/java/com/java110/user/cmd/user/QueryUserPrivilege.java
@@ -34,7 +34,7 @@
String storeId = context.getReqHeaders().get("store-id");
Assert.hasLength(userId, "鏈寘鍚敤鎴�");
- Assert.hasLength(storeId, "鏈寘鍚敤鎴�");
+ Assert.hasLength(storeId, "鏈寘鍚晢鎴�");
}
@Override
diff --git a/springboot/src/main/java/com/java110/boot/smo/DefaultAbstractComponentSMO.java b/springboot/src/main/java/com/java110/boot/smo/DefaultAbstractComponentSMO.java
index 9ed8433..b91fa04 100644
--- a/springboot/src/main/java/com/java110/boot/smo/DefaultAbstractComponentSMO.java
+++ b/springboot/src/main/java/com/java110/boot/smo/DefaultAbstractComponentSMO.java
@@ -51,6 +51,9 @@
@Autowired
private IUserInnerServiceSMO userInnerServiceSMOImpl;
+ @Autowired
+ private IGetCommunityStoreInfoSMO getCommunityStoreInfoSMOImpl;
+
//寰俊鏀粯
public static final String DOMAIN_WECHAT_PAY = "WECHAT_PAY";
// 寰俊鏈嶅姟鍟嗘敮浠樺紑鍏�
@@ -379,8 +382,8 @@
protected ResponseEntity<String> getStoreInfo(IPageData pd, RestTemplate restTemplate) {
Assert.hasLength(pd.getUserId(), "鐢ㄦ埛鏈櫥褰曡鍏堢櫥褰�");
- ResultVo resultVo = null;
-
+ ResultVo resultVo = getCommunityStoreInfoSMOImpl.getStoreInfo(pd, restTemplate, pd.getUserId());
+ logger.debug("鏌ヨ鍟嗘埛淇℃伅 getStoreInfo 锛歿}",resultVo.toString());
return new ResponseEntity<String>(resultVo.getMsg(), resultVo.getCode() == ResultVo.CODE_OK ? HttpStatus.OK : HttpStatus.BAD_REQUEST);
}
diff --git a/springboot/src/main/java/com/java110/boot/smo/GetCommunityStoreInfoSMOImpl.java b/springboot/src/main/java/com/java110/boot/smo/GetCommunityStoreInfoSMOImpl.java
new file mode 100644
index 0000000..c25cb86
--- /dev/null
+++ b/springboot/src/main/java/com/java110/boot/smo/GetCommunityStoreInfoSMOImpl.java
@@ -0,0 +1,91 @@
+package com.java110.boot.smo;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.cache.Java110RedisConfig;
+import com.java110.core.context.IPageData;
+import com.java110.core.context.SecureInvocation;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.constant.MappingConstant;
+import com.java110.utils.util.Assert;
+import com.java110.vo.ResultVo;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+@Service
+public class GetCommunityStoreInfoSMOImpl extends DefaultAbstractComponentSMO implements IGetCommunityStoreInfoSMO {
+
+ private static final String BASE_PRIVILEGE = "JAVA110_BASE_PRIVILEGE";
+
+ @Override
+ @Cacheable(value = "getStoreInfo" + Java110RedisConfig.GET_STORE_INFO_EXPIRE_TIME_KEY, key = "#userId")
+ public ResultVo getStoreInfo(IPageData pd, RestTemplate restTemplate, String userId) {
+
+
+ Assert.hasLength(pd.getUserId(), "鐢ㄦ埛鏈櫥褰曡鍏堢櫥褰�");
+ ResponseEntity<String> responseEntity = null;
+ responseEntity = super.callCenterService(restTemplate, pd, "", "query.store.byuser?userId=" + userId, HttpMethod.GET);
+ if (responseEntity.getStatusCode() != HttpStatus.OK) {
+ throw new IllegalArgumentException(responseEntity.getBody());
+ }
+ return new ResultVo(responseEntity.getStatusCode() == HttpStatus.OK ? ResultVo.CODE_OK : ResultVo.CODE_ERROR, responseEntity.getBody());
+ }
+
+ @Override
+ @Cacheable(value = "getStoreEnterCommunitys" + Java110RedisConfig.GET_STORE_ENTER_COMMUNITYS_EXPIRE_TIME_KEY, key = "#storeId")
+ public ResultVo getStoreEnterCommunitys(IPageData pd, String storeId, String storeTypeCd, RestTemplate restTemplate) {
+ ResponseEntity<String> responseEntity = null;
+// responseEntity = CallApiServiceFactory.callCenterService(restTemplate, pd, "",
+// "query.myCommunity.byMember?memberId=" + storeId + "&memberTypeCd="
+// + MappingCache.getValue(MappingConstant.DOMAIN_STORE_TYPE_2_COMMUNITY_MEMBER_TYPE, storeTypeCd), HttpMethod.GET);
+
+ responseEntity = super.callCenterService(restTemplate, pd, "",
+ "/communitys/queryStoreCommunitys?memberId=" + storeId + "&memberTypeCd="
+ + MappingCache.getValue(MappingConstant.DOMAIN_STORE_TYPE_2_COMMUNITY_MEMBER_TYPE, storeTypeCd), HttpMethod.GET);
+
+ if (responseEntity.getStatusCode() != HttpStatus.OK) {
+ throw new IllegalArgumentException(responseEntity.getBody());
+ }
+ return new ResultVo(responseEntity.getStatusCode() == HttpStatus.OK ? ResultVo.CODE_OK : ResultVo.CODE_ERROR, responseEntity.getBody());
+ }
+
+ @Override
+ @Cacheable(value = "getUserPrivileges" + Java110RedisConfig.DEFAULT_EXPIRE_TIME_KEY, key = "#staffId")
+ public ResultVo getUserPrivileges(IPageData pd, String staffId, String storeTypeCd, RestTemplate restTemplate) {
+
+ ResponseEntity<String> privilegeGroup = super.callCenterService(restTemplate, pd, "",
+ "query.user.privilege?userId=" + staffId + "&domain=" + storeTypeCd, HttpMethod.GET);
+ if (privilegeGroup.getStatusCode() != HttpStatus.OK) {
+ throw new IllegalArgumentException(privilegeGroup.getBody());
+ }
+ return new ResultVo(privilegeGroup.getStatusCode() == HttpStatus.OK ? ResultVo.CODE_OK : ResultVo.CODE_ERROR, privilegeGroup.getBody());
+
+ }
+
+ @Cacheable(value = "checkUserHasResourceListener" + Java110RedisConfig.DEFAULT_EXPIRE_TIME_KEY, key = "#cacheKey")
+ public ResultVo checkUserHasResourceListener(RestTemplate restTemplate, IPageData pd, JSONObject paramIn, String cacheKey) {
+ ResponseEntity<String> responseEntity = null;
+ responseEntity = super.callCenterService(restTemplate, pd, paramIn.toJSONString(),
+ "basePrivilege.CheckUserHasResourceListener",
+ HttpMethod.POST);
+
+ if (responseEntity.getStatusCode() != HttpStatus.OK) {
+ throw new IllegalArgumentException(responseEntity.getBody());
+ }
+
+ JSONObject data = JSONObject.parseObject(responseEntity.getBody());
+
+ JSONArray privileges = data.getJSONArray("privileges");
+
+ if(!SecureInvocation.secure(this.getClass())){
+ return new ResultVo(ResultVo.CODE_OK,privileges.toJSONString(),ResultVo.EMPTY_ARRAY);
+ }
+
+ return new ResultVo(responseEntity.getStatusCode() == HttpStatus.OK ? ResultVo.CODE_OK : ResultVo.CODE_ERROR, privileges.toJSONString());
+
+ }
+}
diff --git a/springboot/src/main/java/com/java110/boot/smo/IGetCommunityStoreInfoSMO.java b/springboot/src/main/java/com/java110/boot/smo/IGetCommunityStoreInfoSMO.java
new file mode 100644
index 0000000..3a9ec83
--- /dev/null
+++ b/springboot/src/main/java/com/java110/boot/smo/IGetCommunityStoreInfoSMO.java
@@ -0,0 +1,26 @@
+package com.java110.boot.smo;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.context.IPageData;
+import com.java110.vo.ResultVo;
+import org.springframework.web.client.RestTemplate;
+
+public interface IGetCommunityStoreInfoSMO {
+
+ ResultVo getStoreInfo(IPageData pd, RestTemplate restTemplate, String userId);
+
+ ResultVo getStoreEnterCommunitys(IPageData pd, String storeId, String storeTypeCd, RestTemplate restTemplate);
+
+ /**
+ * 鏌ヨ鐢ㄦ埛鏉冮檺
+ * @param pd
+ * @param storeId
+ * @param storeTypeCd
+ * @param restTemplate
+ * @return
+ */
+ ResultVo getUserPrivileges(IPageData pd, String storeId, String storeTypeCd, RestTemplate restTemplate);
+
+
+ ResultVo checkUserHasResourceListener(RestTemplate restTemplate, IPageData pd, JSONObject paramIn, String cacheKey);
+}
diff --git a/springboot/src/main/java/com/java110/boot/smo/api/impl/ApiSMOImpl.java b/springboot/src/main/java/com/java110/boot/smo/api/impl/ApiSMOImpl.java
index 133fba2..d15f162 100644
--- a/springboot/src/main/java/com/java110/boot/smo/api/impl/ApiSMOImpl.java
+++ b/springboot/src/main/java/com/java110/boot/smo/api/impl/ApiSMOImpl.java
@@ -8,6 +8,7 @@
import com.java110.core.log.LoggerFactory;
import com.java110.dto.store.StoreDto;
import com.java110.entity.component.ComponentValidateResult;
+import com.java110.intf.store.IStoreV1InnerServiceSMO;
import com.java110.utils.constant.CommonConstant;
import com.java110.utils.util.Assert;
import com.java110.utils.util.StringUtil;
@@ -29,6 +30,9 @@
@Autowired
private IApiServiceSMO apiServiceSMOImpl;
+ @Autowired
+ private IStoreV1InnerServiceSMO storeV1InnerServiceSMOImpl;
+
private final static Logger logger = LoggerFactory.getLogger(ApiSMOImpl.class);
@Autowired
--
Gitblit v1.8.0