diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java index 64f2413b4..da3d02c5f 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java @@ -66,5 +66,4 @@ public interface EnterpriseUserMapper { EnterpriseUserDO selectByMobile( @Param("mobile") String mobile); EnterpriseUserDO selectByInvestmentManager( @Param("investmentManager") String investmentManager); - } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/RegionMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/RegionMapper.java index 8b85f836e..08c39f820 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/RegionMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/RegionMapper.java @@ -97,4 +97,5 @@ public interface RegionMapper { List listByThirdRegionType(@Param("parentId")Long parentId, @Param("thirdRegionType")String thirdRegionType); + RegionDO getRegionByStoreId(@Param("storeId") String storeId); } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SysRoleMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SysRoleMapper.java index 25e230f13..1ff259a6f 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SysRoleMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SysRoleMapper.java @@ -138,4 +138,5 @@ public interface SysRoleMapper { List getRolesByNamesAndSource(@Param("roleNames") List roleNames, @Param("source") String source); + List getXFStoreManager(@Param("roleNames") List roleNames); } diff --git a/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml index 9f4ff2ca7..910214dae 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml @@ -320,11 +320,11 @@ - select * from xfsg_line_info - where deleted = 0 and line_status = 1 and join_status = 0 + select * from xfsg_line_info a + left join xfsg_open_area_info b on a.want_shop_area_id = b.id + where a.deleted = 0 and a.line_status = 1 and a.join_status = 0 - and investment_manager = #{userId} + and a.investment_manager = #{userId} and b.area_path like concat('%',#{wantShopAreaName},'%') - and username = #{request.userName} + and a.username = #{request.userName} - and (a.username like #{request.userName} or a.mobile like #{request.mobile}) + and (a.username like concat('%',#{request.keyword},'%') or a.mobile like concat('%',#{request.keyword},'%')) - and mobile = #{request.mobile} + and a.mobile = #{request.mobile} - and want_shop_area_id = #{request.wantShopAreaId} + and a.want_shop_area_id = #{request.wantShopAreaId} - and line_source = #{request.lineSource} + and a.line_source = #{request.lineSource} - and create_time between #{request.createTimeStart} and #{request.createTimeEnd} + and a.create_time between #{request.createTimeStart} and #{request.createTimeEnd} - and investment_manager = #{request.investmentManagerUserId} + and a.investment_manager = #{request.investmentManagerUserId} - + #{wantShopAreaId} @@ -412,7 +413,7 @@ and mobile = #{request.mobile} - and (a.username like #{request.userName} or a.mobile like #{request.mobile}) + and (username like #{request.keyword} or mobile like #{request.keyword}) and line_source = #{request.lineSource} diff --git a/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml index e3f712274..8371ef812 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/RegionMapper.xml @@ -345,6 +345,13 @@ and third_region_type = #{thirdRegionType} + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/SysRoleMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/SysRoleMapper.xml index f937c31ff..07bdb7e27 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/SysRoleMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/SysRoleMapper.xml @@ -358,5 +358,21 @@ #{roleName} + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/LeaseBaseInfoDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/LeaseBaseInfoDO.java index b40d758c3..2f6fe996c 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/LeaseBaseInfoDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/LeaseBaseInfoDO.java @@ -31,5 +31,7 @@ public class LeaseBaseInfoDO { private Integer deleted; + private String storeManager; + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TrainingExperienceServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TrainingExperienceServiceImpl.java index 8fa6c2449..c6c7d2b2d 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TrainingExperienceServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TrainingExperienceServiceImpl.java @@ -1,16 +1,14 @@ package com.cool.store.service.impl; import com.cool.store.dao.LineInfoDAO; -import com.cool.store.entity.LeaseBaseInfoDO; -import com.cool.store.entity.LineInfoDO; +import com.cool.store.entity.*; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.ExperienceStatusEnum; import com.cool.store.enums.WorkflowSubStageEnum; import com.cool.store.enums.WorkflowSubStageStatusEnum; import com.cool.store.enums.*; import com.cool.store.exception.ServiceException; -import com.cool.store.mapper.LineInfoMapper; -import com.cool.store.mapper.TrainingExperienceMapper; +import com.cool.store.mapper.*; import com.cool.store.request.TrainingExperienceDistributionRequest; import com.cool.store.service.TrainingExperienceService; import lombok.extern.slf4j.Slf4j; @@ -19,7 +17,9 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import javax.annotation.Tainted; -import java.util.Objects; +import java.time.LocalDate; +import java.util.*; +import java.util.stream.Collectors; import static com.cool.store.enums.ErrorCodeEnum.INTERVIEW_LINE_ID_IS_NULL; @@ -35,6 +35,22 @@ public class TrainingExperienceServiceImpl extends LineFlowService implements Tr @Resource LineInfoDAO lineInfoDAO; + + @Resource + SysRoleMapper sysRoleMapper; + + @Resource + EnterpriseUserMapper enterpriseUserMapper; + + @Resource + RegionMapper regionMapper; + + @Resource + UserAuthMappingMapper userAuthMappingMapper; + + @Resource + EnterpriseUserRoleMapper enterpriseUserRoleMapper; + @Override @Transactional(rollbackFor = Exception.class) public boolean distribution(TrainingExperienceDistributionRequest request) { @@ -45,6 +61,17 @@ public class TrainingExperienceServiceImpl extends LineFlowService implements Tr throw new ServiceException(INTERVIEW_LINE_ID_IS_NULL); } LeaseBaseInfoDO leaseBaseInfoDO = request.toLeaseBaseInfoDO(); + Date currentDate = new Date(); + if (request.getExperienceStartTime().compareTo(request.getExperienceEndTime()) >= 0){ + throw new ServiceException("结束时间不能早于开始时间"); + } + if (currentDate.before(request.getExperienceStartTime())){ + leaseBaseInfoDO.setExperienceStatus(WorkflowSubStageStatusEnum.STORE_EXPERIENCE_85.getCode()); + }else if (currentDate.after(request.getExperienceStartTime()) || currentDate.before(request.getExperienceEndTime())){ + leaseBaseInfoDO.setExperienceStatus(WorkflowSubStageStatusEnum.STORE_EXPERIENCE_90.getCode()); + }else { + throw new ServiceException("时间"); + } trainingExperienceMapper.insert(leaseBaseInfoDO); LineInfoDO lineInfoDO = new LineInfoDO(); lineInfoDO.setWorkflowSubStage(WorkflowSubStageEnum.STORE_EXPERIENCE.getCode()); @@ -71,7 +98,20 @@ public class TrainingExperienceServiceImpl extends LineFlowService implements Tr @Override public LeaseBaseInfoDO getTrainingExperience(Long lineId) { + String eid = "e17cd2dc350541df8a8b0af9bd27f77d"; + List roleNames = new ArrayList<>(); + roleNames.add("加盟店店长"); + roleNames.add("加盟店储备店长"); + LeaseBaseInfoDO leaseBaseInfoDO = trainingExperienceMapper.selectByLineId(lineId); + String storeId = leaseBaseInfoDO.getStoreId(); + RegionDO regionDO = regionMapper.getRegionByStoreId(storeId); + List xfStoreManager = sysRoleMapper.getXFStoreManager(roleNames); + List roleIds = xfStoreManager.stream().map(SysRoleDO::getId).collect(Collectors.toList()); + List userIdsByRoleIdList = enterpriseUserRoleMapper.getUserIdsByRoleIdList(roleIds); + List userInfoByUserIds = enterpriseUserMapper.getUserInfoByUserIds(userIdsByRoleIdList); + String storeManagers = userInfoByUserIds.stream().map(EnterpriseUserDO::getName).collect(Collectors.toList()).toString(); + leaseBaseInfoDO.setStoreManager(storeManagers); return leaseBaseInfoDO; }