短信、通知以及建店完成更新用户数据

This commit is contained in:
bianyadong
2024-05-10 19:05:20 +08:00
parent d5eb2b9def
commit 3f226b109e
15 changed files with 112 additions and 6 deletions

View File

@@ -31,7 +31,7 @@ public enum RocketMqGroupEnum {
* 事件消息监听 * 事件消息监听
*/ */
FEI_SHU_EVENT_LISTENER("fei_shu_event_listener", new ArrayList<>(Arrays.asList(RocketMqTagEnum.USER_EVENT, RocketMqTagEnum.AUTH_SCOPE_CHANGE, RocketMqTagEnum.DEPT_EVENT))), FEI_SHU_EVENT_LISTENER("fei_shu_event_listener", new ArrayList<>(Arrays.asList(RocketMqTagEnum.USER_EVENT, RocketMqTagEnum.AUTH_SCOPE_CHANGE, RocketMqTagEnum.DEPT_EVENT))),
SYNC_TRAINING_PERSON("sync_training_person", new ArrayList<>(Arrays.asList(RocketMqTagEnum.SYNC_TRAINING_PERSON))), SYNC_TRAINING_PERSON("sync_training_person", new ArrayList<>(Arrays.asList(RocketMqTagEnum.SYNC_TRAINING_PERSON, RocketMqTagEnum.SYNC_TRAINING_SHOP_PERSON))),
; ;

View File

@@ -16,6 +16,8 @@ public enum RocketMqTagEnum {
DEPT_EVENT("dept_event","部门事件"), DEPT_EVENT("dept_event","部门事件"),
STORE_DING_QUEUE("store_ding_queue", "微应用钉钉消息发送"), STORE_DING_QUEUE("store_ding_queue", "微应用钉钉消息发送"),
SYNC_TRAINING_PERSON("sync_training_person", "建店完成后拉取培训人员"), SYNC_TRAINING_PERSON("sync_training_person", "建店完成后拉取培训人员"),
SYNC_TRAINING_SHOP_PERSON("sync_training_shop_person", "建店完成后拉取店下的培训人员"),
; ;

View File

@@ -27,6 +27,7 @@ public enum SMSMsgEnum {
LICENSE_NOT_PASS("证照未通过","","SMS_465971250"), LICENSE_NOT_PASS("证照未通过","","SMS_465971250"),
FRANCHISE_FEE_SUBMITTED("缴纳加盟费待缴纳","","SMS_465921311"), FRANCHISE_FEE_SUBMITTED("缴纳加盟费待缴纳","","SMS_465921311"),
FRANCHISE_FEE_NOT_PASS("缴纳加盟费缴纳失败","","SMS_465896262"), FRANCHISE_FEE_NOT_PASS("缴纳加盟费缴纳失败","","SMS_465896262"),
TRAINING_REGISTER_SUCCESS("培训登记中", "", "SMS_466035101"),
; ;

View File

@@ -143,4 +143,11 @@ public class EnterpriseUserDAO {
} }
return enterpriseUserMapper.selectNameByUserId(userIdList); return enterpriseUserMapper.selectNameByUserId(userIdList);
} }
public List<EnterpriseUserDO> getUserListByRegionId(Long regionId){
if(regionId == null){
return Lists.newArrayList();
}
return enterpriseUserMapper.getUserListByRegionId(regionId);
}
} }

View File

@@ -180,4 +180,11 @@ public class RegionDao {
public List<RegionDO> getFightRegionByRegionIds(List<String> regionIds) { public List<RegionDO> getFightRegionByRegionIds(List<String> regionIds) {
return regionMapper.getFightRegionByRegionIds(regionIds); return regionMapper.getFightRegionByRegionIds(regionIds);
} }
public RegionDO getRegionByStoreId(String storeId) {
if (Objects.isNull(storeId)) {
return null;
}
return regionMapper.getRegionByStoreId(storeId);
}
} }

View File

@@ -48,5 +48,13 @@ public class StoreDao {
return storeMapper.getStoreNumByStoreIds(storeIdList); return storeMapper.getStoreNumByStoreIds(storeIdList);
} }
public StoreDO getByStoreNum(String storeNum) {
if(StringUtils.isBlank(storeNum)) {
return null;
}
return storeMapper.getByStoreNum(storeNum);
}
} }

View File

@@ -83,4 +83,10 @@ public interface EnterpriseUserMapper {
* @return * @return
*/ */
List<String> getUserIdListByRegionId( @Param("regionId") Long regionId, @Param("userIdList") List<String> userId); List<String> getUserIdListByRegionId( @Param("regionId") Long regionId, @Param("userIdList") List<String> userId);
/**
* 获取部门人员
* @return
*/
List<EnterpriseUserDO> getUserListByRegionId( @Param("regionId") Long regionId);
} }

View File

@@ -104,4 +104,5 @@ public interface RegionMapper {
RegionDO getBigRegionByRegionId(@Param("regionId") long regionId); RegionDO getBigRegionByRegionId(@Param("regionId") long regionId);
List<RegionDO> getFightRegionByRegionIds(@Param("regionIds") List<String> regionIds); List<RegionDO> getFightRegionByRegionIds(@Param("regionIds") List<String> regionIds);
} }

