2022-03-31初始化

This commit is contained in:
djz236
2022-03-31 16:51:44 +08:00
commit 8fe9b95f86
98 changed files with 8758 additions and 0 deletions

252
yyd-demo/demo-biz/pom.xml Normal file
View File

@@ -0,0 +1,252 @@
<?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>yyd-demo</artifactId>
<groupId>com.yyd</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>demo-biz</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<dependency>
<groupId>com.yyd</groupId>
<artifactId>yyd-base-redis</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.yyd</groupId>
<artifactId>yyd-base-handler</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.yyd</groupId>
<artifactId>yyd-base-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.yyd</groupId>
<artifactId>demo-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.yyd</groupId>
<artifactId>yyd-base-jdbc</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>net.dongliu</groupId>
<artifactId>apk-parser</artifactId>
<version>2.6.10</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--引入redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<exclusions>
<exclusion>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.auth0/java-jwt -->
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
</dependency>
<dependency>
<groupId>com.github.penggle</groupId>
<artifactId>kaptcha</artifactId>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>axis</groupId>
<artifactId>axis-jaxrpc</artifactId>
<version>1.2.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-discovery/commons-discovery -->
<dependency>
<groupId>commons-discovery</groupId>
<artifactId>commons-discovery</artifactId>
<version>0.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/wsdl4j/wsdl4j -->
<dependency>
<groupId>wsdl4j</groupId>
<artifactId>wsdl4j</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.73</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.14</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.4.3</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.6.Final</version>
<scope>compile</scope>
</dependency>
<!--工具包-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>${hutool.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-annotation</artifactId>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId>
</dependency>
</dependencies>
<!--
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*Mapper.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>-->
</project>

View File

@@ -0,0 +1,24 @@
package com.yyd.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
/**
* @author dimengzhe
*/
@SpringBootApplication(scanBasePackages = {
"com.yyd.base",
"com.yyd.base.redis",
"com.yyd.demo.*"
})
@EnableDiscoveryClient
@EnableFeignClients(basePackages = {"com.yyd.demo.*","com.yyd.base.*"})
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}

View File

@@ -0,0 +1,36 @@
package com.yyd.demo.config;
import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* @author dimengzhe
* @date 2020/9/9 16:42
* @description
*/
@Configuration
@EnableSwagger2
@EnableKnife4j
public class Swagger2Config {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo()).select()
.apis(RequestHandlerSelectors.basePackage("com.yyd"))
.paths(PathSelectors.any()).build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("宇运动").description("门户建设接口").version("1.0")
.build();
}
}

View File

@@ -0,0 +1,79 @@
package com.yyd.demo.sysuser;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
/**
* Project: (门户建设) <br/>
* File: SysUserMapper.java <br/>
* Class: com.yxt.anrui.portal.biz.sysuser.SysUserMapper <br/>
* Description: 用户表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface SysUserMapper extends BaseMapper<SysUser> {
IPage<SysUserVo> selectPageVo(IPage<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> ew);
List<SysUserVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<SysUser> qw);
@Select("SELECT user.*,staff.name FROM sys_user user left join sys_staffinfo staff on user.staffSid=staff.sid where user.isDelete=0")
List<SysUserVo> selectListVo();
public int updatePassword(String sid, String password);
public int updatePasswordApp(String sid, String password);
SysUser selectByUserName(String userName);
SysUser selectByUserNameApp(String userName);
SysUser selectByAppId(String appId);
@Update("UPDATE sys_user SET appId=#{appId} WHERE sid=#{sid} and userType=1")
int updateAppId(@Param("sid") String sid, @Param("appId") String appId);
@Update("UPDATE sys_user SET token=#{token} WHERE sid=#{sid}")
int updateToken(@Param("sid") String sid, @Param("token") String token);
SysUser fetchByMobile(String mobile);
void delBySid(String sid);
@Update("UPDATE sys_user SET headImage=#{headImage} WHERE sid=#{sid}")
int updateHeadImage(@Param("sid") String sid, @Param("headImage") String headImage);
/**
* @param mobile 手机号
* @param userType 用户类型
* @description: 根据手机号和用户类型查询客户是否存在
* @return:
* @Author: dimengzhe
* @Date: 2021/10/6 11:35
*/
SysUser selectByMobileAndType(@Param("mobile") String mobile, @Param("userType") int userType);
// @Select("SELECT * FROM sys_user WHERE staffSid=#{staffSid} and isDelete=0")
SysUserVo selectByStaffsid(@Param("staffSid") String staffSid);
@Update("update sys_user set isDelete=1 where isDelete=0 and userType=2 and userName=#{mobile}")
int delSysUserByMobile(@Param("mobile")String mobile);
@Select("select sid from sys_user")
List<String> selectAllUserSid();
}

