From 01dde13901ff8bef77df53c1b402111e62659736 Mon Sep 17 00:00:00 2001 From: bianyadong Date: Fri, 10 May 2024 15:00:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/enums/MessageEnum.java | 4 +++ .../cool/store/dao/EmployeeTrainingDAO.java | 2 +- .../com/cool/store/dao/EnterpriseUserDAO.java | 7 ++++++ .../store/mapper/EmployeeTrainingMapper.java | 2 +- .../store/mapper/EnterpriseUserMapper.java | 6 +++++ .../mapper/EmployeeTrainingMapper.xml | 2 +- .../resources/mapper/EnterpriseUserMapper.xml | 9 +++++++ .../service/EmployeeTrainingService.java | 2 +- .../impl/EmployeeTrainingServiceImpl.java | 19 +++++++++++--- .../impl/TempUserDetailServiceImpl.java | 25 ++++++++++++++++--- .../webb/EmployeeTrainingController.java | 10 +++++--- 11 files changed, 74 insertions(+), 14 deletions(-) diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/MessageEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/MessageEnum.java index d9e568b21..a898f4553 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/MessageEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/MessageEnum.java @@ -101,6 +101,10 @@ public enum MessageEnum { case MESSAGE_14: return "dingtalk://dingtalkclient/action/open_micro_app?appId="+appId+"&corpId="+corpId+"&page=" + URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=pointPush×tamp="+System.currentTimeMillis()+"&lineId="+ paramMap.get("lineId"), StandardCharsets.UTF_8.name()); + case MESSAGE_21: + case MESSAGE_22: + return "dingtalk://dingtalkclient/action/open_micro_app?appId="+appId+"&corpId="+corpId+"&page=" + + URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=employeeTraining×tamp="+System.currentTimeMillis()+"&userDetailId="+ paramMap.get("userDetailId"), StandardCharsets.UTF_8.name()); default: return ""; } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EmployeeTrainingDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EmployeeTrainingDAO.java index 1244648b8..1515e0f93 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EmployeeTrainingDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EmployeeTrainingDAO.java @@ -32,7 +32,7 @@ public class EmployeeTrainingDAO { Integer assessmentStatus, Boolean assignStoreFlag) { - return employeeTrainingMapper.employeeTrainingMapper(keyWord, regionIdList, authRegionIdList, assignFlag, beginTime, endTime, storeNumList, + return employeeTrainingMapper.employeeTrainingList(keyWord, regionIdList, authRegionIdList, assignFlag, beginTime, endTime, storeNumList, theoreticalExamStatus, practicalExamStatus, assessmentStatus, assignStoreFlag); } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java index 17fc37b04..48488b85f 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java @@ -95,6 +95,13 @@ public class EnterpriseUserDAO { return enterpriseUserMapper.getUserListByRegionIds( regionIds); } + public List getUserIdListByRegionId(Long regionId, List userIdList){ + if(CollectionUtils.isEmpty(userIdList) || regionId == null){ + return Lists.newArrayList(); + } + return enterpriseUserMapper.getUserIdListByRegionId(regionId, userIdList); + } + public Map getUserNameAndMobile(List userIds){ List userList = getUserInfoByUserIds(userIds); return userList.stream().filter(o->!StringUtils.isAnyBlank(o.getMobile())).collect(Collectors.toMap(k -> k.getUserId(), v -> v.getName() + " " + v.getMobile())); diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EmployeeTrainingMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EmployeeTrainingMapper.java index 4e890d782..c4fc6624c 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EmployeeTrainingMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EmployeeTrainingMapper.java @@ -11,7 +11,7 @@ import java.util.List; public interface EmployeeTrainingMapper extends Mapper { - List employeeTrainingMapper(@Param("keyWord") String keyWord, @Param("regionIdList") List regionIdList, + List employeeTrainingList(@Param("keyWord") String keyWord, @Param("regionIdList") List regionIdList, @Param("authRegionIdList") List authRegionIdList, @Param("assignFlag") Boolean assignFlag, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("storeNumList") List storeNumList, @Param("theoreticalExamStatus") Integer theoreticalExamStatus, 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 8af158da8..2fda9754d 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 @@ -77,4 +77,10 @@ public interface EnterpriseUserMapper { * @description: 根据userid查询名字 */ List selectNameByUserId(@Param("userIdList") List userId); + + /** + * 获取部门人员 + * @return + */ + List getUserIdListByRegionId( @Param("regionId") Long regionId, @Param("userIdList") List userId); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml index 3c859a445..af3eabf93 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml @@ -28,7 +28,7 @@ - select u.id, u.username, diff --git a/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml index 0a45e4285..326cd973a 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml @@ -152,6 +152,15 @@ + \ No newline at end of file diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/EmployeeTrainingService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/EmployeeTrainingService.java index 42784f2b6..392b64d0d 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/EmployeeTrainingService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/EmployeeTrainingService.java @@ -23,7 +23,7 @@ public interface EmployeeTrainingService { List trainingListByShopId(Long shopId); - List trainerUserList(String userId, Integer status); + PageInfo trainerUserList(String userId, Integer status, Integer pageNum, Integer pageSize); EmployeeUserTrainingVO trainerUserDetail(Long id); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java index fbae23f81..b4cfc6cb3 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java @@ -11,6 +11,7 @@ import com.cool.store.dto.openPreparation.PlanLineDTO; import com.cool.store.entity.*; import com.cool.store.enums.AssessmentTemplateType; import com.cool.store.enums.ExamStatusEnum; +import com.cool.store.enums.MessageEnum; import com.cool.store.enums.video.ResourceStatusEnum; import com.cool.store.enums.video.UploadTypeEnum; import com.cool.store.exception.ServiceException; @@ -83,6 +84,9 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { @Resource private LineInfoDAO lineInfoDAO; + @Resource + private CommonService commonService; + @Override public PageInfo employeeTrainingList(String userId, EmployeeTrainingRequest request) { List authRegionIdList = new ArrayList<>(); @@ -246,6 +250,14 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { assessmentDataDOList.add(assessmentDataDO); }); assessmentDataDAO.batchInsertDO(assessmentDataDOList); + + + Map messageMap = new HashMap<>(); + messageMap.put("userName", tempUserDetailDO.getUsername()); + messageMap.put("mobile", tempUserDetailDO.getMobile()); + messageMap.put("registerTime", DateUtils.dateTime(tempUserDetailDO.getRegisterTime())); + messageMap.put("userDetailId", tempUserDetailDO.getId().toString()); + commonService.sendMessage(Collections.singletonList(employeeTrainingDO.getTrainingTeacherUserId()), MessageEnum.MESSAGE_22, messageMap); } @Override @@ -274,10 +286,11 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { } @Override - public List trainerUserList(String userId, Integer status) { + public PageInfo trainerUserList(String userId, Integer status, Integer pageNum, Integer pageSize) { + PageHelper.startPage(pageNum, pageSize); List list = employeeTrainingDAO.trainingListByShopId(null, userId, status); if (CollectionUtils.isEmpty(list)) { - return list; + return new PageInfo<>(); } List storeIdList = list.stream().map(EmployeeTrainingVO::getTrainingStoreId).collect(Collectors.toList()); List storeDOList = storeDAO.getEffectiveStoreByStoreIds(storeIdList); @@ -290,7 +303,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { item.setTrainingStoreName(storeNameMap.get(item.getTrainingStoreId())); item.setRegionNodeName(regionNameMap.get(item.getRegionId())); }); - return list; + return new PageInfo<>(list); } @Override diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java index d3d78d689..f63718f78 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java @@ -1,15 +1,14 @@ package com.cool.store.service.impl; -import com.cool.store.dao.EnterpriseUserDAO; -import com.cool.store.dao.ShopInfoDAO; -import com.cool.store.dao.ShopStageInfoDAO; -import com.cool.store.dao.TempUserDetailDAO; +import com.cool.store.dao.*; import com.cool.store.dto.ehr.StaffBaseInfoDTO; import com.cool.store.entity.EnterpriseUserDO; import com.cool.store.entity.ShopInfoDO; import com.cool.store.entity.ShopStageInfoDO; import com.cool.store.entity.TempUserDetailDO; import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.enums.MessageEnum; +import com.cool.store.enums.UserRoleEnum; import com.cool.store.enums.point.ShopSubStageEnum; import com.cool.store.enums.point.ShopSubStageStatusEnum; import com.cool.store.exception.ServiceException; @@ -17,6 +16,7 @@ import com.cool.store.request.TempUserDetailRequest; import com.cool.store.service.TempUserDetailService; import com.cool.store.service.XfsgEhrService; import com.cool.store.utils.StringUtil; +import com.cool.store.utils.poi.DateUtils; import com.cool.store.vo.TempUserDetailInfoVO; import com.cool.store.vo.TempUserDetailListVO; import com.cool.store.vo.TempUserDetailVO; @@ -49,6 +49,12 @@ public class TempUserDetailServiceImpl implements TempUserDetailService { @Autowired private ShopStageInfoDAO shopStageInfoDAO; + @Autowired + private CommonService commonService; + + @Autowired + private EnterpriseUserRoleDao enterpriseUserRoleDao; + @Override public TempUserDetailListVO userList(Long shopId) { List tempUserDetailDOList = tempUserDetailDAO.userList(shopId); @@ -120,6 +126,17 @@ public class TempUserDetailServiceImpl implements TempUserDetailService { tempUserDetailDO.setSubmitTime(new Date()); tempUserDetailDO.setSource("create"); tempUserDetailDAO.insertSelective(tempUserDetailDO); + + List userIdList = enterpriseUserRoleDao.getUserIdsByRoleIdList(Collections.singletonList(UserRoleEnum.TRAINER.getCode())); + // + userIdList = enterpriseUserDAO.getUserIdListByRegionId(shopInfoDO.getRegionId(), userIdList); + + Map messageMap = new HashMap<>(); + messageMap.put("userName", tempUserDetailRequest.getName()); + messageMap.put("mobile", tempUserDetailRequest.getPhone()); + messageMap.put("registerTime", DateUtils.dateTime(tempUserDetailRequest.getRegisterTime())); + messageMap.put("userDetailId", tempUserDetailDO.getId().toString()); + commonService.sendMessage(userIdList, MessageEnum.MESSAGE_21, messageMap); } @Override diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/EmployeeTrainingController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/EmployeeTrainingController.java index 613da30a0..618aa275e 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/EmployeeTrainingController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/EmployeeTrainingController.java @@ -72,10 +72,14 @@ public class EmployeeTrainingController { @ApiOperation("培训-教练员-员工列表") @PostMapping("/trainerUserList") @ApiImplicitParams({ - @ApiImplicitParam(name = "status", value = "带训状态 0-未完成 1-已完成") + @ApiImplicitParam(name = "status", value = "带训状态 0-未完成 1-已完成"), + @ApiImplicitParam(name = "pageNum", value = "分页页数"), + @ApiImplicitParam(name = "pageSize", value = "分页大小"), }) - public ResponseResult> trainerUserList(@RequestParam(value = "status", required = false) Integer status) { - return ResponseResult.success(employeeTrainingService.trainerUserList(CurrentUserHolder.getUserId(), status)); + public ResponseResult> trainerUserList(@RequestParam(value = "status", required = false) Integer status, + @RequestParam(value = "pageNum" ,defaultValue = "1")Integer pageNum, + @RequestParam(value = "pageSize",defaultValue = "10")Integer pageSize) { + return ResponseResult.success(employeeTrainingService.trainerUserList(CurrentUserHolder.getUserId(), status, pageNum, pageSize)); } @ApiOperation("培训-教练员-员工带训详情")