From ca4e829a60e74774f6ef87fc62d23094aadb9859 Mon Sep 17 00:00:00 2001
From: 李林 <z1292839451@163.com>
Date: 星期六, 23 十二月 2023 23:09:19 +0800
Subject: [PATCH] 第一阶段
---
data-server/src/main/java/com/yuanchu/mom/Main.java | 7
data-server/src/main/java/com/yuanchu/mom/dto/DataReportingPageDto.java | 23 +
user-server/src/main/java/com/yuanchu/mom/mapper/UserMapper.java | 8
framework/src/main/java/com/yuanchu/mom/common/PrintChina.java | 59 +++
user-server/src/main/java/com/yuanchu/mom/dto/UserPageDto.java | 27 +
pom.xml | 19 +
user-server/src/main/resources/mapper/RoleMapper.xml | 5
data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java | 45 +++
user-server/src/main/java/com/yuanchu/mom/pojo/User.java | 69 ++++
framework/src/main/java/com/yuanchu/mom/common/OrderBy.java | 22 +
user-server/src/main/java/com/yuanchu/mom/mapper/RoleMapper.java | 12
framework/src/main/java/com/yuanchu/mom/annotation/ValueTableShow.java | 11
framework/src/main/java/com/yuanchu/mom/mybatis_config/MyMetaObjectHandler.java | 20 +
framework/src/main/java/com/yuanchu/mom/utils/QueryWrappers.java | 68 ++++
user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java | 46 +++
user-server/src/main/java/com/yuanchu/mom/service/imp/UserServiceImp.java | 36 ++
user-server/src/main/java/com/yuanchu/mom/service/UserService.java | 9
framework/src/main/java/com/yuanchu/mom/handler/GlobalExceptionHandler.java | 44 +-
framework/pom.xml | 1
user-server/src/main/java/com/yuanchu/mom/service/RoleService.java | 19 +
system-run/src/main/resources/application-prod.yml | 2
data-server/pom.xml | 26 +
user-server/src/main/java/com/yuanchu/mom/pojo/Role.java | 49 +++
framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java | 2
user-server/src/main/resources/mapper/UserMapper.xml | 12
system-run/src/main/resources/application-dev.yml | 14
user-server/src/main/java/com/yuanchu/mom/controller/UserController.java | 34 ++
user-server/src/main/java/com/yuanchu/mom/controller/RoleController.java | 50 +++
framework/src/main/java/com/yuanchu/mom/utils/ServletUtils.java | 103 ++++++
system-run/pom.xml | 6
30 files changed, 803 insertions(+), 45 deletions(-)
diff --git a/data-server/pom.xml b/data-server/pom.xml
new file mode 100644
index 0000000..f0dfcfb
--- /dev/null
+++ b/data-server/pom.xml
@@ -0,0 +1,26 @@
+<?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>mom</artifactId>
+ <groupId>com.yuanchu.mom</groupId>
+ <version>1.0.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>data-server</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ <name>data-server</name>
+ <description>data-server</description>
+ <packaging>jar</packaging>
+
+ <dependencies>
+ <dependency>
+ <groupId>com.yuanchu.mom</groupId>
+ <artifactId>framework</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/data-server/src/main/java/com/yuanchu/mom/Main.java b/data-server/src/main/java/com/yuanchu/mom/Main.java
new file mode 100644
index 0000000..de0dfc5
--- /dev/null
+++ b/data-server/src/main/java/com/yuanchu/mom/Main.java
@@ -0,0 +1,7 @@
+package com.yuanchu.mom;
+
+public class Main {
+ public static void main(String[] args) {
+ System.out.println("Hello world!");
+ }
+}
\ No newline at end of file
diff --git a/data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java b/data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java
new file mode 100644
index 0000000..f638998
--- /dev/null
+++ b/data-server/src/main/java/com/yuanchu/mom/controller/DataReportingController.java
@@ -0,0 +1,45 @@
+package com.yuanchu.mom.controller;
+
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.dto.DataReportingPageDto;
+import com.yuanchu.mom.pojo.DataReporting;
+import com.yuanchu.mom.service.DataReportingService;
+import com.yuanchu.mom.utils.JackSonUtil;
+import com.yuanchu.mom.vo.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.math.BigDecimal;
+import java.util.Map;
+
+@RequestMapping("/dataReporting")
+@RestController
+@Api(tags = "鏁版嵁涓婃姤妯″潡")
+@AllArgsConstructor
+public class DataReportingController {
+
+ private DataReportingService dataReportingService;
+
+ @ApiOperation(value = "鑾峰彇鏁版嵁涓婃姤鍒楄〃")
+ @PostMapping("/selectDataReportingList")
+ public Result selectDataReportingList(@RequestBody Map<String, Object> data) {
+ Page page = JSON.parseObject(JSON.toJSONString(data.get("page")), Page.class);
+ DataReportingPageDto dataReportingPageDto = JSON.parseObject(JSON.toJSONString(data.get("entity")), DataReportingPageDto.class);
+ return Result.success(dataReportingService.selectUserList(page, dataReportingPageDto));
+ }
+
+ @ApiOperation(value = "淇敼鏁版嵁涓婃姤")
+ @PostMapping("/upDataReporting")
+ public Result upDataReporting(@RequestBody DataReporting dataReporting) {
+ return Result.success(dataReportingService.updateDataReporting(dataReporting));
+ }
+
+}
diff --git a/data-server/src/main/java/com/yuanchu/mom/dto/DataReportingPageDto.java b/data-server/src/main/java/com/yuanchu/mom/dto/DataReportingPageDto.java
new file mode 100644
index 0000000..f59cbd7
--- /dev/null
+++ b/data-server/src/main/java/com/yuanchu/mom/dto/DataReportingPageDto.java
@@ -0,0 +1,23 @@
+package com.yuanchu.mom.dto;
+
+import com.yuanchu.mom.annotation.ValueTableShow;
+import com.yuanchu.mom.pojo.DataReporting;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class DataReportingPageDto extends DataReporting {
+
+ @ValueTableShow(21)
+ @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
+ private String createUserName;
+
+ @ValueTableShow(22)
+ @ApiModelProperty(value = "鏇存柊鐢ㄦ埛")
+ private String updateUserName;
+
+}
diff --git a/framework/pom.xml b/framework/pom.xml
index 4fcce66..f69481d 100644
--- a/framework/pom.xml
+++ b/framework/pom.xml
@@ -38,5 +38,6 @@
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
</dependency>
+
</dependencies>
</project>
diff --git a/framework/src/main/java/com/yuanchu/mom/annotation/ValueTableShow.java b/framework/src/main/java/com/yuanchu/mom/annotation/ValueTableShow.java
new file mode 100644
index 0000000..7b892e9
--- /dev/null
+++ b/framework/src/main/java/com/yuanchu/mom/annotation/ValueTableShow.java
@@ -0,0 +1,11 @@
+package com.yuanchu.mom.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface ValueTableShow {
+
+ int value() default 0;
+
+}
diff --git a/framework/src/main/java/com/yuanchu/mom/common/OrderBy.java b/framework/src/main/java/com/yuanchu/mom/common/OrderBy.java
new file mode 100644
index 0000000..e563f95
--- /dev/null
+++ b/framework/src/main/java/com/yuanchu/mom/common/OrderBy.java
@@ -0,0 +1,22 @@
+package com.yuanchu.mom.common;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.yuanchu.mom.annotation.ValueTableShow;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Map;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class OrderBy implements Serializable {
+
+ @TableField(select = false, exist = false)
+ private Map<String, String> orderBy;
+
+}
diff --git a/framework/src/main/java/com/yuanchu/mom/common/PrintChina.java b/framework/src/main/java/com/yuanchu/mom/common/PrintChina.java
new file mode 100644
index 0000000..0b84598
--- /dev/null
+++ b/framework/src/main/java/com/yuanchu/mom/common/PrintChina.java
@@ -0,0 +1,59 @@
+package com.yuanchu.mom.common;
+
+import cn.hutool.core.util.StrUtil;
+import com.yuanchu.mom.annotation.ValueTableShow;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.lang.reflect.Field;
+import java.util.*;
+
+/*鏉庢灄
+* 閫氳繃娉ㄨВ蹇�熺敓鎴恡able琛ㄥご*/
+
+public class PrintChina {
+
+ public static <T> List<Map<String, String>> printChina(Class<T> tClass) {
+ //灏嗗疄浣撶被鐨勫睘鎬у拰娉ㄩ噴杞崲鎴愬弬鏁�
+ List<Field> fieldList = new ArrayList<>();
+ while (tClass != null){
+ fieldList.addAll(new ArrayList<>(Arrays.asList(tClass.getDeclaredFields())));
+ tClass = (Class<T>) tClass.getSuperclass();
+ }
+ Field[] fields = new Field[fieldList.size()];
+ fieldList.toArray(fields);
+ ArrayList<Map<String, String>> list = new ArrayList<>();
+ for (Field field : fields) {
+ Map<String, String> soundVo = new HashMap<>();
+ boolean bool = field.isAnnotationPresent(ApiModelProperty.class);
+ boolean bool2 = field.isAnnotationPresent(ValueTableShow.class);
+ if (bool) {
+ int order;
+ if (bool2){
+ order = field.getAnnotation(ValueTableShow.class).value();
+ }else{
+ continue;
+ }
+ String value = field.getAnnotation(ApiModelProperty.class).value();
+ soundVo.put("label", field.getName());
+ soundVo.put("value", value);
+ soundVo.put("order", order + "");
+ if(list.size() == 0){
+ list.add(soundVo);
+ }else{
+ boolean isAdd = false;
+ for (int i = 0; i < list.size(); i++) {
+ Map<String, String> map = list.get(i);
+ if(order < Integer.parseInt(map.get("order"))){
+ list.add(i, soundVo);
+ isAdd = true;
+ break;
+ }
+ }
+ if (!isAdd) list.add(soundVo);
+ }
+ }
+ }
+ return list;
+ }
+
+}
diff --git a/framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java b/framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java
index 525bec0..bb90e50 100644
--- a/framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java
+++ b/framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java
@@ -25,6 +25,8 @@
@Value("${server.port}")
private String serverPort;
+ private static ThreadLocal<String> threadLocal = new ThreadLocal<>();
+
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
if (HttpMethod.OPTIONS.toString().equals(request.getMethod())) {
diff --git a/framework/src/main/java/com/yuanchu/mom/handler/GlobalExceptionHandler.java b/framework/src/main/java/com/yuanchu/mom/handler/GlobalExceptionHandler.java
index cc99c2d..fe92f7e 100644
--- a/framework/src/main/java/com/yuanchu/mom/handler/GlobalExceptionHandler.java
+++ b/framework/src/main/java/com/yuanchu/mom/handler/GlobalExceptionHandler.java
@@ -38,7 +38,7 @@
@ExceptionHandler(SQLException.class)
public Result<?> handlerSQLException(SQLException e) {
log.error(e.getMessage().toLowerCase(), e);
- response.setStatus(500);
+ response.setStatus(201);
return Result.fail("鏁版嵁鎿嶄綔澶辫触锛佽鑱旂郴绠$悊鍛�");
}
@@ -54,14 +54,14 @@
log.error(String.valueOf(e));
String message = e.getCause().getMessage();
String[] split = message.split("'");
- response.setStatus(500);
+ response.setStatus(201);
return Result.fail("閲嶅娣诲姞锛氥��" + split[1] + "銆戞搷浣滃け璐ワ紒");
}
@ExceptionHandler
public Result<?> NullPointerException(NullPointerException e) {
e.printStackTrace();
- response.setStatus(500);
+ response.setStatus(201);
return Result.fail("閮ㄥ垎鍙傛暟涓虹┖锛岃妫�鏌ワ紒");
}
@@ -71,7 +71,7 @@
@ExceptionHandler(RuntimeException.class)
public Result<?> runtimeExceptionHandler(RuntimeException e) {
e.printStackTrace();
- response.setStatus(500);
+ response.setStatus(201);
return Result.fail("杩愯鏃跺紓甯�");
}
@@ -81,7 +81,7 @@
@ExceptionHandler(ClassCastException.class)
public Result<?> classCastExceptionHandler(ClassCastException e) {
e.printStackTrace();
- response.setStatus(500);
+ response.setStatus(201);
return Result.fail("绫诲瀷杞崲寮傚父");
}
@@ -91,7 +91,7 @@
@ExceptionHandler(FileNotFoundException.class)
public Result<?> FileNotFoundException(FileNotFoundException e) {
e.printStackTrace();
- response.setStatus(500);
+ response.setStatus(201);
return Result.fail("鏂囦欢鏈壘鍒板紓甯�");
}
@@ -101,7 +101,7 @@
@ExceptionHandler(NumberFormatException.class)
public Result<?> NumberFormatException(NumberFormatException e) {
e.printStackTrace();
- response.setStatus(500);
+ response.setStatus(201);
return Result.fail("鏁板瓧鏍煎紡寮傚父");
}
@@ -111,7 +111,7 @@
@ExceptionHandler(SecurityException.class)
public Result<?> SecurityException(SecurityException e) {
e.printStackTrace();
- response.setStatus(500);
+ response.setStatus(201);
return Result.fail("瀹夊叏寮傚父");
}
@@ -121,7 +121,7 @@
@ExceptionHandler(TypeNotPresentException.class)
public Result<?> TypeNotPresentException(TypeNotPresentException e) {
e.printStackTrace();
- response.setStatus(500);
+ response.setStatus(201);
return Result.fail("绫诲瀷涓嶅瓨鍦ㄥ紓甯�");
}
@@ -131,7 +131,7 @@
@ExceptionHandler(IOException.class)
public Result<?> iOExceptionHandler(IOException e) {
e.printStackTrace();
- response.setStatus(500);
+ response.setStatus(201);
return Result.fail("IO寮傚父");
}
@@ -141,7 +141,7 @@
@ExceptionHandler(NoSuchMethodException.class)
public Result<?> noSuchMethodExceptionHandler(NoSuchMethodException e) {
e.printStackTrace();
- response.setStatus(500);
+ response.setStatus(201);
return Result.fail("鏈煡鏂规硶寮傚父");
}
@@ -151,7 +151,7 @@
@ExceptionHandler(IndexOutOfBoundsException.class)
public Result<?> indexOutOfBoundsExceptionHandler(IndexOutOfBoundsException e) {
e.printStackTrace();
- response.setStatus(500);
+ response.setStatus(201);
return Result.fail("鏁扮粍瓒婄晫寮傚父");
}
@@ -161,7 +161,7 @@
@ExceptionHandler(BadSqlGrammarException.class)
public Result<?> BadSqlGrammarException(BadSqlGrammarException e) {
e.printStackTrace();
- response.setStatus(500);
+ response.setStatus(201);
return Result.fail("sql璇硶閿欒寮傚父");
}
@@ -171,7 +171,7 @@
@ExceptionHandler(NoSuchBeanDefinitionException.class)
public Result<?> NoSuchBeanDefinitionException(NoSuchBeanDefinitionException e) {
e.printStackTrace();
- response.setStatus(500);
+ response.setStatus(201);
return Result.fail("鏃犳硶娉ㄥ叆bean");
}
@@ -181,7 +181,7 @@
@ExceptionHandler({HttpMessageNotReadableException.class})
public Result<?> requestNotReadable(HttpMessageNotReadableException e) {
e.printStackTrace();
- response.setStatus(500);
+ response.setStatus(201);
return Result.fail("Http娑堟伅涓嶅彲璇�");
}
@@ -191,17 +191,17 @@
@ExceptionHandler({TypeMismatchException.class})
public Result<?> requestTypeMismatch(TypeMismatchException e) {
e.printStackTrace();
- response.setStatus(500);
+ response.setStatus(201);
return Result.fail("鏈嶅姟鍣ㄥ紓甯�");
}
/**
- * 500閿欒
+ * 201閿欒
*/
@ExceptionHandler({ConversionNotSupportedException.class, HttpMessageNotWritableException.class})
- public Result<?> server500(RuntimeException e) {
+ public Result<?> server201(RuntimeException e) {
e.printStackTrace();
- response.setStatus(500);
+ response.setStatus(201);
return Result.fail("鏈嶅姟鍣ㄥ紓甯�");
}
@@ -211,7 +211,7 @@
@ExceptionHandler({StackOverflowError.class})
public Result<?> requestStackOverflow(StackOverflowError e) {
e.printStackTrace();
- response.setStatus(500);
+ response.setStatus(201);
return Result.fail("鏍堟孩鍑哄紓甯�");
}
@@ -221,7 +221,7 @@
@ExceptionHandler({ArithmeticException.class})
public Result<?> arithmeticException(ArithmeticException e) {
e.printStackTrace();
- response.setStatus(500);
+ response.setStatus(201);
return Result.fail("闄ゆ暟涓嶈兘涓�0寮傚父");
}
@@ -271,7 +271,7 @@
@ExceptionHandler({Exception.class})
public Result<?> exception(Exception e) {
e.printStackTrace();
- response.setStatus(500);
+ response.setStatus(201);
return Result.fail("缃戠粶杩炴帴澶辫触锛岃閫�鍑哄悗鍐嶈瘯");
}
}
diff --git a/framework/src/main/java/com/yuanchu/mom/mybatis_config/MyMetaObjectHandler.java b/framework/src/main/java/com/yuanchu/mom/mybatis_config/MyMetaObjectHandler.java
index ede59ea..1bfa037 100644
--- a/framework/src/main/java/com/yuanchu/mom/mybatis_config/MyMetaObjectHandler.java
+++ b/framework/src/main/java/com/yuanchu/mom/mybatis_config/MyMetaObjectHandler.java
@@ -1,22 +1,36 @@
package com.yuanchu.mom.mybatis_config;
+import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import com.yuanchu.mom.utils.JackSonUtil;
+import com.yuanchu.mom.utils.Jwt;
+import com.yuanchu.mom.utils.ServletUtils;
import org.apache.ibatis.reflection.MetaObject;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+import java.time.LocalDateTime;
import java.util.Date;
+import java.util.Map;
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
+
+ @Autowired
+ Jwt jwt;
+
@Override
public void insertFill(MetaObject metaObject) {
- this.strictInsertFill(metaObject, "createTime", Date.class, new Date()); // 璧峰鐗堟湰 3.3.0(鎺ㄨ崘浣跨敤)
- this.strictInsertFill(metaObject, "updateTime", Date.class, new Date()); // 璧峰鐗堟湰 3.3.0(鎺ㄨ崘浣跨敤)
+ this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now()); // 璧峰鐗堟湰 3.3.0(鎺ㄨ崘浣跨敤)
+ this.strictInsertFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); // 璧峰鐗堟湰 3.3.0(鎺ㄨ崘浣跨敤)
+ this.strictInsertFill(metaObject, "createUser", Integer.class, Integer.parseInt(JSONUtil.parseObj(jwt.readJWT(ServletUtils.getRequest().getHeader("token")).get("data")).get("id") + ""));
+ this.strictInsertFill(metaObject, "updateUser", Integer.class, Integer.parseInt(JSONUtil.parseObj(jwt.readJWT(ServletUtils.getRequest().getHeader("token")).get("data")).get("id") + ""));
}
@Override
public void updateFill(MetaObject metaObject) {
// update鐨勬椂鍊欎娇鐢紝鏇存柊鐨勬椂鍊欏己鍒惰繘琛屽~鍏�
- this.strictUpdateFill(metaObject, "updateTime", Date.class, new Date()); // 璧峰鐗堟湰 3.3.0(鎺ㄨ崘)
+ this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); // 璧峰鐗堟湰 3.3.0(鎺ㄨ崘)
+ this.strictUpdateFill(metaObject, "updateUser", Integer.class, Integer.parseInt(JSONUtil.parseObj(jwt.readJWT(ServletUtils.getRequest().getHeader("token")).get("data")).get("id") + ""));
}
}
diff --git a/framework/src/main/java/com/yuanchu/mom/utils/QueryWrappers.java b/framework/src/main/java/com/yuanchu/mom/utils/QueryWrappers.java
new file mode 100644
index 0000000..d61f0ca
--- /dev/null
+++ b/framework/src/main/java/com/yuanchu/mom/utils/QueryWrappers.java
@@ -0,0 +1,68 @@
+package com.yuanchu.mom.utils;
+
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.AllArgsConstructor;
+import lombok.CustomLog;
+import org.springframework.stereotype.Component;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
+
+/*
+ * 鏉庢灄
+ * 鐢熸垚SQL璇彞*/
+
+@Component
+@AllArgsConstructor
+public class QueryWrappers<T> {
+
+ public static <T> QueryWrapper<T> queryWrappers(T entity) {
+ if (ObjectUtil.isEmpty(entity)) return null;
+ Class<?> aClass = entity.getClass();
+ QueryWrapper<T> wrapper = Wrappers.<T>query();
+ List<Field> fieldList = new ArrayList<>();
+ while (aClass != null) {
+ fieldList.addAll(new ArrayList<>(Arrays.asList(aClass.getDeclaredFields())));
+ aClass = aClass.getSuperclass();
+ }
+ for (Field field : fieldList) {
+ field.setAccessible(true);
+ Object value;
+ try {
+ value = field.get(entity);
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ throw new RuntimeException("鏌ヨ鏉′欢鐢熸垚閿欒");
+ }
+// System.out.println(field.getName() + "|" + (value == null || value.equals("")) + "|" + value);
+ if(value == null || value.equals("")){
+ continue;
+ }
+ if (!field.getName().equals("orderBy")) {
+ if(value.getClass()== LocalDateTime.class){
+ wrapper.like(StrUtil.toUnderlineCase(field.getName()), ((LocalDateTime) value).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+ }else{
+ wrapper.like(StrUtil.toUnderlineCase(field.getName()), value);
+ }
+ } else {
+ Map<String, String> map = (Map<String, String>) value;
+ if(map.get("order")!=null){
+ wrapper.orderBy(true, map.get("order").equals("asc"), StrUtil.toUnderlineCase(map.get("field")));
+ }
+ }
+ }
+ System.out.println(wrapper.getExpression().getSqlSegment());
+ return wrapper;
+ }
+
+}
diff --git a/framework/src/main/java/com/yuanchu/mom/utils/ServletUtils.java b/framework/src/main/java/com/yuanchu/mom/utils/ServletUtils.java
new file mode 100644
index 0000000..387f113
--- /dev/null
+++ b/framework/src/main/java/com/yuanchu/mom/utils/ServletUtils.java
@@ -0,0 +1,103 @@
+package com.yuanchu.mom.utils;
+
+
+import cn.hutool.core.convert.Convert;
+import org.springframework.web.context.request.RequestAttributes;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import java.io.IOException;
+
+/**
+ * 瀹㈡埛绔伐鍏风被
+ *
+ * @author 寮犲
+ */
+public class ServletUtils {
+ /**
+ * 鑾峰彇String鍙傛暟
+ */
+ public static String getParameter(String name)
+ {
+ return getRequest().getParameter(name);
+ }
+
+ /**
+ * 鑾峰彇String鍙傛暟
+ */
+ public static String getParameter(String name, String defaultValue)
+ {
+ return Convert.toStr(getRequest().getParameter(name), defaultValue);
+ }
+
+ /**
+ * 鑾峰彇Integer鍙傛暟
+ */
+ public static Integer getParameterToInt(String name)
+ {
+ return Convert.toInt(getRequest().getParameter(name));
+ }
+
+ /**
+ * 鑾峰彇Integer鍙傛暟
+ */
+ public static Integer getParameterToInt(String name, Integer defaultValue)
+ {
+ return Convert.toInt(getRequest().getParameter(name), defaultValue);
+ }
+
+ /**
+ * 鑾峰彇request
+ */
+ public static HttpServletRequest getRequest()
+ {
+ return getRequestAttributes().getRequest();
+ }
+
+ /**
+ * 鑾峰彇response
+ */
+ public static HttpServletResponse getResponse()
+ {
+ return getRequestAttributes().getResponse();
+ }
+
+ /**
+ * 鑾峰彇session
+ */
+ public static HttpSession getSession()
+ {
+ return getRequest().getSession();
+ }
+
+ public static ServletRequestAttributes getRequestAttributes()
+ {
+ RequestAttributes attributes = RequestContextHolder.getRequestAttributes();
+ return (ServletRequestAttributes) attributes;
+ }
+
+ /**
+ * 灏嗗瓧绗︿覆娓叉煋鍒板鎴风
+ *
+ * @param response 娓叉煋瀵硅薄
+ * @param string 寰呮覆鏌撶殑瀛楃涓�
+ * @return null
+ */
+ public static String renderString(HttpServletResponse response, String string)
+ {
+ try
+ {
+ response.setContentType("application/json");
+ response.setCharacterEncoding("utf-8");
+ response.getWriter().print(string);
+ }
+ catch (IOException e)
+ {
+ e.printStackTrace();
+ }
+ return null;
+ }
+}
diff --git a/pom.xml b/pom.xml
index c8f2aeb..9b26b37 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,6 +19,7 @@
<module>framework</module>
<module>user-server</module>
<module>system-run</module>
+ <module>data-server</module>
</modules>
<properties>
@@ -83,6 +84,24 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
+
+ <dependency>
+ <groupId>com.baomidou</groupId>
+ <artifactId>mybatis-plus-extension</artifactId>
+ <version>${mybatis-plus.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>cn.hutool</groupId>
+ <artifactId>hutool-all</artifactId>
+ <version>5.8.18</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.alibaba</groupId>
+ <artifactId>fastjson</artifactId>
+ <version>2.0.23</version>
+ </dependency>
</dependencies>
<dependencyManagement>
diff --git a/system-run/pom.xml b/system-run/pom.xml
index f94e371..9079d88 100644
--- a/system-run/pom.xml
+++ b/system-run/pom.xml
@@ -28,6 +28,12 @@
<version>0.0.1-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>com.yuanchu.mom</groupId>
+ <artifactId>data-server</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </dependency>
+
<!--druid-->
<dependency>
<groupId>com.alibaba</groupId>
diff --git a/system-run/src/main/resources/application-dev.yml b/system-run/src/main/resources/application-dev.yml
index e049e17..0b6562b 100644
--- a/system-run/src/main/resources/application-dev.yml
+++ b/system-run/src/main/resources/application-dev.yml
@@ -5,12 +5,12 @@
logging:
config: classpath:logback-spring.xml
# 鏃ュ織瀛樺偍璺緞+++++++++++++++++++++++++++杩愮淮闇�瑕侀厤缃�+++++++++++++++++++++++++++
- file-location:
+ file-location: D:\楣撻洀鍏徃\frame-after\logs_IS_UNDEFINED
# 鏁版嵁搴撳浠借矾寰�
backup:
# 鏁版嵁搴撳浠借矾寰�+++++++++++++++++++++++++++杩愮淮闇�瑕侀厤缃�+++++++++++++++++++++++++++
- path: E:/webapp/backup
+ path: D:\楣撻洀鍏徃\frame-after
# 鏁版嵁搴撳浠藉ぉ鏁�
destiny: 7
# 鏁版嵁搴撳浠藉伐鍏疯矾寰�+++++++++++++++++++++++++++杩愮淮闇�瑕侀厤缃�+++++++++++++++++++++++++++
@@ -26,7 +26,7 @@
type-aliases-package: com.yuanchu.mom.pojo
mapper-locations: classpath*:/mapper/*.xml
configuration:
- log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 寮�鍚痬ybatis-plus鏃ュ織
+ log-impl: #org.apache.ibatis.logging.stdout.StdOutImpl # 寮�鍚痬ybatis-plus鏃ュ織
# 鏁版嵁婧愰厤缃�
@@ -34,8 +34,8 @@
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://114.132.189.42:9004/oms?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
- username: user
+ url: jdbc:mysql://127.0.0.1:3306/shengyun?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
+ username: root
password: 123456
druid:
# Druid鏁版嵁婧愰厤缃�
@@ -59,9 +59,9 @@
# redis鏁版嵁搴撶储寮�(榛樿涓�0)锛屾垜浠娇鐢ㄧ储寮曚负3鐨勬暟鎹簱锛岄伩鍏嶅拰鍏朵粬鏁版嵁搴撳啿绐�
database: 0
# redis鏈嶅姟鍣ㄥ湴鍧�锛堥粯璁や负localhost锛�
- host: 114.132.189.42
+ host: 127.0.0.1
# redis绔彛锛堥粯璁や负6379锛�
- port: 9003
+ port: 6379
# redis璁块棶瀵嗙爜锛堥粯璁や负绌猴級
password: null
# redis杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶆绉掞級
diff --git a/system-run/src/main/resources/application-prod.yml b/system-run/src/main/resources/application-prod.yml
index 4e51a05..b1e1905 100644
--- a/system-run/src/main/resources/application-prod.yml
+++ b/system-run/src/main/resources/application-prod.yml
@@ -28,7 +28,7 @@
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
- driverClassName: com.mysql.jdbc.Driver
+ driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/blog_crunchy?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
username: root
password: 123456
diff --git a/user-server/src/main/java/com/yuanchu/mom/controller/RoleController.java b/user-server/src/main/java/com/yuanchu/mom/controller/RoleController.java
new file mode 100644
index 0000000..acf7e33
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/mom/controller/RoleController.java
@@ -0,0 +1,50 @@
+package com.yuanchu.mom.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.dto.UserPageDto;
+import com.yuanchu.mom.pojo.Role;
+import com.yuanchu.mom.pojo.User;
+import com.yuanchu.mom.service.RoleService;
+import com.yuanchu.mom.service.UserService;
+import com.yuanchu.mom.utils.JackSonUtil;
+import com.yuanchu.mom.utils.Jwt;
+import com.yuanchu.mom.utils.RedisUtil;
+import com.yuanchu.mom.vo.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@RequestMapping("/role")
+@RestController
+@Api(tags = "瑙掕壊妯″潡")
+@AllArgsConstructor
+public class RoleController {
+
+ private RoleService roleService;
+
+ @ApiOperation(value = "鑾峰彇瑙掕壊鍒楄〃鏋氫妇")
+ @GetMapping("/selectRoleList")
+ public Result selectUserList(){
+ return Result.success(roleService.selectList());
+ }
+
+
+ @ApiOperation(value = "鑾峰彇瑙掕壊鍒楄〃")
+ @PostMapping("/selectRoleLists")
+ public Result selectRoleList(@RequestBody Map<String, Object> data) throws Exception {
+ Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
+ Role role = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), Role.class);
+ return Result.success(roleService.selectUserList(page, role));
+ }
+
+ @ApiOperation(value = "鍒犻櫎瑙掕壊鍒楄〃")
+ @PostMapping("/delRole")
+ public Result delRole(Integer id){
+ return Result.success(roleService.delRole(id));
+ }
+}
diff --git a/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java b/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java
index ab1a56f..c9a93bc 100644
--- a/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java
+++ b/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java
@@ -1,5 +1,11 @@
package com.yuanchu.mom.controller;
+import cn.hutool.json.JSON;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.common.PrintChina;
+import com.yuanchu.mom.dto.UserPageDto;
import com.yuanchu.mom.pojo.User;
import com.yuanchu.mom.service.UserService;
import com.yuanchu.mom.utils.JackSonUtil;
@@ -7,8 +13,11 @@
import com.yuanchu.mom.utils.RedisUtil;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.DigestUtils;
+import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
@@ -29,7 +38,7 @@
@PostMapping("/enter")
public Result login(String account, String password) {
User user = userService.selectUserByPwd(account, password);
- if (user==null) return Result.fail("鐧诲綍澶辫触");
+ if (user == null) return Result.fail("鐧诲綍澶辫触");
String jwtToken = jwt.createJwt(user.getName(), user.getId(), 60);
String jwtReToken = jwt.createJwt(user.getName(), user.getId(), 24 * 60);
RedisUtil.set("" + user.getId(), jwtToken, 60);
@@ -66,4 +75,27 @@
return Result.fail(map.get("info"));
}
+ @ApiOperation(value = "鑾峰彇鐢ㄦ埛鍒楄〃")
+ @PostMapping("/selectUserList")
+ public Result selectUserList(@RequestBody Map<String, Object> data) throws Exception {
+ Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
+ UserPageDto user = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), UserPageDto.class);
+ return Result.success(userService.selectUserList(page, user));
+ }
+
+ @ApiOperation(value = "淇敼鐢ㄦ埛淇℃伅")
+ @PostMapping("/updateUser")
+ public Result<?> updateUser(@RequestBody User user) {
+ if ("".equals(user.getPassword())) user.setPassword(null);
+ else user.setPassword(DigestUtils.md5DigestAsHex(user.getPassword().getBytes()));
+ return Result.success(userService.updateUser(user));
+ }
+
+ @ApiOperation(value = "娣诲姞鐢ㄦ埛淇℃伅")
+ @PostMapping("/addUser")
+ public Result<?> addUser(@RequestBody User user) {
+ if ("".equals(user.getPassword())) user.setPassword(null);
+ else user.setPassword(DigestUtils.md5DigestAsHex(user.getPassword().getBytes()));
+ return Result.success(userService.addUser(user));
+ }
}
diff --git a/user-server/src/main/java/com/yuanchu/mom/dto/UserPageDto.java b/user-server/src/main/java/com/yuanchu/mom/dto/UserPageDto.java
new file mode 100644
index 0000000..9f1f95b
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/mom/dto/UserPageDto.java
@@ -0,0 +1,27 @@
+package com.yuanchu.mom.dto;
+
+import com.yuanchu.mom.annotation.ValueTableShow;
+import com.yuanchu.mom.pojo.User;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class UserPageDto extends User {
+
+ @ValueTableShow(10)
+ @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
+ private String createUserName;
+
+ @ValueTableShow(11)
+ @ApiModelProperty(value = "鏇存柊鐢ㄦ埛")
+ private String updateUserName;
+
+ @ValueTableShow(1)
+ @ApiModelProperty(value = "瑙掕壊")
+ private String roleName;
+
+}
diff --git a/user-server/src/main/java/com/yuanchu/mom/mapper/RoleMapper.java b/user-server/src/main/java/com/yuanchu/mom/mapper/RoleMapper.java
new file mode 100644
index 0000000..86307a5
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/mom/mapper/RoleMapper.java
@@ -0,0 +1,12 @@
+package com.yuanchu.mom.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yuanchu.mom.pojo.Role;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface RoleMapper extends BaseMapper<Role> {
+
+}
diff --git a/user-server/src/main/java/com/yuanchu/mom/mapper/UserMapper.java b/user-server/src/main/java/com/yuanchu/mom/mapper/UserMapper.java
index 99a6940..f1d519e 100644
--- a/user-server/src/main/java/com/yuanchu/mom/mapper/UserMapper.java
+++ b/user-server/src/main/java/com/yuanchu/mom/mapper/UserMapper.java
@@ -1,11 +1,19 @@
package com.yuanchu.mom.mapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yuanchu.mom.dto.UserPageDto;
import com.yuanchu.mom.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
+import java.util.List;
+
@Mapper
@Repository
public interface UserMapper extends BaseMapper<User> {
+
+ IPage<User> selectUserDtoPageList(IPage<UserPageDto> page, QueryWrapper<UserPageDto> ew);
+
}
diff --git a/user-server/src/main/java/com/yuanchu/mom/pojo/Role.java b/user-server/src/main/java/com/yuanchu/mom/pojo/Role.java
new file mode 100644
index 0000000..1a61592
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/mom/pojo/Role.java
@@ -0,0 +1,49 @@
+package com.yuanchu.mom.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yuanchu.mom.annotation.ValueTableShow;
+import com.yuanchu.mom.common.OrderBy;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Role extends OrderBy implements Serializable {
+
+ @ApiModelProperty(value = "涓婚敭")
+ private Integer id;
+
+ @ValueTableShow(1)
+ @ApiModelProperty(value = "瑙掕壊鍚嶇О")
+ private String name;
+
+ @ValueTableShow(2)
+ @ApiModelProperty(value = "鍒涘缓鏃ユ湡")
+ @TableField(fill = FieldFill.INSERT)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
+
+ @ValueTableShow(3)
+ @ApiModelProperty(value = "鏇存柊鏃ユ湡")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @ApiModelProperty(value = "鏇存柊鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+}
diff --git a/user-server/src/main/java/com/yuanchu/mom/pojo/User.java b/user-server/src/main/java/com/yuanchu/mom/pojo/User.java
index d8ba49b..5a2384a 100644
--- a/user-server/src/main/java/com/yuanchu/mom/pojo/User.java
+++ b/user-server/src/main/java/com/yuanchu/mom/pojo/User.java
@@ -1,39 +1,90 @@
package com.yuanchu.mom.pojo;
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yuanchu.mom.annotation.ValueTableShow;
+import com.yuanchu.mom.common.OrderBy;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
+import java.io.Serializable;
+import java.lang.reflect.Field;
+import java.time.LocalDateTime;
import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
-public class User {
+@TableName("user")
+public class User extends OrderBy implements Serializable{
+ @ApiModelProperty(value = "涓婚敭")
@TableId(type = IdType.AUTO)
private Integer id;
+ @ValueTableShow(1)
+ @ApiModelProperty(value = "璐﹀彿")
private String account;
+ @ApiModelProperty(value = "瀵嗙爜")
private String password;
+ @ValueTableShow(2)
+ @ApiModelProperty(value = "瀹㈡埛鍚嶇О")
private String name;
- private int state;
+ @ValueTableShow(3)
+ @ApiModelProperty(value = "鐘舵��")
+ private Integer state;
+ @ValueTableShow(4)
+ @ApiModelProperty(value = "骞撮緞")
+ private Integer age;
+
+ @ValueTableShow(5)
+ @ApiModelProperty(value = "閭")
+ private String email;
+
+ @ValueTableShow(6)
+ @ApiModelProperty(value = "鐢佃瘽鍙风爜")
+ private String phone;
+
+ @ValueTableShow(7)
+ @ApiModelProperty(value = "閮ㄩ棬")
+ private String department;
+
+ @ValueTableShow(8)
+ @ApiModelProperty(value = "鍏徃")
+ private String company;
+
+ @ApiModelProperty(value = "瑙掕壊涓婚敭")
+ private Integer roleId;
+
+ @ValueTableShow(9)
+ @ApiModelProperty(value = "鍒涘缓鏃ユ湡")
@TableField(fill = FieldFill.INSERT)
- private Date createTime;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
+ @ValueTableShow(10)
+ @ApiModelProperty(value = "鏇存柊鏃ユ湡")
@TableField(fill = FieldFill.INSERT_UPDATE)
- private Date updateTime;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime updateTime;
- private int version;
+ @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @ApiModelProperty(value = "鏇存柊鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
}
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/RoleService.java b/user-server/src/main/java/com/yuanchu/mom/service/RoleService.java
new file mode 100644
index 0000000..534f107
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/mom/service/RoleService.java
@@ -0,0 +1,19 @@
+package com.yuanchu.mom.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yuanchu.mom.dto.UserPageDto;
+import com.yuanchu.mom.pojo.Role;
+import com.yuanchu.mom.pojo.User;
+
+import java.util.List;
+import java.util.Map;
+
+public interface RoleService {
+
+ List<Role> selectList();
+
+ Map<String, Object> selectUserList(IPage<Role> page, Role role);
+
+ int delRole(Integer id);
+
+}
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/UserService.java b/user-server/src/main/java/com/yuanchu/mom/service/UserService.java
index f4e2517..e584c81 100644
--- a/user-server/src/main/java/com/yuanchu/mom/service/UserService.java
+++ b/user-server/src/main/java/com/yuanchu/mom/service/UserService.java
@@ -1,5 +1,8 @@
package com.yuanchu.mom.service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.dto.UserPageDto;
import com.yuanchu.mom.pojo.User;
import java.util.List;
@@ -13,4 +16,10 @@
//鏍规嵁鐢ㄦ埛id鏌ヨ鐢ㄦ埛鍚�
String selectNameById(Integer id);
+ Map<String, Object> selectUserList(IPage<UserPageDto> page, UserPageDto user);
+
+ int updateUser(User user);
+
+ int addUser(User user);
+
}
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java b/user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java
new file mode 100644
index 0000000..9edb882
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java
@@ -0,0 +1,46 @@
+package com.yuanchu.mom.service.imp;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yuanchu.mom.common.PrintChina;
+import com.yuanchu.mom.dto.UserPageDto;
+import com.yuanchu.mom.mapper.RoleMapper;
+import com.yuanchu.mom.mapper.UserMapper;
+import com.yuanchu.mom.pojo.Role;
+import com.yuanchu.mom.pojo.User;
+import com.yuanchu.mom.service.RoleService;
+import com.yuanchu.mom.service.UserService;
+import com.yuanchu.mom.utils.Jwt;
+import com.yuanchu.mom.utils.QueryWrappers;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.util.DigestUtils;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+@AllArgsConstructor
+public class RoleServiceImp implements RoleService {
+
+ private RoleMapper roleMapper;
+
+ @Override
+ public List<Role> selectList() {
+ return roleMapper.selectList(null);
+ }
+
+ @Override
+ public Map<String, Object> selectUserList(IPage<Role> page, Role role) {
+ Map<String, Object> map = new HashMap<>();
+ map.put("head", PrintChina.printChina(Role.class));
+ map.put("body", roleMapper.selectPage(page, QueryWrappers.queryWrappers(role)));
+ return map;
+ }
+
+ @Override
+ public int delRole(Integer id) {
+ return roleMapper.deleteById(id);
+ }
+}
diff --git a/user-server/src/main/java/com/yuanchu/mom/service/imp/UserServiceImp.java b/user-server/src/main/java/com/yuanchu/mom/service/imp/UserServiceImp.java
index 25d8056..1ef4784 100644
--- a/user-server/src/main/java/com/yuanchu/mom/service/imp/UserServiceImp.java
+++ b/user-server/src/main/java/com/yuanchu/mom/service/imp/UserServiceImp.java
@@ -1,27 +1,42 @@
package com.yuanchu.mom.service.imp;
+import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.common.PrintChina;
+import com.yuanchu.mom.dto.UserPageDto;
import com.yuanchu.mom.mapper.UserMapper;
import com.yuanchu.mom.pojo.User;
import com.yuanchu.mom.service.UserService;
+import com.yuanchu.mom.utils.JackSonUtil;
+import com.yuanchu.mom.utils.Jwt;
+import com.yuanchu.mom.utils.QueryWrappers;
+import com.yuanchu.mom.utils.ServletUtils;
+import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.util.DigestUtils;
import javax.annotation.Resource;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
+@AllArgsConstructor
public class UserServiceImp implements UserService {
- @Resource
UserMapper userMapper;
+
+ Jwt jwt;
@Override
public User selectUserByPwd(String account, String password) {
QueryWrapper<User> wrapper = new QueryWrapper<>();
- wrapper.eq("account", account).eq("password", DigestUtils.md5DigestAsHex(password.getBytes()));
+ wrapper.eq("account", account).eq("password", DigestUtils.md5DigestAsHex(password.getBytes())).eq("state", 1);
List<User> list = userMapper.selectList(wrapper);
return list.size()>0?list.get(0):null;
}
@@ -33,4 +48,21 @@
return user.getName();
}
+ @Override
+ public Map<String, Object> selectUserList(IPage<UserPageDto> page, UserPageDto user) {
+ Map<String, Object> map = new HashMap<>();
+ map.put("head", PrintChina.printChina(UserPageDto.class));
+ map.put("body", userMapper.selectUserDtoPageList(page, QueryWrappers.queryWrappers(user)));
+ return map;
+ }
+
+ @Override
+ public int updateUser(User user) {
+ return userMapper.updateById(user);
+ }
+
+ @Override
+ public int addUser(User user) {
+ return userMapper.insert(user);
+ }
}
diff --git a/user-server/src/main/resources/mapper/RoleMapper.xml b/user-server/src/main/resources/mapper/RoleMapper.xml
new file mode 100644
index 0000000..82c0ab5
--- /dev/null
+++ b/user-server/src/main/resources/mapper/RoleMapper.xml
@@ -0,0 +1,5 @@
+<?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.yuanchu.mom.mapper.RoleMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/user-server/src/main/resources/mapper/UserMapper.xml b/user-server/src/main/resources/mapper/UserMapper.xml
index 7f7653f..8dc3b9d 100644
--- a/user-server/src/main/resources/mapper/UserMapper.xml
+++ b/user-server/src/main/resources/mapper/UserMapper.xml
@@ -2,4 +2,16 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yuanchu.mom.mapper.UserMapper">
+ <select id="selectUserDtoPageList" resultType="com.yuanchu.mom.dto.UserPageDto">
+ select * from (
+ select u1.id, u1.account, u1.name, u1.state, u1.create_time, u1.update_time, u1.create_user, u1.update_user, u1.age, u1.email, u1.phone, u1.department, u1.company, u1.role_id, u2.name create_user_name, u3.name update_user_name, r.name role_name
+ from user u1
+ left join user u2 on u2.id = u1.create_user
+ left join user u3 on u3.id = u1.update_user
+ left join role r on u1.role_id = r.id
+ ) a
+ <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+ ${ew.customSqlSegment}
+ </if>
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3