View File

@@ -0,0 +1,119 @@
<?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.yyd.demo.sysuser.SysUserMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yyd.demo.sysuser.SysUserVo">
SELECT DISTINCT user.staffSid,
(
SELECT GROUP_CONCAT(org.name)
FROM sys_staff_org staffOrg
LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid
WHERE staffOrg.staffSid = user.staffSid
) departmentName,
(
SELECT GROUP_CONCAT(org.sid)
FROM sys_staff_org staffOrg
LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid
WHERE staffOrg.staffSid = user.staffSid
) departmentSid,
(
SELECT GROUP_CONCAT(post.name)
FROM sys_staff_post staffPost
LEFT JOIN sys_post post ON post.sid = staffPost.postSid
WHERE staffPost.staffSid = user.staffSid
) postName,
(
SELECT GROUP_CONCAT(post.sid)
FROM sys_staff_post staffPost
LEFT JOIN sys_post post ON post.sid = staffPost.postSid
WHERE staffPost.staffSid = user.staffSid
) postSid,
user.userName,
user.sid sid,
staff.name,
(
SELECT GROUP_CONCAT(role.name)
FROM sys_user_role user_role
LEFT JOIN sys_role role ON role.sid = user_role.roleSid
WHERE user_role.userSid = USER.sid
) roleName,
dict.dictValue userType,
user.userType userTypeKey
FROM sys_user USER
LEFT JOIN sys_user_role user_role ON user_role.userSid = USER.sid
LEFT JOIN sys_role role ON role.sid = user_role.roleSid
LEFT JOIN dict_common dict ON dict.dictKey = user.userType AND dict.dictType = 'userType'
LEFT JOIN sys_staffinfo staff ON staff.sid = user.staffSid
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectListAllVo" resultType="com.yyd.demo.sysuser.SysUserVo">
SELECT *
FROM sys_user
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectByUserName" resultType="com.yyd.demo.sysuser.SysUser">
SELECT *
FROM sys_user
where userName = #{param1}
and isDelete = 0
</select>
<select id="selectByUserNameApp" resultType="com.yyd.demo.sysuser.SysUser">
SELECT *
FROM sys_user
where userName = #{param1}
and isDelete = 0
and userType = 1
</select>
<select id="selectByAppId" resultType="com.yyd.demo.sysuser.SysUser">
SELECT *
FROM sys_user
where appId = #{appId}
and isDelete = 0
and userType = 1
</select>
<select id="fetchByMobile" resultType="com.yyd.demo.sysuser.SysUser">
SELECT *
FROM sys_user
where mobile = #{param1}
and isDelete = 0
</select>
<!--updatePassword-->
<update id="updatePassword">
update sys_user
set password=#{param2}
where sid = #{param1}
</update>
<update id="updatePasswordApp">
update sys_user
set password=#{param2}
where sid = #{param1}
and userType = 1
</update>
<delete id="delBySid">
delete
from sys_user
where sid = #{param1}
</delete>
<!--根据手机号用户名和用户类型查询是否存在该用户-->
<select id="selectByMobileAndType" resultType="com.yyd.demo.sysuser.SysUser">
SELECT *
FROM sys_user
WHERE isDelete = 0
AND userName = #{mobile}
AND userType = #{userType}
</select>
<select id="selectByStaffsid" resultType="com.yyd.demo.sysuser.SysUserVo">
SELECT *
FROM sys_user su
LEFT JOIN sys_staffinfo ss ON su.staffSid = ss.sid
WHERE su.staffSid = #{staffSid}
AND su.isDelete = 0
</select>
</mapper>

