From 9495c58cfab1d2071b28f154019e4e091aefe6d7 Mon Sep 17 00:00:00 2001 From: xbw Date: Tue, 29 Oct 2024 10:18:45 +0800 Subject: [PATCH] =?UTF-8?q?1=20=E8=B5=A0=E9=80=81=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jnpf/mapper/TUserForLibraryMapper.java | 15 +++ .../jnpf/service/TUserForLibraryService.java | 21 ++++ .../impl/TUserForLibraryServiceImpl.java | 79 +++++++++++++ .../mapper/TUserForLibraryMapper.xml | 44 ++++++++ .../java/jnpf/entity/TUserForLibrary.java | 105 ++++++++++++++++++ .../java/jnpf/enump/TUserForLibraryEnum.java | 35 ++++++ .../jnpf/model/dto/TUserForLibraryDto.java | 66 +++++++++++ 7 files changed, 365 insertions(+) create mode 100644 jnpf-library/jnpf-library-biz/src/main/java/jnpf/mapper/TUserForLibraryMapper.java create mode 100644 jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TUserForLibraryService.java create mode 100644 jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TUserForLibraryServiceImpl.java create mode 100644 jnpf-library/jnpf-library-biz/src/main/resources/mapper/TUserForLibraryMapper.xml create mode 100644 jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TUserForLibrary.java create mode 100644 jnpf-library/jnpf-library-entity/src/main/java/jnpf/enump/TUserForLibraryEnum.java create mode 100644 jnpf-library/jnpf-library-entity/src/main/java/jnpf/model/dto/TUserForLibraryDto.java diff --git a/jnpf-library/jnpf-library-biz/src/main/java/jnpf/mapper/TUserForLibraryMapper.java b/jnpf-library/jnpf-library-biz/src/main/java/jnpf/mapper/TUserForLibraryMapper.java new file mode 100644 index 0000000..edf21eb --- /dev/null +++ b/jnpf-library/jnpf-library-biz/src/main/java/jnpf/mapper/TUserForLibraryMapper.java @@ -0,0 +1,15 @@ +package jnpf.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import jnpf.entity.TUserForLibrary; +import jnpf.model.dto.TUserForLibraryDto; + + +/** + * @author xbw + */ +public interface TUserForLibraryMapper extends BaseMapper { + IPage selectList(IPage page, TUserForLibraryDto.TUserForLibraryDtoParam param); +} + diff --git a/jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TUserForLibraryService.java b/jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TUserForLibraryService.java new file mode 100644 index 0000000..bde0a87 --- /dev/null +++ b/jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TUserForLibraryService.java @@ -0,0 +1,21 @@ +package jnpf.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import jnpf.entity.TUserForLibrary; +import jnpf.model.dto.TUserForLibraryDto; + + +/** + * @author xbw + */ +public interface TUserForLibraryService extends IService{ + + void addOrUpdateUser(TUserForLibraryDto.TUserForLibraryDtoAdd tUserForLibraryDtoAdd); + + void delUser(TUserForLibraryDto.TUserForLibraryDtoDel userForLibraryDtoDel); + + IPage getUserLibraryList(TUserForLibraryDto.TUserForLibraryDtoParam param); + +} + diff --git a/jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TUserForLibraryServiceImpl.java b/jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TUserForLibraryServiceImpl.java new file mode 100644 index 0000000..63a465f --- /dev/null +++ b/jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TUserForLibraryServiceImpl.java @@ -0,0 +1,79 @@ +package jnpf.service.impl; + +import cn.hutool.core.util.PhoneUtil; +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jnpf.entity.TUserForLibrary; +import jnpf.enump.TUserForLibraryEnum; +import jnpf.exception.DataException; +import jnpf.mapper.TUserForLibraryMapper; +import jnpf.model.dto.TUserForLibraryDto; +import jnpf.service.TUserForLibraryService; +import jnpf.util.UserProvider; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; + + +/** + * @author xbw + */ +@Service("iUserForLibraryService") +@DS("userForLibrary") +public class TUserForLibraryServiceImpl extends ServiceImpl implements TUserForLibraryService { + + + @Override + public void addOrUpdateUser(TUserForLibraryDto.TUserForLibraryDtoAdd tUserForLibraryDtoAdd) { + if (StringUtils.isBlank(tUserForLibraryDtoAdd.getUserName())) { + throw new DataException("用户姓名不正确"); + } + if (StringUtils.isBlank(tUserForLibraryDtoAdd.getUserPhone()) || PhoneUtil.isMobile(tUserForLibraryDtoAdd.getUserPhone())) { + throw new DataException("用户号码不正确"); + } + if (tUserForLibraryDtoAdd.getSex() == null) { + throw new DataException("用户性别不正确"); + } + if (TUserForLibraryEnum.InsideEnum.getEnumByCode(tUserForLibraryDtoAdd.getInside()) == null) { + throw new DataException("用户类型不正确"); + } + TUserForLibrary tUserForLibrary = new TUserForLibrary(); + if (tUserForLibraryDtoAdd.getId() == null) { + // 外部用户 + BeanUtils.copyProperties(tUserForLibraryDtoAdd, tUserForLibrary); + tUserForLibrary.setCreateTime(LocalDateTime.now()); + tUserForLibrary.setUpdateTime(LocalDateTime.now()); + tUserForLibrary.setCreateName(UserProvider.getUser().getUserName()); + tUserForLibrary.setCreateBy(UserProvider.getUser().getUserId()); + this.save(tUserForLibrary); + return; + } + + BeanUtils.copyProperties(tUserForLibraryDtoAdd, tUserForLibrary); + tUserForLibrary.setUpdateTime(LocalDateTime.now()); + tUserForLibrary.setUpdateBy(UserProvider.getUser().getUserName()); + tUserForLibrary.setUpdateName(UserProvider.getUser().getUserId()); + this.updateById(tUserForLibrary); + + } + + @Override + public void delUser(TUserForLibraryDto.TUserForLibraryDtoDel userForLibraryDtoDel) { + if (userForLibraryDtoDel.getId() == null) { + throw new DataException("请传入用户id"); + } + + TUserForLibrary byId = this.getById(userForLibraryDtoDel.getId()); + byId.setDelFlag(1); + this.updateById(byId); + } + + @Override + public IPage getUserLibraryList(TUserForLibraryDto.TUserForLibraryDtoParam param) { + return this.baseMapper.selectList(new Page<>(param.getCurrent(), param.getSize()), param); + } +} diff --git a/jnpf-library/jnpf-library-biz/src/main/resources/mapper/TUserForLibraryMapper.xml b/jnpf-library/jnpf-library-biz/src/main/resources/mapper/TUserForLibraryMapper.xml new file mode 100644 index 0000000..43a24bb --- /dev/null +++ b/jnpf-library/jnpf-library-biz/src/main/resources/mapper/TUserForLibraryMapper.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + id,user_name,id_number,user_phone,sex,inside,job,address,section, + create_by,update_by,update_name,update_time,del_flag, + create_time,create_name + + + + diff --git a/jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TUserForLibrary.java b/jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TUserForLibrary.java new file mode 100644 index 0000000..81717f4 --- /dev/null +++ b/jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TUserForLibrary.java @@ -0,0 +1,105 @@ +package jnpf.entity; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * @author xbw + */ +@Data +@TableName("t_user_for_library") +public class TUserForLibrary implements Serializable { + private static final long serialVersionUID = -65167281438767901L; + + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + @ApiModelProperty(value = "用户姓名") + @TableField(value = "user_name") + private String userName; + + @ApiModelProperty(value = "身份证号码") + @TableField(value = "id_number") + private String idNumber; + + + @ApiModelProperty(value = "用户手机号") + @TableField(value = "user_phone") + private String userPhone; + + @ApiModelProperty(value = "0-女 1-男") + @TableField(value = "sex") + private Integer sex; + + @ApiModelProperty(value = "0-内部 1-外部用户") + @TableField(value = "inside") + private Integer inside; + + @ApiModelProperty(value = "职务") + @TableField(value = "job") + private String job; + + @ApiModelProperty(value = "地址") + @TableField(value = "address") + private String address; + + @ApiModelProperty(value = "部门") + @TableField(value = "section") + private String section; + + + @ApiModelProperty(value = "删除标记0-正常 1-删除") + @TableField(value = "del_flag") + @TableLogic + private Integer delFlag; + + @ApiModelProperty(value = "创建者id") + @TableField(value = "create_by") + private String createBy; + + @ApiModelProperty(value = "创建者名称") + @TableField(value = "create_name") + private String createName; + + @ApiModelProperty(value = "创建时间") + @TableField(value = "create_time",fill = FieldFill.INSERT) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @ApiModelProperty(value = "更新者id") + @TableField(value = "update_by") + private String updateBy; + + @ApiModelProperty(value = "更新者名称") + @TableField(value = "update_name") + private String updateName; + + @ApiModelProperty(value = "修改时间") + @TableField(value = "update_time",fill = FieldFill.INSERT_UPDATE) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + @ApiModelProperty(value = "创建人单位名称") + @TableField(value = "create_corp_name") + private String createCorpName; + + @ApiModelProperty(value = "创建人单位id") + @TableField(value = "create_corp_id") + private String createCorpId; + + @ApiModelProperty(value = "创建人部门名称") + @TableField(value = "create_dept_name") + private String createDeptName; + + @ApiModelProperty(value = "创建人部门id") + @TableField(value = "create_dept_id") + private String createDeptId; +} diff --git a/jnpf-library/jnpf-library-entity/src/main/java/jnpf/enump/TUserForLibraryEnum.java b/jnpf-library/jnpf-library-entity/src/main/java/jnpf/enump/TUserForLibraryEnum.java new file mode 100644 index 0000000..4b6e86b --- /dev/null +++ b/jnpf-library/jnpf-library-entity/src/main/java/jnpf/enump/TUserForLibraryEnum.java @@ -0,0 +1,35 @@ +package jnpf.enump; + +import lombok.Getter; + +/** + * @author xbw + */ +public class TUserForLibraryEnum { + + @Getter + public enum InsideEnum { + INSIDE(0, "内部用户"), + OUTSIDE(1, "外部用户"); + + ; + + private final Integer code; + private final String describe; + + InsideEnum(Integer code, String describe) { + this.code = code; + this.describe = describe; + } + + public static InsideEnum getEnumByCode(Integer type) { + for (InsideEnum enm : InsideEnum.values()) { + if (enm.getCode().equals(type)) { + return enm; + } + } + return null; + } + } + +} diff --git a/jnpf-library/jnpf-library-entity/src/main/java/jnpf/model/dto/TUserForLibraryDto.java b/jnpf-library/jnpf-library-entity/src/main/java/jnpf/model/dto/TUserForLibraryDto.java new file mode 100644 index 0000000..b2542e3 --- /dev/null +++ b/jnpf-library/jnpf-library-entity/src/main/java/jnpf/model/dto/TUserForLibraryDto.java @@ -0,0 +1,66 @@ +package jnpf.model.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author xbw + */ +public class TUserForLibraryDto { + + private TUserForLibraryDto(){} + + @Data + public static class TUserForLibraryDtoParam extends BasePageParam{ + @ApiModelProperty(value = "用户手机号") + private String userPhone; + + @ApiModelProperty(value = "用户姓名") + private String userName; + } + + @Data + public static class BasePageParam { + @ApiModelProperty("当前页") + private Integer current = 1; + @ApiModelProperty("页大小") + private Integer size = 10; + } + + @Data + public static class TUserForLibraryDtoDel { + @ApiModelProperty(value = "用户id") + private Long id; + } + + @Data + public static class TUserForLibraryDtoAdd { + @ApiModelProperty(value = "用户id 新增不传") + private Long id; + + @ApiModelProperty(value = "用户姓名") + private String userName; + + @ApiModelProperty(value = "身份证号码") + private String idNumber; + + + @ApiModelProperty(value = "用户手机号") + private String userPhone; + + @ApiModelProperty(value = "0-女 1-男") + private Integer sex; + + @ApiModelProperty(value = "职务") + private String job; + + @ApiModelProperty(value = "地址") + private String address; + + @ApiModelProperty(value = "部门") + private String section; + + @ApiModelProperty(value = "0-内部用户 1-外部用户") + private Integer inside; + } +}