From 7298997b764245b18406527e8898dbb9d693e625 Mon Sep 17 00:00:00 2001 From: bianyadong Date: Thu, 9 May 2024 10:34:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=B9=E8=AE=AD=E6=B7=BB=E5=8A=A0=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/dao/EmployeeTrainingDAO.java | 9 +- .../java/com/cool/store/dao/StoreDao.java | 8 ++ .../store/mapper/EmployeeTrainingMapper.java | 5 +- .../com/cool/store/mapper/StoreMapper.java | 3 + .../mapper/EmployeeTrainingMapper.xml | 12 +- .../src/main/resources/mapper/StoreMapper.xml | 10 ++ .../request/EmployeeTrainingRequest.java | 3 + .../com/cool/store/vo/EmployeeTrainingVO.java | 4 +- .../store/service/TempUserDetailService.java | 2 - .../store/service/YunXueTangApiService.java | 18 --- .../impl/EmployeeTrainingServiceImpl.java | 11 +- .../impl/YunXueTangApiServiceImpl.java | 108 ------------------ 12 files changed, 52 insertions(+), 141 deletions(-) delete mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/YunXueTangApiService.java delete mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/impl/YunXueTangApiServiceImpl.java 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 e95c02cdb..28e815606 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 @@ -23,13 +23,14 @@ public class EmployeeTrainingDAO { public List employeeTrainingList(String keyWord, List regionIdList, List authRegionIdList, Boolean assignFlag, - String beginTime, String endTime, List shopIdList, + String beginTime, String endTime, List storeNumList, Integer theoreticalExamStatus, Integer practicalExamStatus, - Integer assessmentStatus) { + Integer assessmentStatus, + Boolean assignStoreFlag) { - return employeeTrainingMapper.employeeTrainingMapper(keyWord, regionIdList, authRegionIdList, assignFlag, beginTime, endTime, shopIdList, - theoreticalExamStatus, practicalExamStatus, assessmentStatus); + return employeeTrainingMapper.employeeTrainingMapper(keyWord, regionIdList, authRegionIdList, assignFlag, beginTime, endTime, storeNumList, + theoreticalExamStatus, practicalExamStatus, assessmentStatus, assignStoreFlag); } public EmployeeTrainingDO selectById(Long id) { diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/StoreDao.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/StoreDao.java index 587f431d7..d332dc584 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/StoreDao.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/StoreDao.java @@ -41,4 +41,12 @@ public class StoreDao { return storeMapper.listStoreByRegionId(regionId); } + public List getStoreNumByStoreIds(List storeIdList) { + if(CollectionUtils.isEmpty(storeIdList)) { + return Lists.newArrayList(); + } + return storeMapper.getStoreNumByStoreIds(storeIdList); + } + + } 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 7e0377878..4e890d782 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 @@ -13,10 +13,11 @@ public interface EmployeeTrainingMapper extends Mapper { List employeeTrainingMapper(@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("shopIdList") List shopIdList, + @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("storeNumList") List storeNumList, @Param("theoreticalExamStatus") Integer theoreticalExamStatus, @Param("practicalExamStatus") Integer practicalExamStatus, - @Param("assessmentStatus") Integer assessmentStatus); + @Param("assessmentStatus") Integer assessmentStatus, + @Param("assignStoreFlag") Boolean assignStoreFlag); List trainingListByShopId(@Param("shopId") Long shopId, @Param("trainingTeacherUserId") String trainingTeacherUserId, @Param("status") Integer status); diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/StoreMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/StoreMapper.java index 19107a698..fa47e6293 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/StoreMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/StoreMapper.java @@ -19,4 +19,7 @@ public interface StoreMapper { */ List listStoreByRegionId(@Param("regionId") String regionId); + + List getStoreNumByStoreIds(@Param("storeIds") List storeIds); + } diff --git a/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml index d1cb540a4..c26a8c43f 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml @@ -52,7 +52,8 @@ e.training_end_time as trainingEndTime, e.training_store_id as trainingStoreId, e.estimated_assessment_time as estimatedAssessmentTime, - e.actual_assessment_time as actualAssessmentTime + e.actual_assessment_time as actualAssessmentTime, + e.assign_flag as assignFlag from xfsg_temp_user_detail u left join xfsg_employee_training e on e.xfsg_user_detail_id = u.id left join xfsg_shop_info s on s.id = u.shop_id @@ -81,9 +82,9 @@ and u.register_time <= #{endTime} - - and u.shop_id in - + + and s.store_num in + #{item} @@ -99,6 +100,9 @@ and e.assessment_total_num = e.assessment_num + + and s.store_num not null + + diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeTrainingRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeTrainingRequest.java index f9b40500d..07278bc3f 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeTrainingRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeTrainingRequest.java @@ -23,6 +23,9 @@ public class EmployeeTrainingRequest extends PageBasicInfo { @ApiModelProperty("是否分配 0-待分配 1-已分配") private Boolean assignFlag; + @ApiModelProperty("是否分配门店 0-未分配 1-已分配") + private Boolean assignStoreFlag; + @ApiModelProperty("开始时间") private Long beginTime; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingVO.java index 9180bbc8b..68e51c23b 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingVO.java @@ -3,7 +3,6 @@ package com.cool.store.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import javax.persistence.Column; import java.util.Date; /** @@ -123,4 +122,7 @@ public class EmployeeTrainingVO { @ApiModelProperty("登记时间") private Date registerTime; + + @ApiModelProperty("是否分配 0-待分配 1-已分配") + private Boolean assignFlag; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/TempUserDetailService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/TempUserDetailService.java index f719430f6..6fd299c5f 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/TempUserDetailService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/TempUserDetailService.java @@ -4,9 +4,7 @@ import com.cool.store.dto.ehr.StaffBaseInfoDTO; import com.cool.store.request.TempUserDetailRequest; import com.cool.store.vo.TempUserDetailInfoVO; import com.cool.store.vo.TempUserDetailListVO; -import com.cool.store.vo.TempUserDetailVO; -import java.util.List; /** * @author byd diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/YunXueTangApiService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/YunXueTangApiService.java deleted file mode 100644 index f9f429f58..000000000 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/YunXueTangApiService.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.cool.store.service; - -import com.cool.store.dto.yun.StudentResultDTO; - -import java.util.List; -import java.util.Map; - -/** - * @author byd - * @date 2024-04-29 9:55 - */ -public interface YunXueTangApiService { - - - String getAccessToken(); - - Map studentResultUserList(List userIdList); -} 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 d4650df1b..cac756937 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 @@ -85,11 +85,18 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { if (!sysRoleService.checkIsAdmin(userId)) { authRegionIdList = userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(userId); } + List storeNumList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(request.getStoreIdList())){ + storeNumList = storeDAO.getStoreNumByStoreIds(request.getStoreIdList()); + } + if(CollectionUtils.isEmpty(storeNumList)){ + return new PageInfo<>(); + } PageHelper.startPage(request.getPageNum(), request.getPageSize()); List list = employeeTrainingDAO.employeeTrainingList(request.getKeyWord(), request.getRegionIdList(), authRegionIdList, request.getAssignFlag(), DateUtils.parseLongDateToStr(request.getBeginTime()), - DateUtils.parseLongDateToStr(request.getEndTime()), null, - request.getTheoreticalExamStatus(), request.getPracticalExamStatus(), request.getAssessmentStatus()); + DateUtils.parseLongDateToStr(request.getEndTime()), storeNumList, + request.getTheoreticalExamStatus(), request.getPracticalExamStatus(), request.getAssessmentStatus(), request.getAssignStoreFlag()); if (CollectionUtils.isEmpty(list)) { return new PageInfo<>(list); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/YunXueTangApiServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/YunXueTangApiServiceImpl.java deleted file mode 100644 index b7a5ecd7f..000000000 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/YunXueTangApiServiceImpl.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.cool.store.service.impl; - -import cn.hutool.http.HttpUtil; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.cool.store.constants.CommonConstants; -import com.cool.store.constants.RedisConstant; -import com.cool.store.dto.yun.StudentResultDTO; -import com.cool.store.mq.util.HttpRestTemplateService; -import com.cool.store.service.YunXueTangApiService; -import com.cool.store.utils.RedisUtilPool; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.function.Function; -import java.util.stream.Collectors; - -/** - * @author byd - * @date 2024-04-29 9:55 - */ -@Service -public class YunXueTangApiServiceImpl implements YunXueTangApiService { - - private final static String REQUEST_URL = "https://openapi.yunxuetang.cn/"; - - private final static String APP_ID = "1782195114"; - - private final static String APP_SECRET = "W2Py1G4XYvBFGkXVgdbrZsm4C9zStM5QvBG8WS-0YYw4lPTcoKaFB9S6F5spshCJ"; - - private final static String ARRANGE_ID = "d011f26d-cd82-4a58-b705-529c63295198"; - - @Resource - private RedisUtilPool redisUtilPool; - - @Resource - private HttpRestTemplateService httpRestTemplateService; - - - @Override - public String getAccessToken() { - - //若果在缓存中存在,从缓存中去取 - String accessToken = redisUtilPool.getString(RedisConstant.YUN_XUE_TANG_ACCESS_TOKEN); - if (StringUtils.isNotBlank(accessToken)) { - return accessToken; - } - - - Map body = new HashMap<>(); - - // 请求接口地址 - String url = "token"; - // url拼接所需参数 - String pathUrl = REQUEST_URL + url + "?" + "appId=" + APP_ID + "&appSecret=" + APP_SECRET; - // 以post方式调用第三方接口,获取响应结果 - String result = HttpUtil.post(pathUrl, body); - - // 返回accessToken - JSONObject jsonObject = JSONObject.parseObject(result, JSONObject.class); - accessToken = jsonObject.getString("accessToken"); - if (StringUtils.isNotBlank(accessToken)) { - Integer expiresIn = jsonObject.getInteger("expiresIn"); - redisUtilPool.setString(RedisConstant.YUN_XUE_TANG_ACCESS_TOKEN, accessToken, expiresIn - 5 * 60); - } - return accessToken; - } - - @Override - public Map studentResultUserList(List userIdList) { - Map body = new HashMap<>(); - body.put("arrangeId", ARRANGE_ID); - body.put("thirdUserIds", userIdList); - body.put("limit", userIdList.size()); - String pathUrl = "v1/rpt2open/public/ote/student/result/user/list"; - // 以post方式调用第三方接口,获取响应结果 - Map headMap = new HashMap<>(); - headMap.put("Authorization", this.getAccessToken()); - String result = httpRestTemplateService.postForObject(REQUEST_URL + pathUrl, body, String.class, headMap); - List resultDTOList = new ArrayList<>(); - // 返回accessToken - JSONObject jsonObject = JSONObject.parseObject(result, JSONObject.class); - String code = jsonObject.getString("code"); - if (CommonConstants.YUN_XUE_TANG_SUC_CODE.equals(code)) { - JSONObject data = jsonObject.getJSONObject("data"); - JSONArray jsonArray = jsonObject.getJSONArray("datas"); - if (CollectionUtils.isNotEmpty(jsonArray)) { - jsonArray.forEach(item -> { - JSONObject itemObj = (JSONObject) item; - StudentResultDTO resultDTO = new StudentResultDTO(); - resultDTO.setUserId(itemObj.getString("thirdUserId")); - resultDTO.setPassed(itemObj.getInteger("passed")); - resultDTO.setNewScore(itemObj.getFloat("newScore")); - resultDTO.setUserExamStatus(itemObj.getInteger("userExamStatus")); - resultDTOList.add(resultDTO); - }); - } - } - return resultDTOList.stream().collect( - Collectors.toMap(StudentResultDTO::getUserId, Function.identity())); - } -}