View File

@@ -0,0 +1,116 @@
package com.yyd.demo.sysuser;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.yyd.base.common.query.PagerQuery;
import com.yyd.base.common.result.ResultBean;
import com.yyd.base.common.vo.PagerVo;
import com.yyd.base.redis.RedisUtil;
import io.swagger.annotations.Api;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponents;
import org.springframework.web.util.UriComponentsBuilder;
import org.springframework.http.HttpEntity;
import java.net.URI;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysUserFeignFallback.java <br/>
* Class: com.yxt.anrui.portal.biz.sysuser.SysUserRest <br/>
* Description: 用户表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "用户表")
@RestController
@RequestMapping("v1/sysuser")
public class SysUserRest implements SysUserFeign {
private static final Logger log = LoggerFactory.getLogger(SysUserRest.class);
@Autowired
private RedisUtil redisUtil;
@Autowired
private SysUserService sysUserService;
// 定义点选文字图片验证码允许的误差值
private static final int ERROR_AMOUNT = 50;// 定义允许的误差值单位是px
@Override
public ResultBean<SysUserVo> fetch(String id) {
ResultBean rb = ResultBean.fireFail();
// http://USER-SERVICE/user?name={name)
/*Get请求之——getForEntity(Stringurl,Class responseType,Object…urlVariables)
该方法提供了三个参数其中url为请求的地址responseType为请求响应body的包装类型urlVariables为url中的参数绑定该方法的参考调用如下*/
RestTemplate restTemplate=new RestTemplate();
Map<String,String> params=new HashMap<>();
params.put("name","dada"); //
HttpHeaders headers = new HttpHeaders();
headers.add("token", "token");
/*ResponseEntity<String> responseEntity=restTemplate.getForEntity("http://127.0.0.1:8112/demo/v1/sysuser/fetch/1",
new HttpEntity<String>(headers),
String.class,params);*/
ResponseEntity<String> responseEntity = restTemplate.exchange(
"http://127.0.0.1:8112/demo2/v1/sysuser/fetch/1",
HttpMethod.GET,
new HttpEntity<String>(headers),
String.class, params
);
/* Get请求之——getForEntity(URI url,Class responseType)
该方法使用URI对象来替代之前的url和urlVariables参数来指定访问地址和参数绑定。URI是JDK http://java.net包下的一个类表示一个统一资源标识符(Uniform Resource Identifier)引用。参考如下:*/
/* UriComponents uriComponents= UriComponentsBuilder.fromUriString("http://127.0.0.1:8112/demo/v1/sysuser/fetch/1")
.build()
.expand("dodo")
.encode();
URI uri=uriComponents.toUri();
String body = restTemplate.getForEntity(uri, String.class).getBody();
*/
/* Get请求之——getForObject
getForObject方法可以理解为对getForEntity的进一步封装它通过HttpMessageConverterExtractor对HTTP的请求响应体body内容进行对象转换实现请求直接返回包装好的对象内容。getForObject方法有如下
*/
/* getForObject(String url,Class responseType,Object...urlVariables)
getForObject(String url,Class responseType,Map urlVariables)
getForObject(URI url,Class responseType)*/
/* Post 请求
Post请求提供有三种方法postForEntity、postForObject和postForLocation。其中每种方法都存在三种方法postForEntity方法使用如下
*/
SysUser user=new SysUser();
user.setMobile("15097321111");
// responseEntity=restTemplate.postForEntity("http://127.0.0.1:8112/demo/v1/sysuser/save",user,String.class); //提交的body内容为user对象请求的返回的body类型为String
HttpEntity<String> formEntity = new HttpEntity<String>(JSON.toJSONString(user), headers);
ResponseEntity<SysUser> exchange = restTemplate.exchange(
"http://127.0.0.1:8112/demo2/v1/sysuser/save",
HttpMethod.POST,
new HttpEntity<String>(headers),
SysUser.class,
params
);
String body=responseEntity.getBody();
/*postForEntity存在如下三种方法的重载
postForEntity(String url,Object request,Class responseType,Object... uriVariables)
postForEntity(String url,Object request,Class responseType,Map uriVariables)
postForEntity(URI url,Object requestClass responseType)*/
SysUserVo vo = sysUserService.fetchByIdVo(id);
return rb.success().setData(vo);
}
}

