添加培训用户培训查询功能
parent
d480abc283
commit
318fc084e3
|
|
@ -65,8 +65,6 @@ public class StudentController {
|
|||
return MultiResponse.of(new ArrayList<StudentCO>());
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ApiOperation("查询用户统计")
|
||||
@PostMapping("/listStudentCount")
|
||||
public MultiResponse<StudentCO> listStudentCount(@RequestBody StudentCountQry qry) {
|
||||
|
|
|
|||
|
|
@ -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<TrainingUserCO>());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 口门使用
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation("根据手机号查询是否培训通过")
|
||||
@PostMapping("/listAllByPhones")
|
||||
public MultiResponse<EduProjectUserDO> listAllByPhones(@RequestBody List<EduProjectUserDO> qry) {
|
||||
return trainingUserService.listAllByPhones(qry);
|
||||
}
|
||||
|
||||
@ApiOperation("详情")
|
||||
@GetMapping("/{id}")
|
||||
public SingleResponse<TrainingUserCO> getInfoById(@PathVariable("id") Long id) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -38,5 +45,25 @@ public class TrainingUserQueryExe {
|
|||
List<TrainingUserCO> examCenterCOS = trainingUserCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
|
||||
public MultiResponse<EduProjectUserDO> listAllByPhonesExecute(List<EduProjectUserDO> qry) {
|
||||
List<String> phones = qry.stream().map(EduProjectUserDO::getPhone).collect(Collectors.toList());
|
||||
Map<String, Object> params = new HashMap<String, Object>();
|
||||
params.put("phones", phones);
|
||||
List<TrainingUserDO> list = trainingUserRepository.listAllByPhones(params);
|
||||
Map<String, TrainingUserDO> 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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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<EduProjectUserDO> listAllByPhones(List<EduProjectUserDO> qry) {
|
||||
return trainingUserQueryExe.listAllByPhonesExecute(qry);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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<EduProjectUserDO> listAllByPhones(List<EduProjectUserDO> qry);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -16,5 +16,6 @@ public class FileUrlConfig {
|
|||
}
|
||||
public String getPrefixUrl() {
|
||||
return "http://192.168.192.201:8991/file/uploadFiles2/";
|
||||
// return prefixUrl;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<String> phones;
|
||||
}
|
||||
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<TrainingUserDO> {
|
||||
void updateTime(@Param("params") Map<String, Object> params);
|
||||
|
||||
List<TrainingUserDO> listAllByPhones(@Param("params") Map<String,Object> params);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -43,5 +43,10 @@ public class TrainingUserRepositoryImpl extends BaseRepositoryImpl<TrainingUserM
|
|||
Map<String, Object> params = PageQueryHelper.toHashMap(trainingUserE);
|
||||
trainingUserMapper.updateTime(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TrainingUserDO> listAllByPhones(Map<String, Object> params) {
|
||||
return trainingUserMapper.listAllByPhones(params);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,5 +17,8 @@ public interface TrainingUserRepository extends BaseRepository<TrainingUserDO> {
|
|||
PageResponse<TrainingUserDO> listPage(Map<String,Object> params);
|
||||
|
||||
void updateTime(TrainingUserE trainingUserE);
|
||||
|
||||
|
||||
List<TrainingUserDO> listAllByPhones(Map<String, Object> params);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -14,5 +14,29 @@
|
|||
and ( end_time is null or end_time < #{params.endTime})
|
||||
</where>
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
<select id="listAllByPhones" resultType="com.zcloud.edu.persistence.dataobject.TrainingUserDO">
|
||||
|
||||
select
|
||||
phone,
|
||||
start_time,
|
||||
end_time,
|
||||
case when start_time < now() and end_time > now() then 1 else 0 end stateFlag
|
||||
from
|
||||
training_user
|
||||
<where>
|
||||
delete_enum = 'false'
|
||||
<if test="params.phones != null">
|
||||
and phone in
|
||||
<foreach item="phone" collection="params.phones" open="(" separator="," close=")">
|
||||
#{phone}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue