基本完成
This commit is contained in:
@@ -1,9 +1,7 @@
|
||||
package cn.wujiangbo;
|
||||
package cn.rensijin.cchs;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
import org.springframework.core.env.Environment;
|
||||
|
||||
/**
|
||||
* @desc:系统启动类
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.wujiangbo.annotation;
|
||||
package cn.rensijin.cchs.annotation;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.wujiangbo.annotation;
|
||||
package cn.rensijin.cchs.annotation;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.wujiangbo.config.cors;
|
||||
package cn.rensijin.cchs.config.cors;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.wujiangbo.config.date;
|
||||
package cn.rensijin.cchs.config.date;
|
||||
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.wujiangbo.config.date;
|
||||
package cn.rensijin.cchs.config.date;
|
||||
|
||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.wujiangbo.config.mp;
|
||||
package cn.rensijin.cchs.config.mp;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
@@ -9,7 +9,7 @@ import org.springframework.context.annotation.Configuration;
|
||||
* @description: MyBatiesPlus配置类
|
||||
*/
|
||||
@Configuration
|
||||
@MapperScan("cn.wujiangbo.mapper")
|
||||
@MapperScan("cn.rensijin.cchs.mapper")
|
||||
public class MyBatiesPlusConfiguration {
|
||||
|
||||
/*
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.wujiangbo.config.redis;
|
||||
package cn.rensijin.cchs.config.redis;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonAutoDetect;
|
||||
import com.fasterxml.jackson.annotation.PropertyAccessor;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.wujiangbo.config.swagger;
|
||||
package cn.rensijin.cchs.config.swagger;
|
||||
|
||||
import io.swagger.models.auth.In;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
@@ -33,7 +33,7 @@ public class Swagger2 {
|
||||
.select()
|
||||
//.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))//扫描所有有注解的api
|
||||
//.apis(RequestHandlerSelectors.any())//扫描所有
|
||||
.apis(RequestHandlerSelectors.basePackage("cn.wujiangbo.controller"))//扫描包
|
||||
.apis(RequestHandlerSelectors.basePackage("cn.rensijin.cchs.controller"))//扫描包
|
||||
.paths(PathSelectors.any())
|
||||
.build()
|
||||
/* 设置安全模式,swagger可以设置访问token */
|
||||
@@ -1,8 +1,8 @@
|
||||
package cn.wujiangbo.config.web;
|
||||
package cn.rensijin.cchs.config.web;
|
||||
|
||||
import cn.wujiangbo.config.date.JacksonObjectMapper;
|
||||
import cn.wujiangbo.interceptor.LoginInterceptor;
|
||||
import cn.wujiangbo.interceptor.RateLimitInterceptor;
|
||||
import cn.rensijin.cchs.config.date.JacksonObjectMapper;
|
||||
import cn.rensijin.cchs.interceptor.LoginInterceptor;
|
||||
import cn.rensijin.cchs.interceptor.RateLimitInterceptor;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.http.converter.HttpMessageConverter;
|
||||
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.wujiangbo.constants;
|
||||
package cn.rensijin.cchs.constants;
|
||||
|
||||
/**
|
||||
* 系统错误码
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.wujiangbo.constants;
|
||||
package cn.rensijin.cchs.constants;
|
||||
|
||||
/**
|
||||
* @description 系统常量类
|
||||
@@ -1,15 +1,15 @@
|
||||
package cn.wujiangbo.controller;
|
||||
package cn.rensijin.cchs.controller;
|
||||
|
||||
import cn.hutool.crypto.SecureUtil;
|
||||
import cn.wujiangbo.annotation.IgnoreAuth;
|
||||
import cn.wujiangbo.constants.ErrorCode;
|
||||
import cn.wujiangbo.constants.SystemConstants;
|
||||
import cn.wujiangbo.domain.system.SysUser;
|
||||
import cn.wujiangbo.exception.MyException;
|
||||
import cn.wujiangbo.mapper.system.SysUserMapper;
|
||||
import cn.wujiangbo.result.JSONResult;
|
||||
import cn.wujiangbo.util.MyTools;
|
||||
import cn.wujiangbo.vo.UserTokenVo;
|
||||
import cn.rensijin.cchs.annotation.IgnoreAuth;
|
||||
import cn.rensijin.cchs.constants.ErrorCode;
|
||||
import cn.rensijin.cchs.constants.SystemConstants;
|
||||
import cn.rensijin.cchs.domain.system.SysUser;
|
||||
import cn.rensijin.cchs.exception.MyException;
|
||||
import cn.rensijin.cchs.mapper.system.SysUserMapper;
|
||||
import cn.rensijin.cchs.result.JSONResult;
|
||||
import cn.rensijin.cchs.util.MyTools;
|
||||
import cn.rensijin.cchs.vo.UserTokenVo;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.wf.captcha.SpecCaptcha;
|
||||
@@ -1,32 +1,21 @@
|
||||
package cn.wujiangbo.controller;
|
||||
package cn.rensijin.cchs.controller;
|
||||
|
||||
|
||||
import cn.hutool.crypto.SecureUtil;
|
||||
import cn.wujiangbo.annotation.IgnoreAuth;
|
||||
import cn.wujiangbo.constants.ErrorCode;
|
||||
import cn.wujiangbo.constants.SystemConstants;
|
||||
import cn.wujiangbo.domain.app.AppUser;
|
||||
import cn.wujiangbo.domain.system.SysUser;
|
||||
import cn.wujiangbo.exception.MyException;
|
||||
import cn.wujiangbo.result.JSONResult;
|
||||
import cn.wujiangbo.service.system.SysUserService;
|
||||
import cn.wujiangbo.util.DateUtils;
|
||||
import cn.wujiangbo.util.MyTools;
|
||||
import cn.wujiangbo.vo.UserTokenVo;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import cn.rensijin.cchs.annotation.IgnoreAuth;
|
||||
import cn.rensijin.cchs.domain.system.SysUser;
|
||||
import cn.rensijin.cchs.exception.MyException;
|
||||
import cn.rensijin.cchs.result.JSONResult;
|
||||
import cn.rensijin.cchs.service.system.SysUserService;
|
||||
import cn.rensijin.cchs.util.MyTools;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
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.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* @desc 用户注册
|
||||
*/
|
||||
@@ -1,7 +1,7 @@
|
||||
package cn.wujiangbo.controller;
|
||||
package cn.rensijin.cchs.controller;
|
||||
|
||||
import cn.wujiangbo.annotation.RateLimit;
|
||||
import cn.wujiangbo.result.JSONResult;
|
||||
import cn.rensijin.cchs.annotation.RateLimit;
|
||||
import cn.rensijin.cchs.result.JSONResult;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
@@ -1,13 +1,12 @@
|
||||
package cn.wujiangbo.controller.app;
|
||||
package cn.rensijin.cchs.controller.app;
|
||||
|
||||
import cn.wujiangbo.domain.app.AppSuggestion;
|
||||
import cn.wujiangbo.result.PageList;
|
||||
import cn.wujiangbo.service.app.AppSuggestionService;
|
||||
import cn.wujiangbo.query.app.AppSuggestionQuery;
|
||||
import cn.wujiangbo.controller.base.BaseController;
|
||||
import cn.wujiangbo.util.DateUtils;
|
||||
import cn.wujiangbo.result.JSONResult;
|
||||
import cn.wujiangbo.result.PageList;
|
||||
import cn.rensijin.cchs.domain.app.AppSuggestion;
|
||||
import cn.rensijin.cchs.result.PageList;
|
||||
import cn.rensijin.cchs.service.app.AppSuggestionService;
|
||||
import cn.rensijin.cchs.query.app.AppSuggestionQuery;
|
||||
import cn.rensijin.cchs.controller.base.BaseController;
|
||||
import cn.rensijin.cchs.util.DateUtils;
|
||||
import cn.rensijin.cchs.result.JSONResult;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -1,13 +1,11 @@
|
||||
package cn.wujiangbo.controller.base;
|
||||
package cn.rensijin.cchs.controller.base;
|
||||
|
||||
import cn.wujiangbo.constants.ErrorCode;
|
||||
import cn.wujiangbo.constants.SystemConstants;
|
||||
import cn.wujiangbo.domain.app.AppUser;
|
||||
import cn.wujiangbo.domain.system.SysUser;
|
||||
import cn.wujiangbo.exception.MyException;
|
||||
import cn.wujiangbo.service.app.AppUserService;
|
||||
import cn.wujiangbo.util.MyTools;
|
||||
import cn.wujiangbo.util.RedisCache;
|
||||
import cn.rensijin.cchs.constants.ErrorCode;
|
||||
import cn.rensijin.cchs.constants.SystemConstants;
|
||||
import cn.rensijin.cchs.domain.system.SysUser;
|
||||
import cn.rensijin.cchs.exception.MyException;
|
||||
import cn.rensijin.cchs.util.MyTools;
|
||||
import cn.rensijin.cchs.util.RedisCache;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
@@ -23,40 +21,8 @@ public class BaseController {
|
||||
@Resource
|
||||
private RedisCache redisCache;
|
||||
|
||||
@Resource
|
||||
private AppUserService appUserService;
|
||||
|
||||
/**
|
||||
* 获取APP用户昵称
|
||||
*/
|
||||
public String getAppNickName() {
|
||||
Long appUserId = getAppUserId();
|
||||
if (appUserId != null) {
|
||||
AppUser one = appUserService.getById(appUserId);
|
||||
if (one != null) {
|
||||
return one.getNickName();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取APP用户ID
|
||||
*/
|
||||
public Long getAppUserId() {
|
||||
HttpServletRequest request = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
|
||||
if (request != null) {
|
||||
String headerToken = request.getHeader("token");
|
||||
if (MyTools.hasLength(headerToken)) {
|
||||
String userInfo = redisCache.getCacheObject(SystemConstants.LOGIN_TOKEN_KEY_APP + headerToken);
|
||||
AppUser user = JSONObject.parseObject(userInfo, AppUser.class);
|
||||
return user.getId();
|
||||
} else {
|
||||
throw new MyException("您没有权限进行此操作!");
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取登录人的信息
|
||||
@@ -1,21 +1,20 @@
|
||||
package cn.wujiangbo.controller.system;
|
||||
package cn.rensijin.cchs.controller.system;
|
||||
|
||||
import cn.hutool.crypto.SecureUtil;
|
||||
import cn.wujiangbo.constants.SystemConstants;
|
||||
import cn.wujiangbo.controller.base.BaseController;
|
||||
import cn.wujiangbo.domain.system.SysUser;
|
||||
import cn.wujiangbo.query.system.SysUserQuery;
|
||||
import cn.wujiangbo.result.JSONResult;
|
||||
import cn.wujiangbo.result.PageList;
|
||||
import cn.wujiangbo.service.system.SysUserService;
|
||||
import cn.wujiangbo.util.DateUtils;
|
||||
import cn.wujiangbo.util.MyTools;
|
||||
import cn.rensijin.cchs.constants.SystemConstants;
|
||||
import cn.rensijin.cchs.controller.base.BaseController;
|
||||
import cn.rensijin.cchs.domain.system.SysUser;
|
||||
import cn.rensijin.cchs.query.system.SysUserQuery;
|
||||
import cn.rensijin.cchs.result.JSONResult;
|
||||
import cn.rensijin.cchs.result.PageList;
|
||||
import cn.rensijin.cchs.service.system.SysUserService;
|
||||
import cn.rensijin.cchs.util.DateUtils;
|
||||
import cn.rensijin.cchs.util.MyTools;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -1,11 +1,11 @@
|
||||
package cn.wujiangbo.domain.app;
|
||||
package cn.rensijin.cchs.domain.app;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.time.LocalDateTime;
|
||||
import java.io.Serializable;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import cn.wujiangbo.domain.base.BaseDomain;
|
||||
import cn.rensijin.cchs.domain.base.BaseDomain;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.wujiangbo.domain.base;
|
||||
package cn.rensijin.cchs.domain.base;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
@@ -1,11 +1,11 @@
|
||||
package cn.wujiangbo.domain.system;
|
||||
package cn.rensijin.cchs.domain.system;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.time.LocalDateTime;
|
||||
import java.io.Serializable;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import cn.wujiangbo.domain.base.BaseDomain;
|
||||
import cn.rensijin.cchs.domain.base.BaseDomain;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.wujiangbo.dto;
|
||||
package cn.rensijin.cchs.dto;
|
||||
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.wujiangbo.dto;
|
||||
package cn.rensijin.cchs.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package cn.wujiangbo.exception;
|
||||
package cn.rensijin.cchs.exception;
|
||||
|
||||
import cn.wujiangbo.constants.ErrorCode;
|
||||
import cn.wujiangbo.result.JSONResult;
|
||||
import cn.rensijin.cchs.constants.ErrorCode;
|
||||
import cn.rensijin.cchs.result.JSONResult;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.ExceptionHandler;
|
||||
import org.springframework.web.bind.annotation.RestControllerAdvice;
|
||||
@@ -1,6 +1,6 @@
|
||||
package cn.wujiangbo.exception;
|
||||
package cn.rensijin.cchs.exception;
|
||||
|
||||
import cn.wujiangbo.constants.ErrorCode;
|
||||
import cn.rensijin.cchs.constants.ErrorCode;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
@@ -1,11 +1,10 @@
|
||||
package cn.wujiangbo.interceptor;
|
||||
package cn.rensijin.cchs.interceptor;
|
||||
|
||||
import cn.wujiangbo.annotation.IgnoreAuth;
|
||||
import cn.wujiangbo.constants.ErrorCode;
|
||||
import cn.wujiangbo.constants.SystemConstants;
|
||||
import cn.wujiangbo.exception.MyException;
|
||||
import cn.wujiangbo.util.MyTools;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import cn.rensijin.cchs.annotation.IgnoreAuth;
|
||||
import cn.rensijin.cchs.constants.ErrorCode;
|
||||
import cn.rensijin.cchs.constants.SystemConstants;
|
||||
import cn.rensijin.cchs.exception.MyException;
|
||||
import cn.rensijin.cchs.util.MyTools;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.method.HandlerMethod;
|
||||
@@ -1,7 +1,7 @@
|
||||
package cn.wujiangbo.interceptor;
|
||||
package cn.rensijin.cchs.interceptor;
|
||||
|
||||
import cn.wujiangbo.annotation.RateLimit;
|
||||
import cn.wujiangbo.exception.MyException;
|
||||
import cn.rensijin.cchs.annotation.RateLimit;
|
||||
import cn.rensijin.cchs.exception.MyException;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.method.HandlerMethod;
|
||||
@@ -1,8 +1,8 @@
|
||||
package cn.wujiangbo.mapper.app;
|
||||
package cn.rensijin.cchs.mapper.app;
|
||||
|
||||
import cn.wujiangbo.domain.app.AppSuggestion;
|
||||
import cn.wujiangbo.dto.AppSuggestionVO;
|
||||
import cn.wujiangbo.query.app.AppSuggestionQuery;
|
||||
import cn.rensijin.cchs.domain.app.AppSuggestion;
|
||||
import cn.rensijin.cchs.dto.AppSuggestionVO;
|
||||
import cn.rensijin.cchs.query.app.AppSuggestionQuery;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@@ -1,6 +1,6 @@
|
||||
package cn.wujiangbo.mapper.system;
|
||||
package cn.rensijin.cchs.mapper.system;
|
||||
|
||||
import cn.wujiangbo.domain.system.SysUser;
|
||||
import cn.rensijin.cchs.domain.system.SysUser;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
@@ -1,6 +1,6 @@
|
||||
package cn.wujiangbo.query.app;
|
||||
package cn.rensijin.cchs.query.app;
|
||||
|
||||
import cn.wujiangbo.query.base.BaseQuery;
|
||||
import cn.rensijin.cchs.query.base.BaseQuery;
|
||||
|
||||
/**
|
||||
* 意见反馈表-查询对象
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.wujiangbo.query.base;
|
||||
package cn.rensijin.cchs.query.base;
|
||||
|
||||
import lombok.Data;
|
||||
import java.io.Serializable;
|
||||
@@ -1,6 +1,6 @@
|
||||
package cn.wujiangbo.query.system;
|
||||
package cn.rensijin.cchs.query.system;
|
||||
|
||||
import cn.wujiangbo.query.base.BaseQuery;
|
||||
import cn.rensijin.cchs.query.base.BaseQuery;
|
||||
|
||||
/**
|
||||
* @desc 用户信息表-查询对象
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.wujiangbo.result;
|
||||
package cn.rensijin.cchs.result;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.wujiangbo.result;
|
||||
package cn.rensijin.cchs.result;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package cn.wujiangbo.service.app;
|
||||
package cn.rensijin.cchs.service.app;
|
||||
|
||||
import cn.wujiangbo.domain.app.AppSuggestion;
|
||||
import cn.wujiangbo.dto.AppSuggestionVO;
|
||||
import cn.wujiangbo.mapper.app.AppSuggestionMapper;
|
||||
import cn.wujiangbo.query.app.AppSuggestionQuery;
|
||||
import cn.wujiangbo.util.MyTools;
|
||||
import cn.rensijin.cchs.domain.app.AppSuggestion;
|
||||
import cn.rensijin.cchs.dto.AppSuggestionVO;
|
||||
import cn.rensijin.cchs.mapper.app.AppSuggestionMapper;
|
||||
import cn.rensijin.cchs.query.app.AppSuggestionQuery;
|
||||
import cn.rensijin.cchs.util.MyTools;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@@ -1,6 +1,6 @@
|
||||
package cn.wujiangbo.service.system;
|
||||
package cn.rensijin.cchs.service.system;
|
||||
|
||||
import cn.wujiangbo.vo.UploadFileVo;
|
||||
import cn.rensijin.cchs.vo.UploadFileVo;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
/**
|
||||
@@ -1,20 +1,19 @@
|
||||
package cn.wujiangbo.service.system;
|
||||
package cn.rensijin.cchs.service.system;
|
||||
|
||||
import cn.wujiangbo.constants.ErrorCode;
|
||||
import cn.wujiangbo.constants.SystemConstants;
|
||||
import cn.wujiangbo.domain.system.SysUser;
|
||||
import cn.wujiangbo.exception.MyException;
|
||||
import cn.wujiangbo.mapper.system.SysUserMapper;
|
||||
import cn.wujiangbo.query.system.SysUserQuery;
|
||||
import cn.wujiangbo.result.JSONResult;
|
||||
import cn.wujiangbo.util.MyTools;
|
||||
import cn.rensijin.cchs.constants.ErrorCode;
|
||||
import cn.rensijin.cchs.constants.SystemConstants;
|
||||
import cn.rensijin.cchs.domain.system.SysUser;
|
||||
import cn.rensijin.cchs.exception.MyException;
|
||||
import cn.rensijin.cchs.mapper.system.SysUserMapper;
|
||||
import cn.rensijin.cchs.query.system.SysUserQuery;
|
||||
import cn.rensijin.cchs.result.JSONResult;
|
||||
import cn.rensijin.cchs.util.MyTools;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -1,9 +1,9 @@
|
||||
package cn.wujiangbo.service.system.impl;
|
||||
package cn.rensijin.cchs.service.system.impl;
|
||||
|
||||
import cn.wujiangbo.exception.MyException;
|
||||
import cn.wujiangbo.service.system.FileService;
|
||||
import cn.wujiangbo.util.DateUtils;
|
||||
import cn.wujiangbo.vo.UploadFileVo;
|
||||
import cn.rensijin.cchs.exception.MyException;
|
||||
import cn.rensijin.cchs.service.system.FileService;
|
||||
import cn.rensijin.cchs.util.DateUtils;
|
||||
import cn.rensijin.cchs.vo.UploadFileVo;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.wujiangbo.util;
|
||||
package cn.rensijin.cchs.util;
|
||||
|
||||
import org.apache.commons.lang3.time.DateFormatUtils;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.wujiangbo.util;
|
||||
package cn.rensijin.cchs.util;
|
||||
|
||||
import cn.hutool.core.lang.UUID;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -1,8 +1,8 @@
|
||||
package cn.wujiangbo.util;
|
||||
package cn.rensijin.cchs.util;
|
||||
|
||||
import cn.hutool.core.codec.Base64Encoder;
|
||||
import cn.hutool.crypto.SecureUtil;
|
||||
import cn.wujiangbo.constants.SystemConstants;
|
||||
import cn.rensijin.cchs.constants.SystemConstants;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.wujiangbo.util;
|
||||
package cn.rensijin.cchs.util;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.BoundSetOperations;
|
||||
@@ -1,6 +1,5 @@
|
||||
package cn.wujiangbo.vo;
|
||||
package cn.rensijin.cchs.vo;
|
||||
|
||||
import cn.wujiangbo.domain.app.AppUser;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
@@ -12,5 +11,4 @@ public class LoginSuccessVo {
|
||||
private String refToken;//刷新token
|
||||
private Long userId;//用户ID
|
||||
private Integer roleId;
|
||||
private AppUser appUser;//APP用户信息
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.wujiangbo.vo;
|
||||
package cn.rensijin.cchs.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.wujiangbo.vo;
|
||||
package cn.rensijin.cchs.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -1,99 +0,0 @@
|
||||
package cn.wujiangbo.domain.app;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.time.LocalDateTime;
|
||||
import java.io.Serializable;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import cn.wujiangbo.domain.base.BaseDomain;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* APP用户信息表
|
||||
* </p>
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value="app_user 表对应的实体对象", description="APP用户信息表")
|
||||
public class AppUser extends BaseDomain implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "主键ID")
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
@TableField(value = "update_time")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
@ApiModelProperty(value = "登录账号")
|
||||
@TableField(value = "login_name")
|
||||
private String loginName;
|
||||
|
||||
@ApiModelProperty(value = "登录密码")
|
||||
@TableField(value = "login_pass")
|
||||
private String loginPass;
|
||||
|
||||
@ApiModelProperty(value = "昵称")
|
||||
@TableField(value = "nick_name")
|
||||
private String nickName;
|
||||
|
||||
@ApiModelProperty(value = "用户头像")
|
||||
@TableField(value = "user_img")
|
||||
private String userImg;
|
||||
|
||||
@ApiModelProperty(value = "用户性别(0:男;1:女)")
|
||||
@TableField(value = "user_sex")
|
||||
private Integer userSex;
|
||||
|
||||
@ApiModelProperty(value = "用户手机号")
|
||||
@TableField(value = "user_phone")
|
||||
private String userPhone;
|
||||
|
||||
@ApiModelProperty(value = "用户状态(1:正常;2:限制登录)")
|
||||
@TableField(value = "user_status")
|
||||
private Integer userStatus;
|
||||
|
||||
@ApiModelProperty(value = "限制登录原因")
|
||||
@TableField(value = "user_error")
|
||||
private String userError;
|
||||
|
||||
@ApiModelProperty(value = "用户个人简介")
|
||||
@TableField(value = "user_brief")
|
||||
private String userBrief;
|
||||
|
||||
@ApiModelProperty(value = "最后一次登录时间")
|
||||
@TableField(value = "last_login_time")
|
||||
private LocalDateTime lastLoginTime;
|
||||
|
||||
@ApiModelProperty(value = "注册时间")
|
||||
@TableField(value = "register_time")
|
||||
private LocalDateTime registerTime;
|
||||
|
||||
@ApiModelProperty(value = "账户余额")
|
||||
@TableField(value = "user_money")
|
||||
private BigDecimal userMoney;
|
||||
|
||||
@ApiModelProperty(value = "是否是管理员(1:是;2:否)")
|
||||
@TableField(value = "admin_flag")
|
||||
private Integer adminFlag;
|
||||
|
||||
/***********************************************************************************
|
||||
***********************************************************************************/
|
||||
|
||||
@ApiModelProperty(value = "新密码")
|
||||
@TableField(exist = false)
|
||||
private String password2;
|
||||
|
||||
@ApiModelProperty(value = "短信验证码")
|
||||
@TableField(exist = false)
|
||||
private String smsCode;
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
package cn.wujiangbo.mapper.app;
|
||||
|
||||
import cn.wujiangbo.domain.app.AppUser;
|
||||
import cn.wujiangbo.dto.AppSuggestionVO;
|
||||
import cn.wujiangbo.query.app.AppSuggestionQuery;
|
||||
import cn.wujiangbo.query.app.AppUserQuery;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* APP用户信息表 Mapper接口
|
||||
* </p>
|
||||
*/
|
||||
public interface AppUserMapper extends BaseMapper<AppUser> {
|
||||
|
||||
//查询分页列表数据
|
||||
List<AppUser> selectMySqlPage(Page<AppUser> page, @Param("query") AppUserQuery query);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
package cn.wujiangbo.query.app;
|
||||
|
||||
import cn.wujiangbo.query.base.BaseQuery;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 轮播图表-查询对象
|
||||
*/
|
||||
@Data
|
||||
public class AppSwiperQuery extends BaseQuery{
|
||||
|
||||
@ApiModelProperty(value = "轮播图业务类型")
|
||||
private String busType;
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
package cn.wujiangbo.query.app;
|
||||
|
||||
import cn.wujiangbo.query.base.BaseQuery;
|
||||
|
||||
/**
|
||||
* APP用户信息表-查询对象
|
||||
*/
|
||||
public class AppUserQuery extends BaseQuery{
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
package cn.wujiangbo.service.app;
|
||||
|
||||
import cn.wujiangbo.domain.app.AppUser;
|
||||
import cn.wujiangbo.mapper.app.AppUserMapper;
|
||||
import cn.wujiangbo.query.app.AppUserQuery;
|
||||
import cn.wujiangbo.util.MyTools;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.stereotype.Service;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* APP用户信息表 服务实现类
|
||||
* </p>
|
||||
*/
|
||||
@Transactional
|
||||
@Service
|
||||
@Slf4j
|
||||
public class AppUserService extends ServiceImpl<AppUserMapper, AppUser>{
|
||||
|
||||
@Resource
|
||||
private AppUserMapper appuserMapper;
|
||||
|
||||
//查询分页列表数据(使用QueryWrapper操作)
|
||||
public Page<AppUser> selectMyPage(AppUserQuery query) {
|
||||
QueryWrapper<AppUser> wrapper = new QueryWrapper<>();
|
||||
if (MyTools.hasLength(query.getKeyword())) {
|
||||
wrapper.and(i -> i.like("id", query.getKeyword()));
|
||||
}
|
||||
//排序
|
||||
wrapper.orderByDesc("id");
|
||||
Page<AppUser> page = new Page<>(query.getCurrent(), query.getSize());
|
||||
return super.page(page, wrapper);
|
||||
}
|
||||
|
||||
//查询分页列表数据(自己写SQL)
|
||||
public Page<AppUser> selectMySqlPage(AppUserQuery query) {
|
||||
Page<AppUser> page = new Page<>(query.getCurrent(), query.getSize());
|
||||
List<AppUser> list = appuserMapper.selectMySqlPage(page, query);
|
||||
return page.setRecords(list);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,127 +0,0 @@
|
||||
//package cn.wujiangbo.service.system.impl;
|
||||
//
|
||||
//import cn.wujiangbo.dto.OssDto;
|
||||
//import cn.wujiangbo.exception.MyException;
|
||||
//import cn.wujiangbo.service.system.FileService;
|
||||
//import cn.wujiangbo.util.DateUtils;
|
||||
//import cn.wujiangbo.util.MyTools;
|
||||
//import cn.wujiangbo.vo.UploadFileVo;
|
||||
//import com.aliyun.oss.OSS;
|
||||
//import com.aliyun.oss.OSSClientBuilder;
|
||||
//import com.aliyun.oss.model.PutObjectRequest;
|
||||
//import lombok.extern.slf4j.Slf4j;
|
||||
//import org.springframework.beans.factory.annotation.Value;
|
||||
//import org.springframework.stereotype.Service;
|
||||
//import org.springframework.web.multipart.MultipartFile;
|
||||
//import javax.annotation.Resource;
|
||||
//
|
||||
///**
|
||||
// * <p>文件上传实现类</p>
|
||||
// */
|
||||
//@Service
|
||||
//@Slf4j
|
||||
//public class FileServiceOssImpl implements FileService {
|
||||
//
|
||||
// @Resource
|
||||
// private OssDto ossDto;
|
||||
//
|
||||
// /**
|
||||
// * 文件存储方案(1:文件本地;2:存阿里云OSS)
|
||||
// */
|
||||
// @Value("${file.filescheme}")
|
||||
// private String filescheme;
|
||||
//
|
||||
// @Value("${server.port}")
|
||||
// private String port;
|
||||
//
|
||||
// @Value("${file.download.ip}")
|
||||
// private String downloadIp;
|
||||
//
|
||||
// /**
|
||||
// * 上传文件
|
||||
// * @param multipartFile 文件
|
||||
// * @param folderName 保存文件的路径
|
||||
// * @return UploadFileVo
|
||||
// */
|
||||
// @Override
|
||||
// public UploadFileVo uploadFile(MultipartFile multipartFile, String folderName) {
|
||||
// System.out.println("上传文件存储方案:" + ("1".equals(filescheme) ? "本地" : "OSS"));
|
||||
// if ("1".equals(filescheme)) {
|
||||
// /**
|
||||
// * 注意,如果是存本地的话,files下面必须直接存文件,不能有其他层级了,否则下载时无法下载或预览图片了
|
||||
// */
|
||||
// //上传文件存本地方案
|
||||
// if (multipartFile.isEmpty()) {
|
||||
// throw new MyException("上传文件不能为空!");
|
||||
// }
|
||||
// //获取文件名
|
||||
// String fileName = extractFilename(multipartFile);
|
||||
// // 封装完整的文件路径获取方法
|
||||
// String fileUploadPath = MyTools.getFileUploadPath(fileName);
|
||||
// System.out.println("上传文件磁盘保存路径=" + fileUploadPath);
|
||||
// try {
|
||||
// java.io.File uploadFile = new java.io.File(fileUploadPath);
|
||||
// java.io.File parentFile = uploadFile.getParentFile();
|
||||
// if (!parentFile.exists()) { // 如果父级不存在,也就是说files目录不存在,那么我要创建出来
|
||||
// parentFile.mkdirs();
|
||||
// }
|
||||
// multipartFile.transferTo(uploadFile);
|
||||
// } catch (Exception e) {
|
||||
// log.error("文件上传失败", e);
|
||||
// throw new MyException("上传文件失败!");
|
||||
// }
|
||||
// String filePath = "http://" + downloadIp + ":" + port + "/file/download/" + fileName;
|
||||
// System.out.println("上传文件完整访问路径=" + filePath);
|
||||
// UploadFileVo vo = new UploadFileVo();
|
||||
// vo.setFileName(fileName);
|
||||
// vo.setFilePrefix("http://" + downloadIp + ":" + port + "/file/download/");
|
||||
// vo.setFileFullPath(filePath);
|
||||
// vo.setFileSize(multipartFile.getSize());
|
||||
// return vo;
|
||||
// } else {
|
||||
// //上传文件存OSS方案
|
||||
// if (ossDto.getEnable()) {
|
||||
// if (multipartFile.isEmpty()) {
|
||||
// throw new MyException("上传文件不能为空!");
|
||||
// }
|
||||
// //获取文件名
|
||||
// String fileName = extractFilename(multipartFile);
|
||||
// //所有文件存储必需带上年月信息
|
||||
// fileName = DateUtils.getCurrentYearMonth() + "/" + folderName + "/" + fileName;
|
||||
// OSS build = new OSSClientBuilder().build(ossDto.getEndpoint(), ossDto.getAccessKey(), ossDto.getSecretKey());
|
||||
// try {
|
||||
// PutObjectRequest putObjectRequest = new PutObjectRequest(ossDto.getBucketName(), fileName, multipartFile.getInputStream());
|
||||
// //将文件推到OSS服务器
|
||||
// build.putObject(putObjectRequest);
|
||||
// String imagePath = "https://" + ossDto.getBucketName() + "." + ossDto.getEndpoint() + "/" + fileName;
|
||||
// UploadFileVo vo = new UploadFileVo();
|
||||
// vo.setFileName(fileName);
|
||||
// vo.setFilePrefix("https://" + ossDto.getBucketName() + "." + ossDto.getEndpoint() + "/");
|
||||
// vo.setFileFullPath(imagePath);
|
||||
// vo.setFileSize(multipartFile.getSize());
|
||||
// return vo;
|
||||
// } catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
// log.error("上传文件到阿里OSS服务器发生异常:{}", e.getMessage());
|
||||
// throw new MyException("文件上传至OSS异常!");
|
||||
// } finally {
|
||||
// //关闭OSSClient
|
||||
// build.shutdown();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// return null;
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 编码文件名,源文件名_当前时间戳
|
||||
// * 如:用户上传的文件名是dog.png,那么此方法返回值为:dog_20231212112323.png
|
||||
// */
|
||||
// public static final String extractFilename(MultipartFile file) {
|
||||
// String fileName = file.getOriginalFilename();
|
||||
// fileName = fileName.substring(0, fileName.lastIndexOf(".")) + "_" + DateUtils.getCurrentDateString(DateUtils.YYYYMMDDHHMMSS) + "." + fileName.substring(fileName.lastIndexOf(".") + 1);
|
||||
// return fileName;
|
||||
// }
|
||||
//
|
||||
//
|
||||
//}
|
||||
@@ -10,14 +10,14 @@ spring:
|
||||
name: EasyJavaTemplate
|
||||
#MySQL数据库相关配置信息
|
||||
datasource:
|
||||
url: jdbc:mysql://10.232.112.35:3306/rensijin-cchs?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||
url: jdbc:mysql://192.168.100.201:3306/rensijin-cchs?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||
username: root #数据库账号
|
||||
password: -w9M627JZeYo5p^3lbH0mqDa #数据库密码
|
||||
password: Abc123654 #数据库密码
|
||||
driver-class-name: com.mysql.jdbc.Driver
|
||||
type: com.alibaba.druid.pool.DruidDataSource
|
||||
#Redis 缓存相关参数配置
|
||||
redis:
|
||||
host: 10.232.12.111
|
||||
host: 127.0.0.1
|
||||
port: 6379 #端口
|
||||
timeout: 5000 #连接超时 毫秒
|
||||
password: Redis11 #密码
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?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="cn.wujiangbo.mapper.app.AppSuggestionMapper">
|
||||
<mapper namespace="cn.rensijin.cchs.mapper.app.AppSuggestionMapper">
|
||||
|
||||
<select id="selectMySqlPage" resultType="cn.wujiangbo.domain.app.AppSuggestion">
|
||||
<select id="selectMySqlPage" resultType="cn.rensijin.cchs.domain.app.AppSuggestion">
|
||||
select t1.*, t2.real_name as createUserName
|
||||
from app_suggestion t1
|
||||
left join sys_user t2 on t1.user_id = t2.id
|
||||
@@ -1,5 +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="cn.wujiangbo.mapper.system.SysUserMapper">
|
||||
<mapper namespace="cn.rensijin.cchs.mapper.system.SysUserMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -1,14 +0,0 @@
|
||||
<?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="cn.wujiangbo.mapper.app.AppUserMapper">
|
||||
|
||||
<select id="selectMySqlPage" resultType="cn.wujiangbo.domain.app.AppUser">
|
||||
select t1.*
|
||||
from app_user t1
|
||||
<where>
|
||||
<if test="query.keyword != null and query.keyword != '' ">
|
||||
and t1.login_name like concat('%', #{query.keyword}, '%')
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user