View File

@@ -22,4 +22,6 @@ public interface StoreMapper {
List<String> getStoreNumByStoreIds(@Param("storeIds") List<String> storeIds); List<String> getStoreNumByStoreIds(@Param("storeIds") List<String> storeIds);
StoreDO getByStoreNum(@Param("storeNum") String storeNum);
} }

View File

@@ -162,5 +162,11 @@
and user_region_ids like concat('%', #{regionId}, '%') and user_region_ids like concat('%', #{regionId}, '%')
</select> </select>
<select id="getUserListByRegionId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>,
<include refid="Blob_Column_List"/>
from enterprise_user_${enterpriseId}
where user_region_ids like concat('%', #{regionId}, '%') and active = true
</select>
</mapper> </mapper>

View File

@@ -73,5 +73,10 @@
</foreach> </foreach>
</if> </if>
</select> </select>
<select id="getByStoreNum" resultMap="BaseResultMap">
select *
from store_${enterpriseId}
where store_num = #{storeNum}
</select>
</mapper> </mapper>

View File

@@ -6,12 +6,10 @@ import com.aliyun.openservices.ons.api.ConsumeContext;
import com.aliyun.openservices.ons.api.Message; import com.aliyun.openservices.ons.api.Message;
import com.aliyun.openservices.ons.api.MessageListener; import com.aliyun.openservices.ons.api.MessageListener;
import com.cool.store.constants.CommonConstants; import com.cool.store.constants.CommonConstants;
import com.cool.store.dao.ShopInfoDAO; import com.cool.store.dao.*;
import com.cool.store.dao.TempUserDetailDAO;
import com.cool.store.dto.ehr.StaffBaseInfoDTO; import com.cool.store.dto.ehr.StaffBaseInfoDTO;
import com.cool.store.dto.ehr.SyncXfsgTrainingPersonInfoDTO; import com.cool.store.dto.ehr.SyncXfsgTrainingPersonInfoDTO;
import com.cool.store.entity.ShopInfoDO; import com.cool.store.entity.*;
import com.cool.store.entity.TempUserDetailDO;
import com.cool.store.enums.RocketMqTagEnum; import com.cool.store.enums.RocketMqTagEnum;
import com.cool.store.enums.UserRoleEnum; import com.cool.store.enums.UserRoleEnum;
import com.cool.store.service.XfsgEhrService; import com.cool.store.service.XfsgEhrService;
@@ -24,6 +22,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* 鲜丰门店下培训人员拉取 * 鲜丰门店下培训人员拉取
@@ -46,6 +45,15 @@ public class XfsgTrainingPersonSyncListener implements MessageListener {
@Autowired @Autowired
public RedisUtilPool redisUtilPool; public RedisUtilPool redisUtilPool;
@Autowired
public StoreDao storeDao;
@Autowired
public RegionDao regionDao;
@Autowired
public EnterpriseUserDAO enterpriseUserDAO;
@Override @Override
public Action consume(Message message, ConsumeContext context) { public Action consume(Message message, ConsumeContext context) {
String text = new String(message.getBody()); String text = new String(message.getBody());
@@ -61,6 +69,9 @@ public class XfsgTrainingPersonSyncListener implements MessageListener {
case SYNC_TRAINING_PERSON: case SYNC_TRAINING_PERSON:
syncXfsgTrainingPerson(text); syncXfsgTrainingPerson(text);
break; break;
case SYNC_TRAINING_SHOP_PERSON:
syncXfsgTrainingShopPerson(text);
break;
} }
}catch (Exception e){ }catch (Exception e){
log.error("XfsgTrainingPersonSyncListener consume error",e); log.error("XfsgTrainingPersonSyncListener consume error",e);
@@ -136,6 +147,42 @@ public class XfsgTrainingPersonSyncListener implements MessageListener {
return tempUserDetailDO; return tempUserDetailDO;
} }
public void syncXfsgTrainingShopPerson(String text) {
log.info("syncXfsgTrainingShopPerson, reqBody={}", text);
ShopInfoDO shopInfoDO = JSONObject.parseObject(text, ShopInfoDO.class);
if(StringUtils.isAnyBlank(shopInfoDO.getStoreNum())){
log.info("syncXfsgTrainingShopPerson={}", text);
return;
}
StoreDO storeDO = storeDao.getByStoreNum(shopInfoDO.getStoreNum());
if(storeDO == null){
log.info("syncXfsgTrainingShopPerson门店不存在={}", text);
return;
}
RegionDO regionDO = regionDao.getRegionByStoreId(storeDO.getStoreId());
if(regionDO == null){
log.info("syncXfsgTrainingShopPerson区域不存在={}", text);
return;
}
List<EnterpriseUserDO> enterpriseUserDOList = enterpriseUserDAO.getUserListByRegionId(regionDO.getId());
enterpriseUserDOList.forEach(enterpriseUserDO -> {
// 拉取培训人员
SyncXfsgTrainingPersonInfoDTO syncXfsgTrainingPersonInfoDTO = SyncXfsgTrainingPersonInfoDTO.builder()
.jobnumber(enterpriseUserDO.getJobnumber())
.idCard(enterpriseUserDO.getThirdOaUniqueFlag())
.storeNum(storeDO.getStoreNum())
.build();
this.syncXfsgTrainingPerson(JSONObject.toJSONString(syncXfsgTrainingPersonInfoDTO));
});
}
// 学历 0-小学 1-初中 2-高中 3-中专 4-大专 5-本科 6-硕士 7-硕士以上 // 学历 0-小学 1-初中 2-高中 3-中专 4-大专 5-本科 6-硕士 7-硕士以上
private Integer fillEducational(String highestDegree) { private Integer fillEducational(String highestDegree) {
if("小学".equals(highestDegree)){ if("小学".equals(highestDegree)){

View File

@@ -442,6 +442,8 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
lineInfoDAO.updateLineInfo(updateLine); lineInfoDAO.updateLineInfo(updateLine);
//初始化店铺 //初始化店铺
shopService.initShop(lineInfo); shopService.initShop(lineInfo);
//发送短信
commonService.sendSms(lineInfo.getMobile(), SMSMsgEnum.TRAINING_REGISTER_SUCCESS, null);
//二审稽核 //二审稽核
auditStatusService.insert(lineInfo.getId(),interviewInfo.getId(),auditId,AuditStageEnum.TWO.getCode()); auditStatusService.insert(lineInfo.getId(),interviewInfo.getId(),auditId,AuditStageEnum.TWO.getCode());
//发送短信 //发送短信

View File

@@ -3,6 +3,7 @@ package com.cool.store.service.impl;
import com.cool.store.dao.*; import com.cool.store.dao.*;
import com.cool.store.entity.*; import com.cool.store.entity.*;
import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.SMSMsgEnum;
import com.cool.store.enums.point.*; import com.cool.store.enums.point.*;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.request.AddShopRequest; import com.cool.store.request.AddShopRequest;
@@ -43,6 +44,8 @@ public class ShopServiceImpl implements ShopService {
private PointInfoDAO pointInfoDAO; private PointInfoDAO pointInfoDAO;
@Resource @Resource
private PointRecommendDAO pointRecommendDAO; private PointRecommendDAO pointRecommendDAO;
@Resource
private CommonService commonService;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@@ -139,6 +142,8 @@ public class ShopServiceImpl implements ShopService {
shopInfoDAO.batchAddShop(addShopList); shopInfoDAO.batchAddShop(addShopList);
List<Long> shopIds = addShopList.stream().map(ShopInfoDO::getId).collect(Collectors.toList()); List<Long> shopIds = addShopList.stream().map(ShopInfoDO::getId).collect(Collectors.toList());
shopStageInfoDAO.initShopStageInfo(lineInfo.getId(), shopIds); shopStageInfoDAO.initShopStageInfo(lineInfo.getId(), shopIds);
//发送短信
commonService.sendSms(lineInfo.getMobile(), SMSMsgEnum.TRAINING_REGISTER_SUCCESS, null);
return 1L; return 1L;
} }

View File

@@ -14,6 +14,7 @@ import com.cool.store.enums.prepare.newStore.PassengerFlowEnum;
import com.cool.store.enums.prepare.newStore.StoreOperatorEnum; import com.cool.store.enums.prepare.newStore.StoreOperatorEnum;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.*; import com.cool.store.mapper.*;
import com.cool.store.mq.producer.SimpleMessageService;
import com.cool.store.request.AuditResultRequest; import com.cool.store.request.AuditResultRequest;
import com.cool.store.request.NewStoreRequest; import com.cool.store.request.NewStoreRequest;
import com.cool.store.request.SysStoreAppRequest; import com.cool.store.request.SysStoreAppRequest;
@@ -76,6 +77,9 @@ public class SysStoreAppServiceImpl implements SysStoreAppService,AuditResultSer
@Resource @Resource
CommonService commonService; CommonService commonService;
@Resource
SimpleMessageService simpleMessageService;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public ResponseResult submitSysBuildStore(SysStoreAppRequest request,LoginUserInfo user) { public ResponseResult submitSysBuildStore(SysStoreAppRequest request,LoginUserInfo user) {
@@ -427,6 +431,9 @@ public class SysStoreAppServiceImpl implements SysStoreAppService,AuditResultSer
preparationService.contractAndBuildStoreCompletion(shopId); preparationService.contractAndBuildStoreCompletion(shopId);
LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(shopInfoDO.getLineId()); LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(shopInfoDO.getLineId());
commonService.sendSms(lineInfoDO.getMobile(), SMSMsgEnum.SYS_BUILD_STORE_DONE); commonService.sendSms(lineInfoDO.getMobile(), SMSMsgEnum.SYS_BUILD_STORE_DONE);
// 异步处理
simpleMessageService.send(JSONObject.toJSONString(shopInfoDO), RocketMqTagEnum.SYNC_TRAINING_SHOP_PERSON);
} }
shopAuditInfoMapper.insertSelective(shopAuditInfoDO); shopAuditInfoMapper.insertSelective(shopAuditInfoDO);
//更新阶段状态 //更新阶段状态