From f28daac250336673519f6d77dde59f45daa9863c Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 04 三月 2025 11:38:53 +0800
Subject: [PATCH] 用户部分通用接口+时间全局配置
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java | 45 +++++++++++
ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java | 66 +++++++++++++--
ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java | 27 ++++++
ruoyi-admin/src/main/java/com/ruoyi/web/controller/dto/UpdateUserDto.java | 11 ++
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/UserController.java | 54 +++++++++++++
cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageReviewProgram.java | 4 +
6 files changed, 194 insertions(+), 13 deletions(-)
diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageReviewProgram.java b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageReviewProgram.java
index d78f41b..c177e62 100644
--- a/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageReviewProgram.java
+++ b/cnas-manage/src/main/java/com/ruoyi/manage/pojo/ManageReviewProgram.java
@@ -1,6 +1,7 @@
package com.ruoyi.manage.pojo;
import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
@@ -29,6 +30,7 @@
private Integer id;
@ApiModelProperty("璇勫鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime reviewTime;
@ApiModelProperty("璇勫鍦扮偣")
@@ -59,12 +61,14 @@
private String editor;
@ApiModelProperty("缂栧埗鏃ユ湡")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime editorDate;
@ApiModelProperty("鎵瑰噯")
private String approve;
@ApiModelProperty("鎵瑰噯鏃ユ湡")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime approveDate;
@TableField(fill = FieldFill.INSERT)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/dto/UpdateUserDto.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/dto/UpdateUserDto.java
new file mode 100644
index 0000000..474b874
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/dto/UpdateUserDto.java
@@ -0,0 +1,11 @@
+package com.ruoyi.web.controller.dto;
+
+import lombok.Data;
+
+@Data
+public class UpdateUserDto {
+
+ private String id;
+
+ private String ids;
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/UserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/UserController.java
index eb0bfd5..2205351 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/UserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/UserController.java
@@ -1,9 +1,12 @@
package com.ruoyi.web.controller.system;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.core.domain.entity.User;
import com.ruoyi.system.service.UserService;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.web.controller.dto.UpdateUserDto;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -21,5 +24,52 @@
@Resource
private UserService userService;
+ /**
+ * todo: type : 1: 鑾峰彇妫�娴嬩汉鍛樹俊鎭�
+ type : 2: 鑾峰彇褰撳墠閮ㄩ棬(瀹為獙瀹や汉鍛�)
+ * @param user
+ * @param type
+ * @return
+ */
+ @ApiOperation(value = "鏍规嵁鏉′欢鑾峰彇鐢ㄦ埛鍒楄〃")
+ @GetMapping("/selectUserCondition")
+ public Result selectUserCondition(User user, String type){
+ return Result.success(userService.selectUserCondition(user, type));
+ }
+
+ /**
+ * 鑾峰彇褰撳墠鐧诲綍鐨勫鎴蜂俊鎭�
+ * @return
+ */
+ @GetMapping("/getUserNow")
+ @ApiOperation(value = "鑾峰彇褰撳墠鐧诲綍鐨勫鎴蜂俊鎭�")
+ public Result<?> getUserNow(){
+ return Result.success(userService.getUserNow());
+ }
+
+ /**
+ * 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛閮ㄩ棬
+ * @return
+ */
+ @GetMapping("/selectUserDepartmentLimsName")
+ @ApiOperation(value = "鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛閮ㄩ棬")
+ public Result<?> selectUserDepartmentLimsName(){
+ return Result.success("鎴愬姛", userService.selectUserDepartmentLimsName());
+ }
+
+ @PostMapping("/upUserDepardLimsId")
+ @ApiOperation(value = "淇敼浜哄憳鏄庣粏鎵�鍦ㄧ粍缁囨灦鏋�")
+ public Result<?> upUserDepardLimsId(@RequestBody UpdateUserDto dto){
+ return Result.success(userService.upUserDepardLimsId(dto.getIds(), dto.getId()));
+ }
+
+ @DeleteMapping("/delUserDepardLimsId")
+ @ApiOperation(value = "鍒犻櫎浜哄憳鏄庣粏鎵�鍦ㄧ粍缁囨灦鏋�")
+ public Result<?> delUserDepardLimsId(Integer id){
+ return Result.success(userService.delUserDepardLimsId(id));
+ }
+
+
+
}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java
index 7b0300c..0db1b6b 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java
@@ -1,10 +1,25 @@
package com.ruoyi.framework.config;
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.List;
import java.util.concurrent.TimeUnit;
+
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.CacheControl;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
@@ -26,29 +41,33 @@
@Autowired
private RepeatSubmitInterceptor repeatSubmitInterceptor;
+ @Value("${file.path}")
+ private String filePath;
+
+ @Value("${wordUrl}")
+ private String wordUrl;
+
@Override
- public void addResourceHandlers(ResourceHandlerRegistry registry)
- {
+ public void addResourceHandlers(ResourceHandlerRegistry registry) {
/** 鏈湴鏂囦欢涓婁紶璺緞 */
registry.addResourceHandler(Constants.RESOURCE_PREFIX + "/**")
.addResourceLocations("file:" + RuoYiConfig.getProfile() + "/");
-//
-// /** swagger閰嶇疆 */
-// registry.addResourceHandler("/swagger-ui/**")
-// .addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/")
-// .setCacheControl(CacheControl.maxAge(5, TimeUnit.HOURS).cachePublic());
+
registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/favicon.ico").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
+
+ //璁剧疆鏂囦欢铏氭嫙璺緞鏄犲皠
+ registry.addResourceHandler("/img/**").addResourceLocations("file:" + filePath + "/");
+ registry.addResourceHandler("/word/**").addResourceLocations("file:" + wordUrl + "/");
}
/**
* 鑷畾涔夋嫤鎴鍒�
*/
@Override
- public void addInterceptors(InterceptorRegistry registry)
- {
+ public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(repeatSubmitInterceptor).addPathPatterns("/**");
}
@@ -56,8 +75,7 @@
* 璺ㄥ煙閰嶇疆
*/
@Bean
- public CorsFilter corsFilter()
- {
+ public CorsFilter corsFilter() {
CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true);
// 璁剧疆璁块棶婧愬湴鍧�
@@ -74,4 +92,30 @@
// 杩斿洖鏂扮殑CorsFilter
return new CorsFilter(source);
}
+
+ // 鍏ㄥ眬鏍煎紡鍖栧鐞�
+ @Override
+ public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
+ String dateFormat = "yyyy-MM-dd HH:mm:ss";
+
+ Jackson2ObjectMapperBuilder json = Jackson2ObjectMapperBuilder.json();
+ MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
+
+ //localDateTime鏍煎紡鍖�
+ JavaTimeModule module = new JavaTimeModule();
+ LocalDateTimeDeserializer dateTimeDeserializer = new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(dateFormat));
+ LocalDateTimeSerializer dateTimeSerializer = new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(dateFormat));
+ module.addDeserializer(LocalDateTime.class, dateTimeDeserializer);
+ module.addSerializer(LocalDateTime.class, dateTimeSerializer);
+ ObjectMapper objectMapper = json.modules(module)
+ .featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS).build();
+
+ //date鏃堕棿鏍煎紡鍖�
+ objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+ objectMapper.setDateFormat(new SimpleDateFormat(dateFormat.split(" ")[0]));
+
+ // 璁剧疆鏍煎紡鍖栧唴瀹�
+ converter.setObjectMapper(objectMapper);
+ converters.add(0, converter);
+ }
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java
index b073d56..65d660a 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.entity.User;
+import java.util.List;
+
/**
* 鐢ㄦ埛淇℃伅琛�
*
@@ -11,5 +13,30 @@
*/
public interface UserService extends IService<User> {
+ /**
+ * 鏍规嵁鏉′欢鑾峰彇鐢ㄦ埛鍒楄〃
+ * @param user
+ * @param type
+ * @return
+ */
+ List<User> selectUserCondition(User user, String type);
+
+ /**
+ * 鑾峰彇褰撳墠鐧诲綍鐨勫鎴蜂俊鎭�
+ * @return
+ */
+ User getUserNow();
+
+ /**
+ * 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛閮ㄩ棬
+ * @return
+ */
+ String selectUserDepartmentLimsName();
+
+
+ int upUserDepardLimsId(String ids, String id);
+
+ int delUserDepardLimsId(Integer id);
+
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java
index acc052e..f097b32 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java
@@ -1,10 +1,17 @@
package com.ruoyi.system.service.impl;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.common.utils.QueryWrappers;
+import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.mapper.UserMapper;
import com.ruoyi.system.service.UserService;
import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
/**
* 鐢ㄦ埛淇℃伅琛�
@@ -14,6 +21,44 @@
*/
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
+ /**
+ * 鏍规嵁鏉′欢鑾峰彇鐢ㄦ埛鍒楄〃
+ * @param user
+ * @param type
+ * @return
+ */
+ @Override
+ public List<User> selectUserCondition(User user, String type) {
+ return baseMapper.selectUserCondition(QueryWrappers.queryWrappers(user), type);
+ }
+ /**
+ * 鑾峰彇褰撳墠鐧诲綍鐨勫鎴蜂俊鎭�
+ * @return
+ */
+ @Override
+ public User getUserNow() {
+ return baseMapper.getUserNow(SecurityUtils.getUserId().intValue());
+ }
+
+ /**
+ * 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛閮ㄩ棬
+ * @return
+ */
+ @Override
+ public String selectUserDepartmentLimsName() {
+ return baseMapper.selectUserDepartmentLimsName(SecurityUtils.getUserId().intValue());
+ }
+
+ @Override
+ public int upUserDepardLimsId(String ids, String id) {
+ List<Integer> userIds = JSON.parseArray(ids, Integer.class);
+ return baseMapper.update(null, Wrappers.<User>lambdaUpdate().in(User::getId, userIds).set(User::getDepartLimsId, id).set(User::getUpdateTime, LocalDateTime.now()).set(User::getUpdateBy,SecurityUtils.getLoginUser().getUsername()));
+ }
+
+ @Override
+ public int delUserDepardLimsId(Integer id) {
+ return baseMapper.update(null, Wrappers.<User>lambdaUpdate().eq(User::getId, id).set(User::getDepartLimsId, null).set(User::getUpdateTime, LocalDateTime.now()).set(User::getUpdateBy, SecurityUtils.getUsername()));
+ }
}
--
Gitblit v1.9.3