View File

@@ -0,0 +1,157 @@
package com.yyd.demo.sysuser;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yyd.base.common.query.PagerQuery;
import com.yyd.base.common.utils.PagerUtil;
import com.yyd.base.common.vo.PagerVo;
import com.yyd.base.jdbc.service.MybatisBaseService;
import com.yyd.base.redis.RedisUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.util.*;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import static java.util.concurrent.Executors.newScheduledThreadPool;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysUserService.java <br/>
* Class: com.yxt.anrui.portal.biz.sysuser.SysUserService <br/>
* Description: 用户表 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
/**
* 设置redis的过期时间为4小时
*/
public static final long USERS_REDIS_SESSION_TL_PC = 4 * 3600;
public static final long USERS_REDIS_SESSION_TL_App = 24 * 15 * 3600;
/**
* 验证码长度
*/
static final int LENGTH_OF_CODE = 4;
/**
* 调用发送短信接口返回值
*/
static final String RESULT_CODE = "1";
/**
* 手机短信登录验证码时效(秒)
*/
static final long APP_LOGIN_CODE_TIME_LIMIT = 300L;
@Autowired
private RedisUtil redisUtil;
public PagerVo<SysUser> listPage(PagerQuery<SysUserQuery> pq) {
SysUserQuery query = pq.getParams();
QueryWrapper<SysUser> qw = createQueryWrapper(query);
IPage<SysUser> page = PagerUtil.queryToPage(pq);
IPage<SysUser> pagging = baseMapper.selectPage(page, qw);
PagerVo<SysUser> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public List<SysUser> listAll(SysUserQuery query) {
QueryWrapper<SysUser> qw = createQueryWrapper(query);
return baseMapper.selectList(qw);
}
private QueryWrapper<SysUser> createQueryWrapper(SysUserQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<SysUser> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getUserName())) {
qw.like("user.userName", query.getUserName());
}
if (StringUtils.isNotBlank(query.getRoleSid())) {
qw.eq("role.sid", query.getRoleSid());
}
return qw;
}
public PagerVo<SysUserVo> listPageVo(PagerQuery<SysUserQuery> pq) {
SysUserQuery query = pq.getParams();
QueryWrapper<SysUser> qw = createQueryWrapper(query);
IPage<SysUser> page = PagerUtil.queryToPage(pq);
IPage<SysUserVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<SysUserVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public List<SysUserVo> listAllVo(SysUserQuery query) {
QueryWrapper<SysUser> qw = createQueryWrapper(query);
return baseMapper.selectListAllVo(qw);
}
public List<SysUserVo> listVo() {
return baseMapper.selectListVo();
}
public SysUserVo fetchByIdVo(String id) {
SysUser entity = this.fetchById(id);
SysUserVo vo = new SysUserVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
public SysUserVo fetchBySidVo(String sid) {
SysUser entity = this.fetchBySid(sid);
String staffSid = entity.getStaffSid();
SysUserVo vo = new SysUserVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
public int updatePassword(String sid, String password) {
return baseMapper.updatePassword(sid, password);
}
public SysUser selectByUserName(String userName) {
return baseMapper.selectByUserName(userName);
}
public SysUser selectByUserNameApp(String userName) {
return baseMapper.selectByUserNameApp(userName);
}
public SysUser selectByAppId(String appId) {
return baseMapper.selectByAppId(appId);
}
public int updateAppId(String sid, String appId) {
return baseMapper.updateAppId(sid, appId);
}
public int updateToken(String sid, String token) {
return baseMapper.updateToken(sid, token);
}
public SysUser fetchByMobile(String mobile) {
SysUser sysUsers = baseMapper.fetchByMobile(mobile);
return sysUsers;
}
public void delBySid(String sid) {
baseMapper.delBySid(sid);
}
}

View File

@@ -0,0 +1,32 @@
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/demo?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true
username: root
password: root
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
redis:
database: 3 # Redis数据库索引默认为0
host: 127.0.0.1
jedis:
pool:
max-active: -1 #连接池最大连接数(使用负值表示没有限制)
max-idle: 8 #连接池中的最大空闲连接
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
min-idle: 0 # 连接池中的最小空闲连接
password: 123456
port: 6379
timeout: 0 # 连接超时时间(毫秒)
image:
upload:
path: D:\\anrui\\upload\\
url:
prefix: http://127.0.0.1:7003/upload/
login:
path: D:\\images\\pic-click

View File

@@ -0,0 +1,30 @@
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/demo?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8
username: root
password: root
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
redis:
database: 3 # Redis数据库索引默认为0
host: 127.0.0.1
jedis:
pool:
max-active: -1 #连接池最大连接数(使用负值表示没有限制)
max-idle: 8 #连接池中的最大空闲连接
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
min-idle: 0 # 连接池中的最小空闲连接
password: 123456
port: 6379
timeout: 0 # 连接超时时间(毫秒)
image:
upload:
path: D:\anrui\upload\
url:
prefix: http://120.46.131.15:8111/upload/
login:
path: D:\images\pic-click

View File

@@ -0,0 +1,30 @@
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/demo?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true
username: root
password: root
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
redis:
database: 3 # Redis数据库索引默认为0
host: 127.0.0.1
jedis:
pool:
max-active: -1 #连接池最大连接数(使用负值表示没有限制)
max-idle: 8 #连接池中的最大空闲连接
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
min-idle: 0 # 连接池中的最小空闲连接
password:
port: 6379
timeout: 0 # 连接超时时间(毫秒)
image:
upload:
path: D:\\anrui\\upload\\
url:
prefix: http://127.0.0.1:7003/upload/
login:
path: D:\\images\\pic-click

View File

@@ -0,0 +1,47 @@
spring:
application:
name: yyd-demo
profiles:
active: devv
messages:
# 国际化资源文件路径
basename: i18n/messages
servlet:
#上传文件
multipart:
max-file-size: 50MB
max-request-size: 100MB
devtools:
restart:
# 热部署开关
enabled: true
mvc:
async:
request-timeout: 20000
server:
port: 7003
max-http-header-size: 102400
undertow:
max-http-post-size: -1
#mybatis
mybatis-plus:
# 配置mapper的扫描找到所有的mapper.xml映射文件
mapper-locations: classpath*:**Mapper.xml
global-config:
refresh: true
db-config:
#定义生成ID的类型
id-type: Auto
db-type: mysql
configuration:
map-underscore-to-camel-case: false
cache-enabled: true
call-setters-on-nulls: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
logging:
config: classpath:log4j.xml

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Configuration后面的status这个用于设置log4j2自身内部的信息输出可以不设置当设置成trace时
你会看到log4j2内部各种详细输出。可以设置成OFF(关闭)或Error(只输出错误信息) -->
<Configuration status="OFF">
<Properties>
<!-- 配置日志文件输出目录 -->
<Property name="log_path" value="log/" />
<Property name="file_name">log</Property>
<Property name="kafka_log_topic">kafka_log_topic</Property>
<Property name="bootstrap_servers">localhost:9092</Property>
</Properties>
<Appenders>
<!-- 输出控制台日志的配置 -->
<Console name="console" target="SYSTEM_OUT">
<!--控制台只输出level及以上级别的信息onMatch其他的直接拒绝onMismatch -->
<ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY" />
<!-- 输出日志的格式 -->
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
<File name="log_file" fileName="${log_path}/${file_name}.log" append="true" immediateFlush="true">
<PatternLayout pattern="%d{yy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</File>
<Kafka name="kafka" topic="${kafka_log_topic}">
<!--<PatternLayout pattern="%date %message"/>-->
<Property name="bootstrap.servers">${bootstrap_servers}</Property>
<!--json格式输出-->
<JsonLayout compact="true" locationInfo="true" complete="false" eventEol="true"/>
</Kafka>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="kafka"/>
<AppenderRef ref="console"/>
<AppenderRef ref="log_file"/>
</Root>
<!-- <Logger name="org.apache.kafka" level="INFO" />--> <!-- avoid recursive logging -->
<logger name="org.springframework" level="INFO"/>
</Loggers>
</Configuration>