Commit 8ea4a022 by guojuxing

资源组调整:微盟店铺添加共享数据

parent fbb0ba16
......@@ -44,6 +44,16 @@ public class CustomUserAreaDTO implements Serializable{
private List<Long> weimobStoreId;
/**
* 微盟店铺多选(业务使用:只存本商户自有的店铺数据),weimob_order_area选择1时选择店铺,英文逗号隔开。为了避免重复授权,新增一个特有字段
*/
private List<Long> weimobStoreIdOwn;
/**
* 微盟店铺多选(业务使用:只存共享的店铺数据),weimob_order_area选择1时选择店铺,英文逗号隔开。为了避免重复授权,新增一个特有字段
*/
private List<Long> weimobStoreIdShare;
/**
* 短信签名
*/
private List<Long> smsId;
......@@ -111,6 +121,24 @@ public class CustomUserAreaDTO implements Serializable{
return this;
}
public List<Long> getWeimobStoreIdOwn() {
return weimobStoreIdOwn;
}
public CustomUserAreaDTO setWeimobStoreIdOwn(List<Long> weimobStoreIdOwn) {
this.weimobStoreIdOwn = weimobStoreIdOwn;
return this;
}
public List<Long> getWeimobStoreIdShare() {
return weimobStoreIdShare;
}
public CustomUserAreaDTO setWeimobStoreIdShare(List<Long> weimobStoreIdShare) {
this.weimobStoreIdShare = weimobStoreIdShare;
return this;
}
@Override
public String toString() {
return "CustomUserAreaDTO{" +
......@@ -119,8 +147,10 @@ public class CustomUserAreaDTO implements Serializable{
", customUserList=" + customUserList +
", storeOrderArea=" + storeOrderArea +
", weimobOrderArea=" + weimobOrderArea +
", weimobStoreId='" + weimobStoreId + '\'' +
", smsId='" + smsId + '\'' +
", weimobStoreId=" + weimobStoreId +
", weimobStoreIdOwn=" + weimobStoreIdOwn +
", weimobStoreIdShare=" + weimobStoreIdShare +
", smsId=" + smsId +
'}';
}
}
......@@ -295,6 +295,13 @@ public class ResourceGroupDTO implements Serializable{
return this;
}
public boolean isAuthWeimobOrder() {
if (weimobOrderArea != null && weimobOrderArea == 1) {
return true;
}
return false;
}
@Override
public String toString() {
return "ResourceGroupDTO{" +
......
......@@ -70,6 +70,13 @@ public interface ResourceGroupApiService {
ServiceResponse<ResourceGroupDTO> getResourceGroup(Integer resourceGroupId);
/**
* 查询列表
* @param resourceGroupIdList
* @return
*/
ServiceResponse<List<ResourceGroupDTO>> listResourceGroup(List<Integer> resourceGroupIdList);
/**
* 删除资源组
* @param resourceGroupId
* @return
......
......@@ -71,6 +71,13 @@ public interface TabSysResourceGroupMapper {
TabSysResourceGroup getResourceGroup(@Param("resourceGroupId") Integer resourceGroupId);
/**
* 查询列表
* @param resourceGroupIdList
* @return
*/
List<TabSysResourceGroup> listResourceGroupByIds(@Param("resourceGroupIdList") List<Integer> resourceGroupIdList);
/**
* 删除
* @param resourceGroupId
* @return
......
......@@ -55,6 +55,13 @@ public interface ResourceGroupService {
TabSysResourceGroup getResourceGroup(Integer resourceGroupId);
/**
* 查询列表
* @param resourceGroupIdList
* @return
*/
List<TabSysResourceGroup> listResourceGroup(List<Integer> resourceGroupIdList);
/**
* 删除资源组
* @param resourceGroupId
* @return 执行数量
......
......@@ -8,9 +8,11 @@ import com.gic.auth.service.ResourceGroupService;
import com.gic.commons.util.EntityUtil;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.Date;
import java.util.List;
......@@ -67,6 +69,14 @@ public class ResourceGroupServiceImpl implements ResourceGroupService{
}
@Override
public List<TabSysResourceGroup> listResourceGroup(List<Integer> resourceGroupIdList) {
if (CollectionUtils.isEmpty(resourceGroupIdList)) {
return null;
}
return tabSysResourceGroupMapper.listResourceGroupByIds(resourceGroupIdList);
}
@Override
public int deleteResourceGroup(Integer resourceGroupId) {
return tabSysResourceGroupMapper.deleteResourceGroup(resourceGroupId);
}
......
......@@ -200,6 +200,15 @@ public class ResourceGroupApiServiceImpl implements ResourceGroupApiService{
}
@Override
public ServiceResponse<List<ResourceGroupDTO>> listResourceGroup(List<Integer> resourceGroupIdList) {
List<TabSysResourceGroup> list = resourceGroupService.listResourceGroup(resourceGroupIdList);
if (CollectionUtils.isEmpty(list)) {
return ServiceResponse.success(Collections.emptyList());
}
return ServiceResponse.success(EntityUtil.changeEntityListNew(ResourceGroupDTO.class, list));
}
@Override
public ServiceResponse<String> deleteResourceGroup(Integer resourceGroupId) {
TabSysResourceGroup record = checkExistResourceGroup(resourceGroupId);
//是否联合授权,如果是,则不允许删除
......@@ -279,9 +288,8 @@ public class ResourceGroupApiServiceImpl implements ResourceGroupApiService{
private void setWeimobStore(ResourceGroupDTO resourceGroupDTO) {
Integer ownEnterpriseId = resourceGroupDTO.getEnterpriseId();
String weimobStoreId = resourceGroupDTO.getWeimobStoreId();
Integer weimobOrderArea = resourceGroupDTO.getWeimobOrderArea();
//授予店铺订单资源
if ("1".equals(weimobOrderArea) && StringUtils.isNotBlank(weimobStoreId)) {
if (resourceGroupDTO.isAuthWeimobOrder() && StringUtils.isNotBlank(weimobStoreId)) {
//查询所有的店铺信息
List<String> wmStoreIdList = Arrays.stream(weimobStoreId.split(",")).collect(Collectors.toList());
ServiceResponse<List<WmStoreDTO>> response = wmStoreApiService.listWmStore(wmStoreIdList, null);
......
......@@ -30,19 +30,11 @@ public class CustomResourceData implements IResourceGroupData{
.setWeimobOrderArea(resourceGroup.getWeimobOrderArea())
.setStoreOrderArea(resourceGroup.getStoreOrderArea())
.setCustomUserList(customUserList);
if (StringUtils.isNotBlank(resourceGroup.getSmsId())) {
result.setSmsId(Arrays.stream(resourceGroup.getSmsId()
.split(","))
.mapToLong(e -> Long.valueOf(e))
.boxed()
.collect(Collectors.toList()));
}
if (StringUtils.isNotBlank(resourceGroup.getWeimobStoreId())) {
result.setWeimobStoreId(Arrays.stream(resourceGroup.getWeimobStoreId().split(","))
.mapToLong(e -> Long.valueOf(e))
.boxed()
.collect(Collectors.toList()));
}
result.setSmsId(strToList(resourceGroup.getSmsId()));
result.setWeimobStoreId(strToList(resourceGroup.getWeimobStoreId()));
result.setWeimobStoreIdOwn(strToList(resourceGroup.getWeimobStoreIdOwn()));
result.setWeimobStoreIdShare(strToList(resourceGroup.getWeimobStoreIdShare()));
return (T) result;
}
......@@ -55,4 +47,14 @@ public class CustomResourceData implements IResourceGroupData{
public <T> T getResourceDataWhenNoExist() {
return (T) new CustomUserAreaDTO().setType(ResourceHoldEnum.DART.getCode()).setCustomUser(0);
}
private List<Long> strToList(String data) {
if (StringUtils.isNotBlank(data)) {
return Arrays.stream(data.split(","))
.mapToLong(e -> Long.valueOf(e))
.boxed()
.collect(Collectors.toList());
}
return null;
}
}
......@@ -236,6 +236,15 @@
where resource_group_id = #{resourceGroupId}
</select>
<select id="listResourceGroupByIds" resultMap="BaseResultMap">
select <include refid="Base_Column_List"></include>
from tab_sys_resource_group
where resource_group_id in
<foreach close=")" collection="resourceGroupIdList" index="index" item="item" open="(" separator=",">
#{item}
</foreach>
</select>
<update id="deleteResourceGroup">
update tab_sys_resource_group set delete_flag = ${@com.gic.auth.constant.DeleteFlagConstants@DELETE_STATUS}
where resource_group_id = #{resourceGroupId}
......
......@@ -8,16 +8,20 @@ import com.gic.auth.dto.UserDTO;
import com.gic.auth.service.AuthCodeApiService;
import com.gic.auth.service.UserApiService;
import com.gic.enterprise.dto.EnterpriseDTO;
import com.gic.enterprise.dto.WmStoreDTO;
import com.gic.enterprise.dto.union.UnionEnterpriseAuthDTO;
import com.gic.enterprise.error.ErrorCode;
import com.gic.enterprise.exception.CommonException;
import com.gic.enterprise.response.EnterpriseRestResponse;
import com.gic.enterprise.service.EnterpriseApiService;
import com.gic.enterprise.service.UnionEnterpriseAuthApiService;
import com.gic.enterprise.service.WmStoreApiService;
import com.gic.enterprise.utils.CreateRandomUtils;
import com.gic.enterprise.utils.UserDetail;
import com.gic.marketing.process.api.service.sms.SmsSendApiService;
import com.gic.platform.member.constant.enums.CuTypeEnum;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......@@ -84,9 +88,88 @@ public class ResourceController {
private AuthCodeApiService authCodeApiService;
@Autowired
private SmsSendApiService smsSendApiService;
@Autowired
private WmStoreApiService wmStoreApiService;
private static final String UNION_ENTERPRISE_AUTH_SMS_CODE = "GICSHHT001";
@RequestMapping("/list-wm-store")
public RestResponse listWmStore() {
List<WmStoreVO> result = new ArrayList<>();
List<Integer> enterpriseIdList = new ArrayList<>();
enterpriseIdList.add(UserDetailUtils.getUserDetail().getEnterpriseId());
//自有店铺查询
ServiceResponse<List<WmStoreDTO>> listResponse = wmStoreApiService.listWmStore(UserDetailUtils.getUserDetail().getEnterpriseId());
if (listResponse.isSuccess()) {
List<WmStoreDTO> list = listResponse.getResult();
if (CollectionUtils.isNotEmpty(list)) {
for (WmStoreDTO temp : list) {
WmStoreVO vo = EntityUtil.changeEntityNew(WmStoreVO.class, temp);
vo.setOwnerFlag(0);
vo.setOwnerEntId(temp.getEnterpriseId());
result.add(vo);
}
}
}
//联合商户授权店铺
ServiceResponse<List<UnionEnterpriseAuthDTO>> unionResponse = unionEnterpriseAuthApiService
.listOwnEnterpriseAuth(UserDetailUtils.getUserDetail().getEnterpriseId());
if (unionResponse.isSuccess()) {
List<UnionEnterpriseAuthDTO> unionList = unionResponse.getResult();
if (CollectionUtils.isNotEmpty(unionList)) {
//为了获取商户名称
unionList.forEach(e -> {
enterpriseIdList.add(e.getOwnEnterpriseId());
});
List<Integer> resourceIdList = unionList.stream()
.filter(e -> e.getResourceGroupId() != null)
.map(e -> e.getResourceGroupId()).collect(Collectors.toList());
ServiceResponse<List<ResourceGroupDTO>> resourceResponse = resourceGroupApiService.listResourceGroup(resourceIdList);
if (resourceResponse.isSuccess()) {
List<ResourceGroupDTO> resourceList = resourceResponse.getResult();
if (CollectionUtils.isNotEmpty(resourceList)) {
List<String> wmStoreIdList = new ArrayList<>();
for (ResourceGroupDTO resource : resourceList) {
String weimobStoreIdOwn = resource.getWeimobStoreIdOwn();
if (resource.isAuthWeimobOrder() && StringUtils.isNotBlank(weimobStoreIdOwn)) {
wmStoreIdList.addAll(Arrays.asList(weimobStoreIdOwn.split(",")).stream().collect(Collectors.toList()));
}
}
//查询
ServiceResponse<List<WmStoreDTO>> wmStoreResponse = wmStoreApiService.listWmStore(wmStoreIdList, null);
if (wmStoreResponse.isSuccess()) {
List<WmStoreDTO> wmStoreList = wmStoreResponse.getResult();
if (CollectionUtils.isNotEmpty(wmStoreList)) {
for (WmStoreDTO temp : wmStoreList) {
WmStoreVO vo = EntityUtil.changeEntityNew(WmStoreVO.class, temp);
vo.setOwnerFlag(1);
vo.setOwnerEntId(temp.getEnterpriseId());
result.add(vo);
}
}
}
}
}
}
}
//商户数据
Map<Integer, String> enterpriseIdMapName = new HashMap<>();
ServiceResponse<List<EnterpriseDTO>> enterpriseResponse = enterpriseApiService.listEnterpriseByIds(enterpriseIdList);
if (enterpriseResponse.isSuccess()) {
List<EnterpriseDTO> enterpriseList = enterpriseResponse.getResult();
if (CollectionUtils.isNotEmpty(enterpriseList)) {
enterpriseList.forEach(e -> enterpriseIdMapName.put(e.getEnterpriseId(), e.getEnterpriseName()));
}
}
//数据处理
if (CollectionUtils.isNotEmpty(result)) {
for (WmStoreVO vo : result) {
vo.setOwnerEntName(enterpriseIdMapName.get(vo.getOwnerEntId()));
}
}
return RestResponse.success(result);
}
@RequestMapping("/list-sms-sign")
public RestResponse listSmsSign(String search) {
......
package com.gic.auth.web.vo;
import java.io.Serializable;
/**
* 资源组微盟店铺
* @ClassName:
* @Description: 

* @author guojuxing

* @date 2021/4/14 4:21 PM

*/
public class WmStoreVO implements Serializable{
private static final long serialVersionUID = -4618286985897401887L;
/**
*
*/
private Integer wmMallStoreId;
/**
* 微盟主账号
*/
private String wmMainAccount;
/**
* 微盟pid
*/
private String wmPid;
/**
* 微盟store_id
*/
private String wmStoreId;
/**
* 店铺名称
*/
private String wmPidName;
/**
* 共享标记 0自有 1共享
*/
private Integer ownerFlag;
private Integer ownerEntId;
/**
* 自有商户名称
*/
private String ownerEntName;
public Integer getWmMallStoreId() {
return wmMallStoreId;
}
public WmStoreVO setWmMallStoreId(Integer wmMallStoreId) {
this.wmMallStoreId = wmMallStoreId;
return this;
}
public String getWmMainAccount() {
return wmMainAccount;
}
public WmStoreVO setWmMainAccount(String wmMainAccount) {
this.wmMainAccount = wmMainAccount;
return this;
}
public String getWmPid() {
return wmPid;
}
public WmStoreVO setWmPid(String wmPid) {
this.wmPid = wmPid;
return this;
}
public String getWmStoreId() {
return wmStoreId;
}
public WmStoreVO setWmStoreId(String wmStoreId) {
this.wmStoreId = wmStoreId;
return this;
}
public String getWmPidName() {
return wmPidName;
}
public WmStoreVO setWmPidName(String wmPidName) {
this.wmPidName = wmPidName;
return this;
}
public Integer getOwnerFlag() {
return ownerFlag;
}
public WmStoreVO setOwnerFlag(Integer ownerFlag) {
this.ownerFlag = ownerFlag;
return this;
}
public String getOwnerEntName() {
return ownerEntName;
}
public WmStoreVO setOwnerEntName(String ownerEntName) {
this.ownerEntName = ownerEntName;
return this;
}
public Integer getOwnerEntId() {
return ownerEntId;
}
public WmStoreVO setOwnerEntId(Integer ownerEntId) {
this.ownerEntId = ownerEntId;
return this;
}
@Override
public String toString() {
return "WmStoreVO{" +
"wmMallStoreId=" + wmMallStoreId +
", wmMainAccount='" + wmMainAccount + '\'' +
", wmPid='" + wmPid + '\'' +
", wmStoreId='" + wmStoreId + '\'' +
", wmPidName='" + wmPidName + '\'' +
", ownerFlag=" + ownerFlag +
", ownerEntId=" + ownerEntId +
", ownerEntName='" + ownerEntName + '\'' +
'}';
}
}
......@@ -81,5 +81,6 @@
<dubbo:reference interface="com.gic.auth.service.ResourceGroupApiService" id="resourceGroupApiService" timeout="6000" />
<dubbo:reference interface="com.gic.enterprise.service.UnionEnterpriseAuthApiService" id="unionEnterpriseAuthApiService" timeout="6000" />
<dubbo:reference interface="com.gic.enterprise.service.WmStoreApiService" id="wmStoreApiService" timeout="6000" />
</beans>
\ No newline at end of file
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