dev:人员资质证书接口

main
SondonYong 2025-10-31 16:45:17 +08:00
parent c464ff173b
commit 4747069e77
12 changed files with 76 additions and 11 deletions

View File

@ -54,21 +54,21 @@ public class UserQualificationInfoController {
@ApiOperation("详情") @ApiOperation("详情")
@GetMapping("/getInfoById") @GetMapping("/getInfoById")
public SingleResponse<UserQualificationInfoCO> getInfoById(@RequestParam(value = "id", required = false) String id) { public SingleResponse<UserQualificationInfoCO> getInfoById(@RequestParam(value = "id") String id) {
Long idLong = Long.parseLong(id); Long idLong = Long.parseLong(id);
return SingleResponse.of(new UserQualificationInfoCO()); return userQualificationInfoService.getInfoById(idLong);
} }
@ApiOperation("删除") @ApiOperation("删除")
@GetMapping("/remove") @PutMapping("/remove")
public Response remove(@RequestParam(value = "id", required = false) String id) { public Response remove(@RequestParam(value = "id") String id) {
Long idLong = Long.parseLong(id); Long idLong = Long.parseLong(id);
userQualificationInfoService.remove(idLong); userQualificationInfoService.remove(idLong);
return SingleResponse.buildSuccess(); return SingleResponse.buildSuccess();
} }
@ApiOperation("删除多个") @ApiOperation("删除多个")
@GetMapping("/removeBatch") @PutMapping("/removeBatch")
public Response removeBatch(@Validated @RequestBody UserQualificationInfoRemoveCmd cmd) { public Response removeBatch(@Validated @RequestBody UserQualificationInfoRemoveCmd cmd) {
userQualificationInfoService.removeBatch(cmd.getIds()); userQualificationInfoService.removeBatch(cmd.getIds());
return SingleResponse.buildSuccess(); return SingleResponse.buildSuccess();

View File

@ -7,7 +7,9 @@ import com.zcloud.basic.info.persistence.dataobject.UserQualificationInfoDO;
import com.zcloud.basic.info.persistence.repository.UserQualificationInfoRepository; import com.zcloud.basic.info.persistence.repository.UserQualificationInfoRepository;
import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List; import java.util.List;
@ -35,8 +37,19 @@ public class UserQualificationInfoQueryExe {
public PageResponse<UserQualificationInfoCO> execute(UserQualificationInfoPageQry userQualificationInfoPageQry) { public PageResponse<UserQualificationInfoCO> execute(UserQualificationInfoPageQry userQualificationInfoPageQry) {
Map<String,Object> params = PageQueryHelper.toHashMap(userQualificationInfoPageQry); Map<String,Object> params = PageQueryHelper.toHashMap(userQualificationInfoPageQry);
PageResponse<UserQualificationInfoDO> pageResponse = userQualificationInfoRepository.listPage(params); PageResponse<UserQualificationInfoDO> pageResponse = userQualificationInfoRepository.listPage(params);
List<UserQualificationInfoCO> examCenterCOS = userQualificationInfoCoConvertor.converDOsToCOs(pageResponse.getData()); List<UserQualificationInfoCO> examCenterCOS = userQualificationInfoCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); //TODO 获取图片url信息
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
public SingleResponse<UserQualificationInfoCO> execute(Long id) {
SingleResponse<UserQualificationInfoDO> userQualificationInfoDO = userQualificationInfoRepository.getInfoById(id);
SingleResponse<UserQualificationInfoCO> userQualificationInfoCO = new SingleResponse<>();
BeanUtils.copyProperties(userQualificationInfoDO,userQualificationInfoCO);
//TODO 获取图片url信息
return userQualificationInfoCO;
} }
} }

View File

@ -34,6 +34,11 @@ public class UserQualificationInfoServiceImpl implements UserQualificationInfoSe
return userQualificationInfoQueryExe.execute(qry); return userQualificationInfoQueryExe.execute(qry);
} }
@Override
public SingleResponse<UserQualificationInfoCO> getInfoById(Long id) {
return userQualificationInfoQueryExe.execute(id);
}
@Override @Override
public SingleResponse add(UserQualificationInfoAddCmd cmd) { public SingleResponse add(UserQualificationInfoAddCmd cmd) {

View File

@ -16,6 +16,8 @@ import com.alibaba.cola.dto.SingleResponse;
public interface UserQualificationInfoServiceI { public interface UserQualificationInfoServiceI {
PageResponse<UserQualificationInfoCO> listPage(UserQualificationInfoPageQry qry); PageResponse<UserQualificationInfoCO> listPage(UserQualificationInfoPageQry qry);
SingleResponse<UserQualificationInfoCO> getInfoById(Long id);
SingleResponse<UserQualificationInfoCO> add(UserQualificationInfoAddCmd cmd); SingleResponse<UserQualificationInfoCO> add(UserQualificationInfoAddCmd cmd);
void edit(UserQualificationInfoUpdateCmd cmd); void edit(UserQualificationInfoUpdateCmd cmd);

View File

@ -20,6 +20,11 @@ import java.util.Date;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class UserQualificationInfoAddCmd extends Command { public class UserQualificationInfoAddCmd extends Command {
@ApiModelProperty(value = "人员资质id", name = "userQualificationinfoId", required = true)
@NotEmpty(message = "人员资质id")
private String userQualificationinfoId;
@ApiModelProperty(value = "企业id", name = "corpinfoId", required = true) @ApiModelProperty(value = "企业id", name = "corpinfoId", required = true)
@NotNull(message = "企业id不能为空") @NotNull(message = "企业id不能为空")
private Long corpinfoId; private Long corpinfoId;
@ -34,7 +39,7 @@ public class UserQualificationInfoAddCmd extends Command {
@ApiModelProperty(value = "人员资质证书有效期", name = "validityTime", required = true) @ApiModelProperty(value = "人员资质证书有效期", name = "validityTime", required = true)
@NotNull(message = "人员资质证书有效期不能为空") @NotNull(message = "人员资质证书有效期不能为空")
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")
private Date validityTime; private Date validityTime;
@ApiModelProperty(value = "证书编号", name = "certificateNo", required = true) @ApiModelProperty(value = "证书编号", name = "certificateNo", required = true)

View File

@ -1,6 +1,7 @@
package com.zcloud.basic.info.dto; package com.zcloud.basic.info.dto;
import com.alibaba.cola.dto.PageQuery; import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -23,6 +24,19 @@ public class UserQualificationInfoPageQry extends PageQuery {
* - `le`: * - `le`:
* - `ne`: SQL!= * - `ne`: SQL!=
*/ */
private String likeUserQualificationinfoId; @ApiModelProperty(value = "企业id", name = "eqCorpinfoId")
private Long eqCorpinfoId;
@ApiModelProperty(value = "用户id", name = "eqUserId")
private Long eqUserId;
@ApiModelProperty(value = "证书名称编号模糊查询", name = "keyWords")
private String keyWords;
@ApiModelProperty(value = "结束时间", name = "startDate")
private String leValidityTime;
@ApiModelProperty(value = "开始时间", name = "endDate")
private String geValidityTime;
} }

View File

@ -37,7 +37,7 @@ public class UserQualificationInfoUpdateCmd extends Command {
private String qualificationName; private String qualificationName;
@ApiModelProperty(value = "人员资质证书有效期", name = "validityTime", required = true) @ApiModelProperty(value = "人员资质证书有效期", name = "validityTime", required = true)
@NotNull(message = "人员资质证书有效期不能为空") @NotNull(message = "人员资质证书有效期不能为空")
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")
private Date validityTime; private Date validityTime;
@ApiModelProperty(value = "证书编号", name = "certificateNo", required = true) @ApiModelProperty(value = "证书编号", name = "certificateNo", required = true)
@NotEmpty(message = "证书编号不能为空") @NotEmpty(message = "证书编号不能为空")

View File

@ -1,6 +1,7 @@
package com.zcloud.basic.info.dto.clientobject; package com.zcloud.basic.info.dto.clientobject;
import com.alibaba.cola.dto.ClientObject; import com.alibaba.cola.dto.ClientObject;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;

View File

@ -1,7 +1,9 @@
package com.zcloud.basic.info.domain.model; package com.zcloud.basic.info.domain.model;
import com.alibaba.cola.domain.Entity;
import com.jjb.saas.framework.domain.model.BaseE; import com.jjb.saas.framework.domain.model.BaseE;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
@ -12,6 +14,8 @@ import java.util.Date;
* @Date 2025-10-31 09:50:29 * @Date 2025-10-31 09:50:29
*/ */
@Data @Data
@Entity
@EqualsAndHashCode(callSuper = true)
public class UserQualificationInfoE extends BaseE { public class UserQualificationInfoE extends BaseE {
//主键 //主键
private Long id; private Long id;
@ -27,6 +31,8 @@ public class UserQualificationInfoE extends BaseE {
private Date validityTime; private Date validityTime;
//证书编号 //证书编号
private String certificateNo; private String certificateNo;
//是否删除 //是否删除
private String deleteEnum; private String deleteEnum;
//租户id //租户id

View File

@ -4,7 +4,9 @@ import com.zcloud.basic.info.domain.gateway.UserQualificationInfoGateway;
import com.zcloud.basic.info.domain.model.UserQualificationInfoE; import com.zcloud.basic.info.domain.model.UserQualificationInfoE;
import com.zcloud.basic.info.persistence.dataobject.UserQualificationInfoDO; import com.zcloud.basic.info.persistence.dataobject.UserQualificationInfoDO;
import com.zcloud.basic.info.persistence.repository.UserQualificationInfoRepository; import com.zcloud.basic.info.persistence.repository.UserQualificationInfoRepository;
import com.zcloud.gbscommon.utils.UuidUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -24,6 +26,9 @@ public class UserQualificationInfoGatewayImpl implements UserQualificationInfoGa
public Boolean add(UserQualificationInfoE userQualificationInfoE) { public Boolean add(UserQualificationInfoE userQualificationInfoE) {
UserQualificationInfoDO d = new UserQualificationInfoDO(); UserQualificationInfoDO d = new UserQualificationInfoDO();
BeanUtils.copyProperties(userQualificationInfoE, d); BeanUtils.copyProperties(userQualificationInfoE, d);
if(StringUtils.isEmpty(d.getUserQualificationinfoId())){
d.setUserQualificationinfoId(UuidUtil.get32UUID());
}
userQualificationInfoRepository.save(d); userQualificationInfoRepository.save(d);
return true; return true;
} }

View File

@ -1,5 +1,6 @@
package com.zcloud.basic.info.persistence.repository; package com.zcloud.basic.info.persistence.repository;
import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.basic.info.persistence.dataobject.UserQualificationInfoDO; import com.zcloud.basic.info.persistence.dataobject.UserQualificationInfoDO;
import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository; import com.jjb.saas.framework.repository.repo.BaseRepository;
@ -12,5 +13,7 @@ import java.util.Map;
*/ */
public interface UserQualificationInfoRepository extends BaseRepository<UserQualificationInfoDO> { public interface UserQualificationInfoRepository extends BaseRepository<UserQualificationInfoDO> {
PageResponse<UserQualificationInfoDO> listPage(Map<String,Object> params); PageResponse<UserQualificationInfoDO> listPage(Map<String,Object> params);
SingleResponse<UserQualificationInfoDO> getInfoById(Long id);
} }

View File

@ -1,5 +1,6 @@
package com.zcloud.basic.info.persistence.repository.impl; package com.zcloud.basic.info.persistence.repository.impl;
import com.alibaba.cola.dto.SingleResponse;
import com.jjb.saas.framework.repository.common.PageHelper; import com.jjb.saas.framework.repository.common.PageHelper;
import com.zcloud.basic.info.persistence.dataobject.UserQualificationInfoDO; import com.zcloud.basic.info.persistence.dataobject.UserQualificationInfoDO;
import com.zcloud.basic.info.persistence.mapper.UserQualificationInfoMapper; import com.zcloud.basic.info.persistence.mapper.UserQualificationInfoMapper;
@ -10,6 +11,7 @@ import com.zcloud.gbscommon.utils.Query;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import com.zcloud.gbscommon.utils.Tools;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Map; import java.util.Map;
@ -26,12 +28,21 @@ public class UserQualificationInfoRepositoryImpl extends BaseRepositoryImpl<User
@Override @Override
public PageResponse<UserQualificationInfoDO> listPage(Map<String,Object> params) { public PageResponse<UserQualificationInfoDO> listPage(Map<String,Object> params) {
IPage<UserQualificationInfoDO> iPage = new Query<UserQualificationInfoDO>().getPage(params); Object keyWords = params.get("keyWords");
IPage<UserQualificationInfoDO> iPage = new Query<UserQualificationInfoDO>().getPage(params);
QueryWrapper<UserQualificationInfoDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<UserQualificationInfoDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params); queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
if (keyWords != null && !Tools.isEmpty(keyWords.toString())) {
queryWrapper.and(i -> i.like("qualification_name", keyWords).or().like("certificate_no", keyWords));
}
queryWrapper.orderByDesc("create_time"); queryWrapper.orderByDesc("create_time");
IPage<UserQualificationInfoDO> result = userQualificationInfoMapper.selectPage(iPage, queryWrapper); IPage<UserQualificationInfoDO> result = userQualificationInfoMapper.selectPage(iPage, queryWrapper);
return PageHelper.pageToResponse(result, result.getRecords()); return PageHelper.pageToResponse(result, result.getRecords());
} }
@Override
public SingleResponse<UserQualificationInfoDO> getInfoById(Long id) {
return SingleResponse.of(userQualificationInfoMapper.selectById(id));
}
} }