7 changed files with 365 additions and 0 deletions
@ -0,0 +1,15 @@
@@ -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<TUserForLibrary> { |
||||
IPage<TUserForLibrary> selectList(IPage<TUserForLibrary> page, TUserForLibraryDto.TUserForLibraryDtoParam param); |
||||
} |
||||
|
||||
@ -0,0 +1,21 @@
@@ -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<TUserForLibrary>{ |
||||
|
||||
void addOrUpdateUser(TUserForLibraryDto.TUserForLibraryDtoAdd tUserForLibraryDtoAdd); |
||||
|
||||
void delUser(TUserForLibraryDto.TUserForLibraryDtoDel userForLibraryDtoDel); |
||||
|
||||
IPage<TUserForLibrary> getUserLibraryList(TUserForLibraryDto.TUserForLibraryDtoParam param); |
||||
|
||||
} |
||||
|
||||
@ -0,0 +1,79 @@
@@ -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<TUserForLibraryMapper, TUserForLibrary> 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<TUserForLibrary> getUserLibraryList(TUserForLibraryDto.TUserForLibraryDtoParam param) { |
||||
return this.baseMapper.selectList(new Page<>(param.getCurrent(), param.getSize()), param); |
||||
} |
||||
} |
||||
@ -0,0 +1,44 @@
@@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
<mapper namespace="jnpf.mapper.TUserForLibraryMapper"> |
||||
|
||||
<resultMap type="jnpf.entity.TUserForLibrary" id="TSelectionOrderingBooksMap"> |
||||
<result property="id" column="id" jdbcType="INTEGER"/> |
||||
<result property="userName" column="user_name"/> |
||||
<result property="idNumber" column="id_number"/> |
||||
<result property="userPhone" column="user_phone"/> |
||||
<result property="sex" column="sex"/> |
||||
<result property="inside" column="inside"/> |
||||
<result property="job" column="job"/> |
||||
<result property="address" column="address"/> |
||||
<result property="section" column="section"/> |
||||
<result property="createBy" column="create_by"/> |
||||
<result property="updateBy" column="update_by"/> |
||||
<result property="updateName" column="update_name"/> |
||||
<result property="updateTime" column="update_time"/> |
||||
<result property="delFlag" column="del_flag" jdbcType="VARCHAR"/> |
||||
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> |
||||
<result property="createName" column="create_name" jdbcType="VARCHAR"/> |
||||
</resultMap> |
||||
|
||||
<sql id="Base_Column_List"> |
||||
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 |
||||
</sql> |
||||
<select id="selectList" resultMap="TSelectionOrderingBooksMap"> |
||||
select |
||||
<include refid="Base_Column_List"/> |
||||
from t_user_for_library |
||||
<where> |
||||
<if test="userPhone!='' and userPhone != null"> |
||||
and user_phone like concat('%',#{userPhone},'%') |
||||
</if> |
||||
<if test="userName!='' and userName != null"> |
||||
and user_name like concat('%',#{userName},'%') |
||||
</if> |
||||
and del_flag = 0 |
||||
</where> |
||||
</select> |
||||
|
||||
</mapper> |
||||
@ -0,0 +1,105 @@
@@ -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; |
||||
} |
||||
@ -0,0 +1,35 @@
@@ -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; |
||||
} |
||||
} |
||||
|
||||
} |
||||
@ -0,0 +1,66 @@
@@ -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; |
||||
} |
||||
} |
||||
Loading…
Reference in new issue