diff --git a/web-adapter/src/main/java/com/zcloud/edu/web/study/StudentController.java b/web-adapter/src/main/java/com/zcloud/edu/web/study/StudentController.java index 421995e..fde89c9 100644 --- a/web-adapter/src/main/java/com/zcloud/edu/web/study/StudentController.java +++ b/web-adapter/src/main/java/com/zcloud/edu/web/study/StudentController.java @@ -65,8 +65,6 @@ public class StudentController { return MultiResponse.of(new ArrayList()); } - - @ApiOperation("查询用户统计") @PostMapping("/listStudentCount") public MultiResponse listStudentCount(@RequestBody StudentCountQry qry) { diff --git a/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingUserController.java b/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingUserController.java index caef267..7228cd1 100644 --- a/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingUserController.java +++ b/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingUserController.java @@ -3,6 +3,7 @@ package com.zcloud.edu.web.training; import com.zcloud.edu.api.training.TrainingUserServiceI; import com.zcloud.edu.dto.training.TrainingUserAddCmd; +import com.zcloud.edu.dto.training.TrainingUserEntranceQry; import com.zcloud.edu.dto.training.TrainingUserPageQry; import com.zcloud.edu.dto.training.TrainingUserUpdateCmd; import com.zcloud.edu.dto.clientobject.training.TrainingUserCO; @@ -12,6 +13,7 @@ import com.alibaba.cola.dto.Response; import com.alibaba.cola.dto.SingleResponse; import com.jjb.saas.framework.auth.model.SSOUser; import com.jjb.saas.framework.auth.utils.AuthContext; +import com.zcloud.gbscommon.zcloudqualifications.response.EduProjectUserDO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; @@ -19,6 +21,8 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; +import java.util.List; + /** * web-adapter * @Author makejava @@ -50,6 +54,17 @@ public class TrainingUserController { return MultiResponse.of(new ArrayList()); } + + /** + * 口门使用 + * @return + */ + @ApiOperation("根据手机号查询是否培训通过") + @PostMapping("/listAllByPhones") + public MultiResponse listAllByPhones(@RequestBody List qry) { + return trainingUserService.listAllByPhones(qry); + } + @ApiOperation("详情") @GetMapping("/{id}") public SingleResponse getInfoById(@PathVariable("id") Long id) { diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingUserQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingUserQueryExe.java index 2e35207..6e389af 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingUserQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingUserQueryExe.java @@ -1,18 +1,25 @@ package com.zcloud.edu.command.query.training; +import com.alibaba.cola.dto.MultiResponse; import com.zcloud.edu.command.convertor.training.TrainingUserCoConvertor; +import com.zcloud.edu.dto.training.TrainingUserEntranceQry; import com.zcloud.edu.dto.training.TrainingUserPageQry; import com.zcloud.edu.dto.clientobject.training.TrainingUserCO; import com.zcloud.edu.persistence.dataobject.TrainingUserDO; import com.zcloud.edu.persistence.repository.training.TrainingUserRepository; import com.zcloud.gbscommon.utils.PageQueryHelper; import com.alibaba.cola.dto.PageResponse; +import com.zcloud.gbscommon.zcloudqualifications.response.EduProjectUserDO; import lombok.AllArgsConstructor; +import org.apache.commons.beanutils.PropertyUtils; import org.springframework.stereotype.Component; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; - +import java.util.stream.Collectors; /** @@ -35,8 +42,28 @@ public class TrainingUserQueryExe { public PageResponse execute(TrainingUserPageQry trainingUserPageQry) { Map params = PageQueryHelper.toHashMap(trainingUserPageQry); PageResponse pageResponse = trainingUserRepository.listPage(params); - List examCenterCOS = trainingUserCoConvertor.converDOsToCOs(pageResponse.getData()); - return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + List examCenterCOS = trainingUserCoConvertor.converDOsToCOs(pageResponse.getData()); + return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + } + + public MultiResponse listAllByPhonesExecute(List qry) { + List phones = qry.stream().map(EduProjectUserDO::getPhone).collect(Collectors.toList()); + Map params = new HashMap(); + params.put("phones", phones); + List list = trainingUserRepository.listAllByPhones(params); + Map existingUserMap = list.stream().collect(Collectors.toMap(TrainingUserDO::getPhone, user -> user)); + qry.stream().forEach(eduProjectUserDO -> { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + TrainingUserDO trainingUser = existingUserMap.get(eduProjectUserDO.getPhone()); + if(trainingUser.getStartTime() != null){ + eduProjectUserDO.setStartTrainingTime(trainingUser.getStartTime().format(formatter)); + } + if(trainingUser.getEndTime() != null){ + eduProjectUserDO.setEndTrainingTime(trainingUser.getEndTime().format(formatter)); + } + eduProjectUserDO.setTrainingState(String.valueOf(trainingUser.getStateFlag())); + }); + return MultiResponse.of(qry); } } diff --git a/web-app/src/main/java/com/zcloud/edu/service/TrainingUserServiceImpl.java b/web-app/src/main/java/com/zcloud/edu/service/TrainingUserServiceImpl.java index c9f09dd..b2c1c75 100644 --- a/web-app/src/main/java/com/zcloud/edu/service/TrainingUserServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/edu/service/TrainingUserServiceImpl.java @@ -1,20 +1,25 @@ package com.zcloud.edu.service; +import com.alibaba.cola.dto.MultiResponse; import com.zcloud.edu.api.training.TrainingUserServiceI; import com.zcloud.edu.command.training.TrainingUserAddExe; import com.zcloud.edu.command.training.TrainingUserRemoveExe; import com.zcloud.edu.command.training.TrainingUserUpdateExe; import com.zcloud.edu.command.query.training.TrainingUserQueryExe; import com.zcloud.edu.dto.training.TrainingUserAddCmd; +import com.zcloud.edu.dto.training.TrainingUserEntranceQry; import com.zcloud.edu.dto.training.TrainingUserPageQry; import com.zcloud.edu.dto.training.TrainingUserUpdateCmd; import com.zcloud.edu.dto.clientobject.training.TrainingUserCO; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.gbscommon.zcloudqualifications.response.EduProjectUserDO; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; + /** * web-app * @Author makejava @@ -55,5 +60,10 @@ public class TrainingUserServiceImpl implements TrainingUserServiceI { public void removeBatch(Long[] ids) { trainingUserRemoveExe.execute(ids); } + + @Override + public MultiResponse listAllByPhones(List qry) { + return trainingUserQueryExe.listAllByPhonesExecute(qry); + } } diff --git a/web-client/src/main/java/com/zcloud/edu/api/training/TrainingUserServiceI.java b/web-client/src/main/java/com/zcloud/edu/api/training/TrainingUserServiceI.java index e9c139b..2ae1924 100644 --- a/web-client/src/main/java/com/zcloud/edu/api/training/TrainingUserServiceI.java +++ b/web-client/src/main/java/com/zcloud/edu/api/training/TrainingUserServiceI.java @@ -1,12 +1,17 @@ package com.zcloud.edu.api.training; +import com.alibaba.cola.dto.MultiResponse; import com.zcloud.edu.dto.training.TrainingUserAddCmd; +import com.zcloud.edu.dto.training.TrainingUserEntranceQry; import com.zcloud.edu.dto.training.TrainingUserPageQry; import com.zcloud.edu.dto.training.TrainingUserUpdateCmd; import com.zcloud.edu.dto.clientobject.training.TrainingUserCO; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.gbscommon.zcloudqualifications.response.EduProjectUserDO; + +import java.util.List; /** * web-client @@ -23,5 +28,7 @@ public interface TrainingUserServiceI { void remove(Long id); void removeBatch(Long[] ids); + + MultiResponse listAllByPhones(List qry); } diff --git a/web-client/src/main/java/com/zcloud/edu/config/FileUrlConfig.java b/web-client/src/main/java/com/zcloud/edu/config/FileUrlConfig.java index 8631ba3..bbb9e11 100644 --- a/web-client/src/main/java/com/zcloud/edu/config/FileUrlConfig.java +++ b/web-client/src/main/java/com/zcloud/edu/config/FileUrlConfig.java @@ -16,5 +16,6 @@ public class FileUrlConfig { } public String getPrefixUrl() { return "http://192.168.192.201:8991/file/uploadFiles2/"; +// return prefixUrl; } } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingUserEntranceQry.java b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingUserEntranceQry.java new file mode 100644 index 0000000..777db1a --- /dev/null +++ b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingUserEntranceQry.java @@ -0,0 +1,29 @@ +package com.zcloud.edu.dto.training; + +import com.alibaba.cola.dto.PageQuery; +import lombok.Data; + +import java.util.List; + + +/** +* web-client +* @Author makejava +* @Date 2026-01-12 15:41:04 +*/ +@Data +public class TrainingUserEntranceQry { + +/** +* 查询条件操作前缀,支持以下几种数据库查询操作: +* - `like`: 模糊匹配查询,对应SQL的LIKE操作符 +* - `eq`: 等值查询,对应SQL的=操作符 +* - `gt`: 大于比较查询 +* - `lt`: 小于比较查询 +* - `ge`: 大于等于比较查询 +* - `le`: 小于等于比较查询 +* - `ne`: 不等比较查询,对应SQL的!=操作符 +*/ + private List phones; +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingUserDO.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingUserDO.java index 1b6fd99..3a57fe6 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingUserDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingUserDO.java @@ -38,6 +38,10 @@ public class TrainingUserDO extends BaseDO { @ApiModelProperty(value = "考试状态:1.待考试2:考试通过,3:考试不通过") private Long examineStatus; + @ApiModelProperty(value = "当前培训证书有效状态 0-无效 1-有效") + @TableField(exist = false) + private Integer stateFlag; + public TrainingUserDO(String trainingUserId) { this.trainingUserId = trainingUserId; } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingUserMapper.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingUserMapper.java index 4157177..fc468ca 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingUserMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingUserMapper.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; import java.util.Map; /** @@ -16,5 +17,7 @@ import java.util.Map; public interface TrainingUserMapper extends BaseMapper { void updateTime(@Param("params") Map params); + List listAllByPhones(@Param("params") Map params); + } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingUserRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingUserRepositoryImpl.java index 6fd1c51..aacf39a 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingUserRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingUserRepositoryImpl.java @@ -43,5 +43,10 @@ public class TrainingUserRepositoryImpl extends BaseRepositoryImpl params = PageQueryHelper.toHashMap(trainingUserE); trainingUserMapper.updateTime(params); } + + @Override + public List listAllByPhones(Map params) { + return trainingUserMapper.listAllByPhones(params); + } } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingUserRepository.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingUserRepository.java index 3e20ea6..aad17d1 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingUserRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingUserRepository.java @@ -17,5 +17,8 @@ public interface TrainingUserRepository extends BaseRepository { PageResponse listPage(Map params); void updateTime(TrainingUserE trainingUserE); + + + List listAllByPhones(Map params); } diff --git a/web-infrastructure/src/main/resources/mapper/TrainingUserMapper.xml b/web-infrastructure/src/main/resources/mapper/TrainingUserMapper.xml index af37054..8c45e20 100644 --- a/web-infrastructure/src/main/resources/mapper/TrainingUserMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/TrainingUserMapper.xml @@ -14,5 +14,29 @@ and ( end_time is null or end_time < #{params.endTime}) + + + + +