Commit 21743d5b by YANGYANG

用户管理 初版提交

parent 9fffc404
package com.founder.commonutils.config;
import com.baomidou.mybatisplus.core.injector.ISqlInjector;
import com.baomidou.mybatisplus.extension.injector.LogicSqlInjector;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MybatisPlusConfig {
/**
* 逻辑删除插件
*/
@Bean
public ISqlInjector sqlInjector() {
return new LogicSqlInjector();
}
/**
* 分页插件
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
package com.founder.commonutils.zdryEntity;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.stereotype.Component;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
*
* </p>
*
* @author yangyang
* @since 2021-05-30
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="Users对象", description="")
public class Users implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "姓名")
private String xm;
@ApiModelProperty(value = "性别 1男 2女 0未知")
private Integer xb;
@ApiModelProperty(value = "家庭住址")
private String jtZz;
@ApiModelProperty(value = "是否有前科 1是 0否")
private Integer sfyQk;
@ApiModelProperty(value = "现住址")
private String xzz;
@ApiModelProperty(value = "病史")
private String bs;
@ApiModelProperty(value = "病情等级 1低 2中 3高 4极高")
private Integer bqDj;
@ApiModelProperty(value = "监护人1姓名")
private String jhr1Xm;
@ApiModelProperty(value = "监护人1关系")
private String jhr1Gx;
@ApiModelProperty(value = "监护人1联系电话")
private String jhr1Lxdh;
@ApiModelProperty(value = "监护人1紧急电话")
private String jhr1Jjdh;
@ApiModelProperty(value = "监护人2姓名")
private String jhr2Xm;
@ApiModelProperty(value = "监护人2关系")
private String jhr2Gx;
@ApiModelProperty(value = "监护人2联系电话")
private String jhr2Lxdh;
@ApiModelProperty(value = "监护人2紧急电话")
private String jhr2Jjdh;
@ApiModelProperty(value = "设备IMEI")
@TableId(value = "sb_imei", type = IdType.ID_WORKER_STR)
private String sbImei;
@ApiModelProperty(value = "设备型号")
private String sbXh;
@ApiModelProperty(value = "登记时间")
@TableField(fill = FieldFill.INSERT)
private Date djsj;
@ApiModelProperty(value = "改写时间")
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date gxsj;
@ApiModelProperty(value = "信息删除判断标志 1删除 0未删除")
private Integer xxscPdbz;
}
......@@ -11,12 +11,13 @@ public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
//属性名称,不是字段名称
this.setFieldValByName("gmtCreate", new Date(), metaObject);
this.setFieldValByName("gmtModified", new Date(), metaObject);
this.setFieldValByName("djsj", new Date(), metaObject);
this.setFieldValByName("gxsj", new Date(), metaObject);
this.setFieldValByName("xxscPdbz", 0, metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
this.setFieldValByName("gmtModified", new Date(), metaObject);
this.setFieldValByName("gxsj", new Date(), metaObject);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>service</artifactId>
<groupId>com.founder</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>zdry</artifactId>
<build>
<finalName>zdry</finalName>
</build>
</project>
\ No newline at end of file
package com.founder.zdry;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
@ComponentScan(basePackages = {"com.founder"})
@EnableDiscoveryClient
public class ZdryApplication {
public static void main(String[] args) {
SpringApplication.run(ZdryApplication.class, args);
}
}
package com.founder.zdry.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.founder.commonutils.publicEntity.MapRestResult;
import com.founder.commonutils.publicEntity.ResultCode;
import com.founder.commonutils.zdryEntity.Users;
import com.founder.zdry.service.UsersService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* <p>
* 前端控制器
* </p>
*
* @author yangyang
* @since 2021-05-30
*/
@RestController
@Api(tags = "用户管理")
@RequestMapping("/users")
public class UsersController {
@Autowired
private UsersService usersService;
@ApiOperation(value = "分页用户列表")
@GetMapping("userPageList/{page}/{limit}")
public MapRestResult userPageList(
@ApiParam(name = "page", value = "当前页码", required = true)
@PathVariable Long page,
@ApiParam(name = "limit", value = "每页记录数", required = true)
@PathVariable Long limit,
@ApiParam(name = "xm", value = "姓名")
@RequestParam(required = false) String xm,
@ApiParam(name = "bs", value = "病史", required = false)
@RequestParam(required = false) String bs,
@ApiParam(name = "sbimei", value = "设备IMEI", required = false)
@RequestParam(required = false) String sbimei,
@ApiParam(name = "bqdj", value = "病情等级", required = false)
@RequestParam(required = false) String bqdj){
Page<Users> pageParam = new Page<>(page, limit);
QueryWrapper<Users> wrapper = new QueryWrapper<>();
if(StringUtils.isNotBlank(xm)){
wrapper.like("xm", xm);
}
if(StringUtils.isNotBlank(bs)){
wrapper.like("bs", bs);
}
if(StringUtils.isNotBlank(sbimei)){
wrapper.like("sb_imei", sbimei);
}
if(StringUtils.isNotBlank(bqdj)){
wrapper.eq("bq_dj", bqdj);
}
wrapper.eq("xxsc_pdbz", "0");
wrapper.orderByAsc("djsj");
usersService.page(pageParam, wrapper);
List<Users> records = pageParam.getRecords();
long total = pageParam.getTotal();
return MapRestResult.build(ResultCode.SUCCESS,"成功获取用户列表信息",total,records);
}
@ApiOperation(value = "根据设备IMEI查询用户信息")
@GetMapping("getUserBySbImei/{sbimei}")
public MapRestResult getById(
@ApiParam(name = "sbimei", value = "设备IMEI", required = true)
@PathVariable String sbimei){
Users users = usersService.getById(sbimei);
return MapRestResult.build(ResultCode.SUCCESS,"成功获取用户信息","1",users);
}
@ApiOperation(value = "新增用户")
@PostMapping("/saveUsers")
public MapRestResult saveUsers(@ApiParam(name = "users", value = "用户对象", required = true)
@RequestBody Users users) {
boolean flag = usersService.save(users);
if(flag){
return MapRestResult.build(ResultCode.SUCCESS,"成功保存用户信息","1");
}else{
return MapRestResult.build(ResultCode.ERROR,"保存用户信息失败","1");
}
}
@ApiOperation(value = "根据设备IMEI修改用户信息")
@PostMapping("/updateUsersBySbImei")
public MapRestResult savePermission(@ApiParam(name = "users", value = "用户对象", required = true)
@RequestBody Users users) {
boolean flag = usersService.updateById(users);
if(flag){
return MapRestResult.build(ResultCode.SUCCESS,"成功修改用户信息","1");
}else{
return MapRestResult.build(ResultCode.ERROR,"修改用户信息失败","1");
}
}
@ApiOperation(value = "批量删除用户")
@PostMapping("/deleteUsersByIds")
public MapRestResult deleteUsersByIds(@RequestBody String[] sbimei) {
QueryWrapper<Users> wrapper = new QueryWrapper<>();
boolean result = false;
for (String imei : sbimei) {
wrapper.eq("sb_imei",imei);
// 查询
Users user = usersService.getOne(wrapper);
// 修改数据
user.setXxscPdbz(1);
// 执行更新
result = usersService.updateById(user);
}
if(result){
return MapRestResult.build(ResultCode.SUCCESS,"成功删除用户信息","1");
}else{
return MapRestResult.build(ResultCode.ERROR,"删除用户信息失败","1");
}
}
}
package com.founder.zdry.mapper;
import com.founder.commonutils.zdryEntity.Users;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author yangyang
* @since 2021-05-30
*/
@Mapper
public interface UsersMapper extends BaseMapper<Users> {
}
<?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="com.founder.zdry.mapper.UsersMapper">
</mapper>
package com.founder.zdry.service;
import com.founder.commonutils.zdryEntity.Users;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 服务类
* </p>
*
* @author yangyang
* @since 2021-05-30
*/
public interface UsersService extends IService<Users> {
}
package com.founder.zdry.service.impl;
import com.founder.commonutils.zdryEntity.Users;
import com.founder.zdry.mapper.UsersMapper;
import com.founder.zdry.service.UsersService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author yangyang
* @since 2021-05-30
*/
@Service
public class UsersServiceImpl extends ServiceImpl<UsersMapper, Users> implements UsersService {
}
#配置中心地址
spring.cloud.nacos.config.server-addr=47.92.48.137:8848
spring.cloud.nacos.discovery.server-addr=47.92.48.137:8848
#spring.cloud.nacos.config.server-addr=26.3.13.184:8848
#spring.cloud.nacos.discovery.server-addr=26.3.13.184:8848
spring.profiles.active=dev
# 该配置影响统一配置中心中的dataId
spring.application.name=zdry
spring.cloud.nacos.config.namespace=dev
#spring.cloud.nacos.config.ext-config[0].data-id=image.properties
# 开启动态刷新配置,否则配置文件修改,工程无法感知
#spring.cloud.nacos.config.ext-config[0].refresh=true
spring.cloud.nacos.config.shared-dataids=zdrypz.properties
spring.cloud.nacos.config.refreshable-dataids=zdrypz.properties
management.health.elasticsearch.enabled: false
\ No newline at end of file
package com.founder.demo;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.junit.Test;
/**
* @author yangyang
* @since 2021/05/30
*/
public class CodeGenerator {
@Test
public void run() {
// 1、创建代码生成器
AutoGenerator mpg = new AutoGenerator();
// 2、全局配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
gc.setOutputDir("H:\\map-parent\\service\\zdry" + "/src/main/java");//生成路径
gc.setAuthor("yangyang");//作者
gc.setOpen(false); //生成后是否打开资源管理器
gc.setFileOverride(false); //重新生成时文件是否覆盖
//UserServie
gc.setServiceName("%sService"); //去掉Service接口的首字母I
gc.setIdType(IdType.ID_WORKER_STR); //主键策略
gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型
gc.setSwagger2(true);//开启Swagger2模式
mpg.setGlobalConfig(gc);
// 3、数据源配置
DataSourceConfig dsc = new DataSourceConfig();
// dsc.setUrl("jdbc:mysql://47.92.225.109:3900/guli?serverTimezone=GMT%2B8");
// dsc.setDriverName("com.mysql.cj.jdbc.Driver");
// dsc.setUsername("root");
// dsc.setPassword("root");
// dsc.setDbType(DbType.MYSQL);
dsc.setUrl("jdbc:mysql://47.92.225.109:3900/gkpt?useUnicode=true&characterEncoding=utf8&useSSL=false&autoReconnect=true&serverTimezone=UTC");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("root");
dsc.setDbType(DbType.MYSQL);
mpg.setDataSource(dsc);
// 4、包配置
PackageConfig pc = new PackageConfig();
// pc.setModuleName("eszy"); //模块名
//包 com.atguigu.eduservice
// pc.setParent("com.founder");
//包 com.atguigu.eduservice.controller
//pc.setController("controller");
//pc.setEntity("entity");
// pc.setService("service");
// pc.setMapper("mapper");
//mpg.setPackageInfo(pc);
// 5、策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setInclude("users");//生成的表
strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀
strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作
strategy.setRestControllerStyle(true); //restful api风格控制器
strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符
mpg.setStrategy(strategy);
// 6、执行
mpg.execute();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>serviceapi</artifactId>
<groupId>com.founder</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>zdryapi</artifactId>
<build>
<finalName>zdryapi</finalName>
</build>
</project>
\ No newline at end of file
package com.founder.zdryapi;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.web.client.RestTemplate;
@SpringBootApplication
@ComponentScan(basePackages = {"com.founder"})
@EnableDiscoveryClient
public class ZdryApiApplication {
@Autowired
private RestTemplateBuilder restTemplateBuilder;
public static void main(String[] args) {
SpringApplication.run(ZdryApiApplication.class, args);
}
@Bean
public RestTemplate restTemplate(){return restTemplateBuilder.build();}
}
#配置中心地址
spring.cloud.nacos.config.server-addr=47.92.48.137:8848
spring.cloud.nacos.discovery.server-addr=47.92.48.137:8848
#spring.cloud.nacos.config.server-addr=26.3.13.184:8848
#spring.cloud.nacos.discovery.server-addr=26.3.13.184:8848
spring.profiles.active=dev
# 该配置影响统一配置中心中的dataId
spring.application.name=zdryapi
spring.cloud.nacos.config.namespace=dev
#spring.cloud.nacos.config.ext-config[0].data-id=image.properties
# 开启动态刷新配置,否则配置文件修改,工程无法感知
#spring.cloud.nacos.config.ext-config[0].refresh=true
spring.cloud.nacos.config.shared-dataids=zdryapipz.properties
spring.cloud.nacos.config.refreshable-dataids=zdryapipz.properties
management.health.elasticsearch.enabled: false
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment