Commit ce0892c1 by fudahua

门店分组绑定校验

parent 3da7b69b
...@@ -5,6 +5,7 @@ import java.util.List; ...@@ -5,6 +5,7 @@ import java.util.List;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.haoban.base.api.common.BasePageInfo; import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.base.api.common.ServiceResponse;
import com.gic.haoban.manage.api.dto.*; import com.gic.haoban.manage.api.dto.*;
public interface WxEnterpriseRelatedApiService { public interface WxEnterpriseRelatedApiService {
...@@ -35,7 +36,7 @@ public interface WxEnterpriseRelatedApiService { ...@@ -35,7 +36,7 @@ public interface WxEnterpriseRelatedApiService {
* @param detailDTO * @param detailDTO
* @return * @return
*/ */
int wxEnterpriseBind(WxEnterpriseRelationDetailDTO detailDTO); ServiceResponse wxEnterpriseBind(WxEnterpriseRelationDetailDTO detailDTO);
/** /**
* 刷新企业门店 * 刷新企业门店
......
...@@ -63,4 +63,13 @@ public interface TabHaobanStoreRangeMapper { ...@@ -63,4 +63,13 @@ public interface TabHaobanStoreRangeMapper {
* 批量插入 * 批量插入
*/ */
int insertBatch(@Param("list") List<TabStoreRange> list); int insertBatch(@Param("list") List<TabStoreRange> list);
/**
* 查询关联关系
*
* @param relationIds
* @param enterpriseId
* @return
*/
List<TabStoreRange> listStoreRangeByRelationId(@Param("relationIds") List<String> relationIds, @Param("enterpriseId") String enterpriseId);
} }
\ No newline at end of file
...@@ -78,5 +78,14 @@ public interface StoreRangeService { ...@@ -78,5 +78,14 @@ public interface StoreRangeService {
*/ */
public boolean saveStoreRelations(List<TabStoreRelation> list, String optStaffId, int channelCode); public boolean saveStoreRelations(List<TabStoreRelation> list, String optStaffId, int channelCode);
/**
* 删除分组id
*
* @param enterpriseId
* @param relationIds
* @return
*/
public List<TabStoreRange> queryStoreRangeByRelationId(String enterpriseId, List<String> relationIds);
} }
...@@ -134,4 +134,9 @@ public class StoreRangeServiceImpl implements StoreRangeService { ...@@ -134,4 +134,9 @@ public class StoreRangeServiceImpl implements StoreRangeService {
tabHaobanStoreRelationMapper.insertBatch(list); tabHaobanStoreRelationMapper.insertBatch(list);
return true; return true;
} }
@Override
public List<TabStoreRange> queryStoreRangeByRelationId(String enterpriseId, List<String> relationIds) {
return null;
}
} }
...@@ -10,6 +10,7 @@ import com.gic.commons.util.ToolUtil; ...@@ -10,6 +10,7 @@ import com.gic.commons.util.ToolUtil;
import com.gic.enterprise.api.dto.*; import com.gic.enterprise.api.dto.*;
import com.gic.enterprise.api.service.StoreService; import com.gic.enterprise.api.service.StoreService;
import com.gic.haoban.base.api.common.BasePageInfo; import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.base.api.common.ServiceResponse;
import com.gic.haoban.common.utils.PageUtil; import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.dto.*; import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.service.entity.*; import com.gic.haoban.manage.service.entity.*;
...@@ -175,8 +176,24 @@ public class WxEnterpriseRelatedApiServiceImpl implements WxEnterpriseRelatedApi ...@@ -175,8 +176,24 @@ public class WxEnterpriseRelatedApiServiceImpl implements WxEnterpriseRelatedApi
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public int wxEnterpriseBind(WxEnterpriseRelationDetailDTO detailDTO) { public ServiceResponse wxEnterpriseBind(WxEnterpriseRelationDetailDTO detailDTO) {
ServiceResponse<Object> resp = new ServiceResponse<>();
//校验是否分组被其它企业绑定
if (checkHasBindStoreGroup(detailDTO)) {
logger.info("部分分组被其它企业绑定了:{}", JSONObject.toJSONString(detailDTO));
resp.setCode(2);
resp.setMessage("部分分组被其它企业绑定了!");
return resp;
}
//校验关联已经企业绑定
TabHaobanWxEnterpriseRelated tab = wxEnterpriseRelatedMapper.findOneByEIdAndWxEid(detailDTO.getEnterpriseId(), detailDTO.getWxEnterpriseId()); TabHaobanWxEnterpriseRelated tab = wxEnterpriseRelatedMapper.findOneByEIdAndWxEid(detailDTO.getEnterpriseId(), detailDTO.getWxEnterpriseId());
if (tab != null && (!tab.getWxEnterpriseRelatedId().equals(detailDTO.getWxEnterpriseRelatedId()))) {
logger.info("该企业已经被绑定过");
resp.setCode(2);
resp.setMessage("改企业已经被绑定!");
return resp;
}
if (tab == null) { if (tab == null) {
logger.info("该gicEnterpriseId已经绑定过了:{}", JSONObject.toJSONString(detailDTO)); logger.info("该gicEnterpriseId已经绑定过了:{}", JSONObject.toJSONString(detailDTO));
//保存企业关联关系 //保存企业关联关系
...@@ -206,7 +223,29 @@ public class WxEnterpriseRelatedApiServiceImpl implements WxEnterpriseRelatedApi ...@@ -206,7 +223,29 @@ public class WxEnterpriseRelatedApiServiceImpl implements WxEnterpriseRelatedApi
staffService.add(staff); staffService.add(staff);
} }
return 0; return resp;
}
/**
* 校验是否包含被其它企业绑定
*
* @param detailDTO
* @return
*/
private boolean checkHasBindStoreGroup(WxEnterpriseRelationDetailDTO detailDTO) {
//判断绑定情况
List<StoreOrGroupInfoDTO> relations = detailDTO.getRelations();
List<String> needBind = relations.stream().map(dto -> dto.getRelationId()).collect(Collectors.toList());
List<TabStoreRange> storeRanges = storeRangeService.queryStoreRangeByRelationId(detailDTO.getEnterpriseId(), needBind);
if (CollectionUtils.isEmpty(storeRanges)) {
return true;
}
logger.info("绑定的部分:{},{}", detailDTO.getWxEnterpriseId(), JSONObject.toJSONString(storeRanges));
Set<TabStoreRange> mid = storeRanges.stream().filter(tab -> !tab.getWxEnterpriseId().equals(detailDTO.getWxEnterpriseId())).collect(Collectors.toSet());
if (CollectionUtils.isEmpty(mid)) {
return true;
}
return false;
} }
@Override @Override
......
...@@ -173,4 +173,17 @@ ...@@ -173,4 +173,17 @@
</foreach> </foreach>
</insert> </insert>
<select id="listStoreRangeByRelationId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_store_range
where enterprise_id = #{enterpriseId,jdbcType=VARCHAR}
and relation_id in
<foreach collection="relationIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and status_flag =1
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -12,6 +12,7 @@ import com.gic.enterprise.api.dto.StoreSearchDTO; ...@@ -12,6 +12,7 @@ import com.gic.enterprise.api.dto.StoreSearchDTO;
import com.gic.enterprise.api.service.EnterpriseService; import com.gic.enterprise.api.service.EnterpriseService;
import com.gic.enterprise.api.service.StoreService; import com.gic.enterprise.api.service.StoreService;
import com.gic.haoban.base.api.common.BasePageInfo; import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.base.api.common.ServiceResponse;
import com.gic.haoban.common.utils.EntityUtil; import com.gic.haoban.common.utils.EntityUtil;
import com.gic.haoban.common.utils.HaobanResponse; import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.manage.api.dto.*; import com.gic.haoban.manage.api.dto.*;
...@@ -175,6 +176,7 @@ public class WxEnterpriseController extends WebBaseController{ ...@@ -175,6 +176,7 @@ public class WxEnterpriseController extends WebBaseController{
String staffName = staff.getStaffName(); String staffName = staff.getStaffName();
WxEnterpriseRelationDetailDTO detailDTO = new WxEnterpriseRelationDetailDTO(); WxEnterpriseRelationDetailDTO detailDTO = new WxEnterpriseRelationDetailDTO();
detailDTO.setWxEnterpriseRelatedId(bindQo.getWxEnterpriseRelatedId());
detailDTO.setEnterpriseId(bindQo.getEnterpriseId()); detailDTO.setEnterpriseId(bindQo.getEnterpriseId());
detailDTO.setWxEnterpriseId(wxEnterpriseId); detailDTO.setWxEnterpriseId(wxEnterpriseId);
detailDTO.setStaffId(staffId); detailDTO.setStaffId(staffId);
...@@ -183,9 +185,10 @@ public class WxEnterpriseController extends WebBaseController{ ...@@ -183,9 +185,10 @@ public class WxEnterpriseController extends WebBaseController{
detailDTO.setWxEnterpriseType(bindQo.getWxEnterpriseType()); detailDTO.setWxEnterpriseType(bindQo.getWxEnterpriseType());
List<StoreOrGroupInfoDTO> storeOrGroupInfoDTOS = JSONObject.parseArray(bindQo.getRelations(), StoreOrGroupInfoDTO.class); List<StoreOrGroupInfoDTO> storeOrGroupInfoDTOS = JSONObject.parseArray(bindQo.getRelations(), StoreOrGroupInfoDTO.class);
detailDTO.setRelations(storeOrGroupInfoDTOS); detailDTO.setRelations(storeOrGroupInfoDTOS);
int i = wxEnterpriseRelatedApiService.wxEnterpriseBind(detailDTO); ServiceResponse resp = wxEnterpriseRelatedApiService.wxEnterpriseBind(detailDTO);
if(i==1){ if (resp.getCode() != 1) {
return resultResponse(HaoBanErrCode.ERR_10006); HaoBanErrCode.ERR_DEFINE.setMsg(resp.getMessage());
return resultResponse(HaoBanErrCode.ERR_DEFINE);
} }
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
......
...@@ -8,6 +8,7 @@ import java.io.Serializable; ...@@ -8,6 +8,7 @@ import java.io.Serializable;
* @author hua * @author hua
*/ */
public class WxEnterpriseBindQo implements Serializable { public class WxEnterpriseBindQo implements Serializable {
private String wxEnterpriseRelatedId;
private String wxEnterpriseId; private String wxEnterpriseId;
private String enterpriseId; private String enterpriseId;
private String version; private String version;
...@@ -22,6 +23,14 @@ public class WxEnterpriseBindQo implements Serializable { ...@@ -22,6 +23,14 @@ public class WxEnterpriseBindQo implements Serializable {
*/ */
private int wxEnterpriseType; private int wxEnterpriseType;
public String getWxEnterpriseRelatedId() {
return wxEnterpriseRelatedId;
}
public void setWxEnterpriseRelatedId(String wxEnterpriseRelatedId) {
this.wxEnterpriseRelatedId = wxEnterpriseRelatedId;
}
public String getWxEnterpriseId() { public String getWxEnterpriseId() {
return wxEnterpriseId; return wxEnterpriseId;
} }
......
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