Commit 12178ad4 by guojuxing

Merge remote-tracking branch 'origin/developer' into developer

parents 53f84d1e 5b329ab0
package com.gic.auth.constant;
/**
*
* @Description:
* @author zhiwj
* @date 2020/2/17 9:47
*/
public enum ResourceHoldEnum {
ALL(1),
DART(2)
;
private Integer code;
ResourceHoldEnum(Integer code) {
this.code = code;
}
public Integer getCode() {
return code;
}
}
package com.gic.auth.dto;
import java.io.Serializable;
/**
*
* @Description:
* @author zhiwj
* @date 2020/2/17 11:00
*/
public class OrderResourceContentDTO implements Serializable {
private static final long serialVersionUID = 1609787491094703550L;
/**
* 订单资源
[
{
"channel":1, // 渠道 1:线下门店, 2:达摩微商城, 3:微盟微商城
"storeContent":1 // 门店id或门店选择器id, 多个逗号隔开
}
]
*/
private Integer channel;
private String storeContent;
public Integer getChannel() {
return channel;
}
public void setChannel(Integer channel) {
this.channel = channel;
}
public String getStoreContent() {
return storeContent;
}
public void setStoreContent(String storeContent) {
this.storeContent = storeContent;
}
}
package com.gic.auth.dto;
import java.io.Serializable;
import java.util.List;
/**
*
* @Description:
* @author zhiwj
* @date 2020/2/17 10:26
*/
public class OrderResourceDTO implements Serializable {
private static final long serialVersionUID = -6009818220117316815L;
// 1:全部 2:部分
private Integer type;
//
private List<Integer> storeIdList;
public List<Integer> getStoreIdList() {
return storeIdList;
}
public void setStoreIdList(List<Integer> storeIdList) {
this.storeIdList = storeIdList;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
}
package com.gic.auth.dto;
import java.io.Serializable;
import java.util.List;
/**
*
* @Description:
* @author zhiwj
* @date 2020/2/17 9:38
*/
public class StoreResourceDTO implements Serializable {
private static final long serialVersionUID = -6009818220117316815L;
//
private List<Integer> storeIdList;
// 1:全部 2:部分
private Integer type;
public List<Integer> getStoreIdList() {
return storeIdList;
}
public void setStoreIdList(List<Integer> storeIdList) {
this.storeIdList = storeIdList;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
}
......@@ -2,9 +2,7 @@ package com.gic.auth.service;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.auth.dto.ChannelResourceDTO;
import com.gic.auth.dto.ResourceDTO;
import com.gic.auth.dto.SmsSignResourceDTO;
import com.gic.auth.dto.*;
/**
*
......@@ -81,4 +79,26 @@ public interface ResourceApiService {
* @throws
*/
ServiceResponse<ChannelResourceDTO> getChannelResourceByUserId(Integer userId);
/**
* 查询门店资源
* @Title: getStoreResourceByUserId
* @Description:
* @author zhiwj
* @param userId
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
* @throws
*/
ServiceResponse<StoreResourceDTO> getStoreResourceByUserId(Integer userId);
/**
* 查询订单资源
* @Title: getOrderResourceByUserId
* @Description:
* @author zhiwj
* @param userId
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
* @throws
*/
ServiceResponse<OrderResourceDTO> getOrderResourceByUserId(Integer userId);
}
......@@ -6,6 +6,7 @@ import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.application.center.api.service.AuthorizeService;
import com.gic.auth.constant.OrderOrAppEnum;
import com.gic.auth.constant.ResourceHoldEnum;
import com.gic.auth.dto.*;
import com.gic.auth.entity.TabSysOrderAppResource;
import com.gic.auth.entity.TabSysResource;
......@@ -21,6 +22,7 @@ import com.gic.member.config.api.dto.ServiceConfigSimpleOutputDTO;
import com.gic.member.config.api.service.AppletsConfigApiService;
import com.gic.member.config.api.service.MemberCardApiService;
import com.gic.member.config.api.service.ServiceConfigApiService;
import com.gic.store.service.StoreWidgetApiService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
......@@ -60,6 +62,8 @@ public class ResourceApiServiceImpl implements ResourceApiService {
private AppletsConfigApiService appletsConfigApiService;
@Autowired
private ServiceConfigApiService serviceConfigApiService;
@Autowired
private StoreWidgetApiService storeWidgetApiService;
@Override
......@@ -259,4 +263,80 @@ public class ResourceApiServiceImpl implements ResourceApiService {
ChannelResourceDTO channelResourceDTO = JSON.parseObject(channelResource.getContent(), ChannelResourceDTO.class);
return EnterpriseServiceResponse.success(channelResourceDTO);
}
@Override
public ServiceResponse<StoreResourceDTO> getStoreResourceByUserId(Integer userId) {
TabSysUser user = userService.getUserById(userId);
if (user.getSuperAdmin() == 1) {
// 是超管就返回所有
StoreResourceDTO superAdminResource = new StoreResourceDTO();
superAdminResource.setType(ResourceHoldEnum.ALL.getCode());
return EnterpriseServiceResponse.success(superAdminResource);
}
List<UserResourceDTO> userResourceList = userResourceService.listUserResourceByUserId(userId);
StoreResourceDTO defaultResource = new StoreResourceDTO();
defaultResource.setType(ResourceHoldEnum.DART.getCode());
defaultResource.setStoreIdList(Collections.emptyList());
if (CollectionUtils.isEmpty(userResourceList)) {
return EnterpriseServiceResponse.success(defaultResource);
}
List<Integer> resourceIds = userResourceList.stream().map(UserResourceDTO::getResourceId).collect(Collectors.toList());
List<TabSysResource> resourceList = resourceService.listByIds(resourceIds);
List<Long> storeResourceList = resourceList.stream().filter(Objects::nonNull).map(TabSysResource::getStoreResource).collect(Collectors.toList());
if (CollectionUtils.isEmpty(storeResourceList)) {
return EnterpriseServiceResponse.success(defaultResource);
}
HashSet<Integer> ids = new HashSet<>();
for (Long storeResource : storeResourceList) {
List<Integer> result = storeWidgetApiService.listStoreIdByStoreWidgetId(user.getEnterpriseId(), storeResource.intValue()).getResult();
if (CollectionUtils.isNotEmpty(result)) {
ids.addAll(result);
}
}
List<Integer> result = new ArrayList<>(ids);
defaultResource.setStoreIdList(result);
return EnterpriseServiceResponse.success(defaultResource);
}
@Override
public ServiceResponse<OrderResourceDTO> getOrderResourceByUserId(Integer userId) {
TabSysUser user = userService.getUserById(userId);
if (user.getSuperAdmin() == 1) {
// 是超管就返回所有
OrderResourceDTO superAdminResource = new OrderResourceDTO();
superAdminResource.setType(ResourceHoldEnum.ALL.getCode());
return EnterpriseServiceResponse.success(superAdminResource);
}
List<UserResourceDTO> resourceDTOList = this.userResourceService.listUserResourceByUserId(userId);
if (CollectionUtils.isEmpty(resourceDTOList)) {
return EnterpriseServiceResponse.failure(ErrorCode.NOTEXISTS);
}
UserResourceDTO userResourceDTO = resourceDTOList.get(0);
TabSysResource resource = this.resourceService.getResource(userResourceDTO.getResourceId());
if (resource.getOrderResource() == null) {
return EnterpriseServiceResponse.failure(ErrorCode.NOTEXISTS);
}
OrderResourceDTO defaultResource = new OrderResourceDTO();
defaultResource.setType(ResourceHoldEnum.DART.getCode());
TabSysOrderAppResource sysOrderAppResource = orderAppResourceService.getById(resource.getOrderResource());
List<OrderResourceContentDTO> contentDTOList = JSON.parseArray(sysOrderAppResource.getContent(), OrderResourceContentDTO.class);
if (CollectionUtils.isNotEmpty(contentDTOList)) {
for (OrderResourceContentDTO orderResourceContentDTO : contentDTOList) {
if (OrderOrAppEnum.ORDER.getCode().equals(orderResourceContentDTO.getChannel())) {
List<Integer> result = storeWidgetApiService.listStoreIdByStoreWidgetId(user.getEnterpriseId(), Integer.valueOf(orderResourceContentDTO.getStoreContent())).getResult();
if (CollectionUtils.isNotEmpty(result)) {
defaultResource.setStoreIdList(result);
}
}
}
}
return EnterpriseServiceResponse.success(defaultResource);
}
}
......@@ -62,4 +62,7 @@
<dubbo:reference interface="com.gic.member.config.api.service.MemberCardApiService" id="memberCardApiService" timeout="60000" />
<dubbo:reference interface="com.gic.member.config.api.service.AppletsConfigApiService" id="appletsConfigApiService" timeout="60000" />
<dubbo:reference interface="com.gic.member.config.api.service.ServiceConfigApiService" id="serviceConfigApiService" timeout="60000" />
<!--门店选择器-->
<dubbo:reference interface="com.gic.store.service.StoreWidgetApiService" id="storeWidgetApiService" timeout="6000" />
</beans>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment