update v1.1.0 版本接口提交
This commit is contained in:
parent
f65f08d1a6
commit
d098702af7
|
@ -0,0 +1,30 @@
|
||||||
|
package com.m2pool.auth.entity;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.Email;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 管理系统用户登录请求对象
|
||||||
|
* @Date 2025/5/22 16:13
|
||||||
|
* @Author yyb
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel(description = "")
|
||||||
|
public class LoginManageBody {
|
||||||
|
|
||||||
|
/** 邮箱 */
|
||||||
|
@Email
|
||||||
|
@ApiModelProperty(value = "邮箱", required = true, example = "")
|
||||||
|
private String userName;
|
||||||
|
|
||||||
|
/** 密码 */
|
||||||
|
@ApiModelProperty(value = "密码", required = true, example = "")
|
||||||
|
private String password;
|
||||||
|
|
||||||
|
private String uuid;
|
||||||
|
|
||||||
|
//private boolean flag = false;
|
||||||
|
}
|
|
@ -0,0 +1,212 @@
|
||||||
|
<?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">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>com.m2pool</groupId>
|
||||||
|
<artifactId>m2pool-modules</artifactId>
|
||||||
|
<version>3.5.0</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<artifactId>m2pool-manage</artifactId>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<!-- SpringCloud Alibaba Nacos -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba.cloud</groupId>
|
||||||
|
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<!-- SpringCloud Alibaba Nacos Config -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba.cloud</groupId>
|
||||||
|
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- SpringCloud Alibaba Sentinel -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba.cloud</groupId>
|
||||||
|
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-web</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- SpringBoot Actuator -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-actuator</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Swagger UI -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.springfox</groupId>
|
||||||
|
<artifactId>springfox-swagger-ui</artifactId>
|
||||||
|
<version>${swagger.fox.version}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Mysql Connector -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>mysql</groupId>
|
||||||
|
<artifactId>mysql-connector-java</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Lombok -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.projectlombok</groupId>
|
||||||
|
<artifactId>lombok-maven-plugin</artifactId>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- <!– Mybatis-Plus –>-->
|
||||||
|
<!-- <dependency>-->
|
||||||
|
<!-- <groupId>com.baomidou</groupId>-->
|
||||||
|
<!-- <artifactId>mybatis-plus-boot-starter</artifactId>-->
|
||||||
|
<!-- <exclusions>-->
|
||||||
|
<!-- <exclusion>-->
|
||||||
|
<!-- <artifactId>jsqlparser</artifactId>-->
|
||||||
|
<!-- <groupId>com.github.jsqlparser</groupId>-->
|
||||||
|
<!-- </exclusion>-->
|
||||||
|
<!--<!– <exclusion>–>-->
|
||||||
|
<!--<!– <artifactId>mybatis</artifactId>–>-->
|
||||||
|
<!--<!– <groupId>org.mybatis</groupId>–>-->
|
||||||
|
<!--<!– </exclusion>–>-->
|
||||||
|
<!-- </exclusions>-->
|
||||||
|
<!-- </dependency>-->
|
||||||
|
|
||||||
|
<!-- M2Pool Common DataSource -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.m2pool</groupId>
|
||||||
|
<artifactId>common-datasource</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- M2Pool Common security -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.m2pool</groupId>
|
||||||
|
<artifactId>common-security</artifactId>
|
||||||
|
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.m2pool</groupId>
|
||||||
|
<artifactId>common-log</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.m2pool</groupId>
|
||||||
|
<artifactId>common-swagger</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- WebSocket-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-websocket</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.java-websocket</groupId>
|
||||||
|
<artifactId>Java-WebSocket</artifactId>
|
||||||
|
<version>1.3.5</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>cn.hutool</groupId>
|
||||||
|
<artifactId>hutool-all</artifactId>
|
||||||
|
<version>5.6.2</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.mybatis</groupId>
|
||||||
|
<artifactId>mybatis</artifactId>
|
||||||
|
<version>3.5.7</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.baomidou</groupId>
|
||||||
|
<artifactId>mybatis-plus-boot-starter</artifactId>
|
||||||
|
<version>3.5.3</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!--google两步认证相关-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>de.taimos</groupId>
|
||||||
|
<artifactId>totp</artifactId>
|
||||||
|
<version>1.0</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>commons-codec</groupId>
|
||||||
|
<artifactId>commons-codec</artifactId>
|
||||||
|
<version>1.10</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.zxing</groupId>
|
||||||
|
<artifactId>javase</artifactId>
|
||||||
|
<version>3.3.0</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<profiles>
|
||||||
|
<profile>
|
||||||
|
<!-- 本地环境 -->
|
||||||
|
<id>dev</id>
|
||||||
|
<properties>
|
||||||
|
<spring.profile>dev</spring.profile>
|
||||||
|
<nacos.server.address>127.0.0.1:8808</nacos.server.address>
|
||||||
|
</properties>
|
||||||
|
<activation>
|
||||||
|
<!-- 是否默认激活 -->
|
||||||
|
<activeByDefault>true</activeByDefault>
|
||||||
|
</activation>
|
||||||
|
</profile>
|
||||||
|
<profile>
|
||||||
|
<!-- 测试环境 -->
|
||||||
|
<id>test</id>
|
||||||
|
<properties>
|
||||||
|
<spring.profile>test</spring.profile>
|
||||||
|
<nacos.server.address>127.0.0.1:8808</nacos.server.address>
|
||||||
|
</properties>
|
||||||
|
<activation>
|
||||||
|
<activeByDefault>false</activeByDefault>
|
||||||
|
</activation>
|
||||||
|
</profile>
|
||||||
|
<profile>
|
||||||
|
<!-- 生产环境 -->
|
||||||
|
<id>prod</id>
|
||||||
|
<properties>
|
||||||
|
<spring.profile>prod</spring.profile>
|
||||||
|
<nacos.server.address>127.0.0.1:8808</nacos.server.address>
|
||||||
|
</properties>
|
||||||
|
<activation>
|
||||||
|
<activeByDefault>false</activeByDefault>
|
||||||
|
</activation>
|
||||||
|
</profile>
|
||||||
|
</profiles>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<finalName>${project.artifactId}</finalName>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||||
|
<version>2.5.6</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<goals>
|
||||||
|
<goal>repackage</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
|
||||||
|
</project>
|
|
@ -0,0 +1,33 @@
|
||||||
|
package com.m2pool.manage;
|
||||||
|
|
||||||
|
import com.m2pool.common.security.annotation.EnableCustomConfig;
|
||||||
|
import com.m2pool.common.security.annotation.EnableM2PoolFeignClients;
|
||||||
|
import com.m2pool.common.swagger.annotation.EnableCustomSwagger2;
|
||||||
|
import org.mybatis.spring.annotation.MapperScan;
|
||||||
|
import org.springframework.boot.SpringApplication;
|
||||||
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 启动器类
|
||||||
|
* @Date 2025/5/22 14:25
|
||||||
|
* @Author yyb
|
||||||
|
*/
|
||||||
|
@EnableCustomConfig
|
||||||
|
@EnableCustomSwagger2
|
||||||
|
@EnableM2PoolFeignClients
|
||||||
|
@SpringBootApplication
|
||||||
|
@MapperScan({"com.m2pool.manage.mapper"})
|
||||||
|
public class M2ManageApplication {
|
||||||
|
@Bean
|
||||||
|
public RestTemplate restTemplate(){
|
||||||
|
return new RestTemplate();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
SpringApplication.run(M2ManageApplication.class,args);
|
||||||
|
System.out.println("m2pool矿池 管理系统启动成功");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,70 @@
|
||||||
|
package com.m2pool.manage.controller;
|
||||||
|
|
||||||
|
import com.m2pool.common.core.Result.R;
|
||||||
|
import com.m2pool.common.core.utils.PageUtils;
|
||||||
|
import com.m2pool.common.core.web.page.TableDataInfo;
|
||||||
|
import com.m2pool.common.security.annotation.RequiresLogin;
|
||||||
|
import com.m2pool.manage.dto.ManageBroadcastDto;
|
||||||
|
import com.m2pool.manage.service.ManageBroadcastService;
|
||||||
|
import com.m2pool.manage.vo.ManageBaseVo;
|
||||||
|
import com.m2pool.manage.vo.ManageBroadcastVo;
|
||||||
|
import com.m2pool.manage.vo.PageVo;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
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 javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 广播信息控制器类
|
||||||
|
* @Date 2025/5/22 14:22
|
||||||
|
* @Author yyb
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/broadcast")
|
||||||
|
@Api(tags = "广播信息控制器类")
|
||||||
|
public class ManageBroadcastController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ManageBroadcastService manageBroadcastService;
|
||||||
|
|
||||||
|
@PostMapping("/get/list/by/page")
|
||||||
|
@ApiOperation(value = "管理系统:分页查询所有广播信息")
|
||||||
|
@RequiresLogin
|
||||||
|
public TableDataInfo<ManageBroadcastDto> getListDataByPage(@RequestBody PageVo pageVo){
|
||||||
|
return manageBroadcastService.getListDataByPage(pageVo);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/find/data/by/id")
|
||||||
|
@ApiOperation(value = "业务系统:用于获取m2pool广播数据")
|
||||||
|
public R<List<ManageBroadcastDto>> findDataById(@RequestBody ManageBaseVo manageBaseVo){
|
||||||
|
return manageBroadcastService.findDataById(manageBaseVo);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/add")
|
||||||
|
@ApiOperation(value = "管理系统:新增广播")
|
||||||
|
@RequiresLogin
|
||||||
|
public R<String> add(@RequestBody ManageBroadcastVo broadcastVo){
|
||||||
|
return manageBroadcastService.addBroadcast(broadcastVo);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/delete")
|
||||||
|
@ApiOperation(value = "管理系统:删除广播")
|
||||||
|
@RequiresLogin
|
||||||
|
public R<String> delete(@RequestBody ManageBaseVo manageBaseVo){
|
||||||
|
return manageBroadcastService.deleteBroadcastById(manageBaseVo.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/update")
|
||||||
|
@ApiOperation(value = "管理系统:修改广播")
|
||||||
|
@RequiresLogin
|
||||||
|
public R<String> update(@RequestBody ManageBroadcastVo broadcastVo){
|
||||||
|
return manageBroadcastService.updateBroadcast(broadcastVo);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,50 @@
|
||||||
|
package com.m2pool.manage.controller;
|
||||||
|
|
||||||
|
import com.m2pool.common.core.Result.R;
|
||||||
|
import com.m2pool.common.core.web.page.TableDataInfo;
|
||||||
|
import com.m2pool.common.security.annotation.RequiresLogin;
|
||||||
|
import com.m2pool.manage.dto.ManageBroadcastDto;
|
||||||
|
import com.m2pool.manage.dto.ManageUserDto;
|
||||||
|
import com.m2pool.manage.service.ManageUserService;
|
||||||
|
import com.m2pool.manage.vo.EmailVo;
|
||||||
|
import com.m2pool.manage.vo.ManageBaseVo;
|
||||||
|
import com.m2pool.manage.vo.ManageUserVo;
|
||||||
|
import com.m2pool.manage.vo.PageVo;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
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 javax.annotation.Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 管理系统用户信息控制器类
|
||||||
|
* @Date 2025/5/22 14:33
|
||||||
|
* @Author yyb
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/user")
|
||||||
|
@Api(tags = "用户信息控制器类")
|
||||||
|
public class ManageUserController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ManageUserService manageUserService;
|
||||||
|
|
||||||
|
@PostMapping("/list/info")
|
||||||
|
@ApiOperation(value = "管理系统:查询注册用户信息列表")
|
||||||
|
@RequiresLogin
|
||||||
|
public TableDataInfo<ManageUserDto> listInfo(@RequestBody ManageUserVo manageUserVo){
|
||||||
|
return manageUserService.listInfo(manageUserVo);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@PostMapping("/send/text/mail/message")
|
||||||
|
@ApiOperation(value = "管理系统:发送邮件给某些用户")
|
||||||
|
@RequiresLogin
|
||||||
|
public void sendTextMailMessage(@RequestBody EmailVo emailVo){
|
||||||
|
manageUserService.sendTextMailMessage(emailVo.getTo(),emailVo.getSubject(),emailVo.getText());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,36 @@
|
||||||
|
package com.m2pool.manage.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 广播返回对象
|
||||||
|
* @Date 2025/5/22 17:18
|
||||||
|
* @Author yyb
|
||||||
|
*/
|
||||||
|
@Builder
|
||||||
|
@Data
|
||||||
|
@ApiModel(value = "ManageBroadcastDto", description = "广播返回对象")
|
||||||
|
public class ManageBroadcastDto {
|
||||||
|
@ApiModelProperty(value = "id",example = "1")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "内容",example = "广播内容")
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建人",example = "广播创建者")
|
||||||
|
private String createUser;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "最后一次修改,修改人",example = "146555@qq.com")
|
||||||
|
private String updateUser;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "修改时间",example = "2025-05-22 14:22:13")
|
||||||
|
private LocalDateTime updateTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建时间",example = "2025-05-22 14:22:13")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
}
|
|
@ -0,0 +1,37 @@
|
||||||
|
package com.m2pool.manage.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 注册用户信息返回对象
|
||||||
|
* @Date 2025/5/22 17:18
|
||||||
|
* @Author yyb
|
||||||
|
*/
|
||||||
|
@Builder
|
||||||
|
@Data
|
||||||
|
@ApiModel(value = "ManageUserDto", description = "注册用户信息返回对象")
|
||||||
|
public class ManageUserDto {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "id",example = "1")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "用户邮箱",example = "146555@qq.com")
|
||||||
|
private String user;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "用户对应的挖矿账号(一个用户可以对应多个)",example = "ceshi1")
|
||||||
|
private String minerUser;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "币种",example = "nexa")
|
||||||
|
private String coin;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "支付地址",example = "ceshi1")
|
||||||
|
private String balance;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "最小起付金额",example = "100.0")
|
||||||
|
private String amount;
|
||||||
|
}
|
|
@ -0,0 +1,37 @@
|
||||||
|
package com.m2pool.manage.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.m2pool.common.core.web.Result.PageResult;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 广播信息实体类
|
||||||
|
* @Date 2025/5/22 14:13
|
||||||
|
* @Author yyb
|
||||||
|
*/
|
||||||
|
@Builder
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class ManageBroadcast {
|
||||||
|
@TableId(value = "id", type = IdType.AUTO)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
private String createUser;
|
||||||
|
|
||||||
|
private String updateUser;
|
||||||
|
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
private LocalDateTime updateTime;
|
||||||
|
|
||||||
|
private Boolean del;
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
package com.m2pool.manage.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.m2pool.manage.dto.ManageUserDto;
|
||||||
|
import com.m2pool.manage.entity.ManageBroadcast;
|
||||||
|
import com.m2pool.manage.vo.ManageBaseVo;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface ManageBroadcastMapper extends BaseMapper<ManageBroadcast> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询出用户信息
|
||||||
|
* @param coin
|
||||||
|
* @param user
|
||||||
|
* @param minerUser
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<ManageUserDto> selectUserListByPage(@Param("coin") String coin,@Param("user")String user,@Param("minerUser") String minerUser);
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,59 @@
|
||||||
|
package com.m2pool.manage.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.m2pool.common.core.Result.R;
|
||||||
|
import com.m2pool.common.core.web.page.TableDataInfo;
|
||||||
|
import com.m2pool.manage.dto.ManageBroadcastDto;
|
||||||
|
import com.m2pool.manage.entity.ManageBroadcast;
|
||||||
|
import com.m2pool.manage.vo.ManageBaseVo;
|
||||||
|
import com.m2pool.manage.vo.ManageBroadcastVo;
|
||||||
|
import com.m2pool.manage.vo.PageVo;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 广播信息 服务接口
|
||||||
|
*/
|
||||||
|
public interface ManageBroadcastService extends IService<ManageBroadcast> {
|
||||||
|
/**
|
||||||
|
* 获取所有广播信息分页
|
||||||
|
* @return 广播列表
|
||||||
|
*/
|
||||||
|
TableDataInfo<ManageBroadcastDto> getListDataByPage(PageVo pageVo);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据id查询一批广播数据
|
||||||
|
* @param manageBaseVo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
R<List<ManageBroadcastDto>> findDataById(ManageBaseVo manageBaseVo);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增广播信息
|
||||||
|
*
|
||||||
|
* @param broadcastVo 广播对象
|
||||||
|
* @return 是否成功
|
||||||
|
*/
|
||||||
|
R<String> addBroadcast(ManageBroadcastVo broadcastVo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据ID删除广播
|
||||||
|
*
|
||||||
|
* @param id 主键ID
|
||||||
|
* @return 是否成功
|
||||||
|
*/
|
||||||
|
R<String> deleteBroadcastById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改广播信息
|
||||||
|
*
|
||||||
|
* @param broadcastVo 广播对象
|
||||||
|
* @return 是否成功
|
||||||
|
*/
|
||||||
|
R<String> updateBroadcast(ManageBroadcastVo broadcastVo);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
package com.m2pool.manage.service;
|
||||||
|
|
||||||
|
import com.m2pool.common.core.Result.R;
|
||||||
|
import com.m2pool.common.core.web.page.TableDataInfo;
|
||||||
|
import com.m2pool.manage.dto.ManageUserDto;
|
||||||
|
import com.m2pool.manage.vo.ManageBaseVo;
|
||||||
|
import com.m2pool.manage.vo.ManageUserVo;
|
||||||
|
import com.m2pool.manage.vo.PageVo;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 广播信息 服务接口
|
||||||
|
*/
|
||||||
|
public interface ManageUserService{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询所有用户信息
|
||||||
|
* @param manageUserVo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
TableDataInfo<ManageUserDto> listInfo(ManageUserVo manageUserVo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送存文本邮件
|
||||||
|
* @param to
|
||||||
|
* @param subject
|
||||||
|
* @param text
|
||||||
|
*/
|
||||||
|
void sendTextMailMessage(String to,String subject,String text);
|
||||||
|
}
|
|
@ -0,0 +1,137 @@
|
||||||
|
package com.m2pool.manage.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.github.pagehelper.Page;
|
||||||
|
import com.github.pagehelper.PageHelper;
|
||||||
|
import com.github.pagehelper.PageInfo;
|
||||||
|
import com.m2pool.common.core.Result.R;
|
||||||
|
import com.m2pool.common.core.constant.HttpStatus;
|
||||||
|
import com.m2pool.common.core.web.page.TableDataInfo;
|
||||||
|
import com.m2pool.common.security.utils.SecurityUtils;
|
||||||
|
import com.m2pool.manage.dto.ManageBroadcastDto;
|
||||||
|
import com.m2pool.manage.entity.ManageBroadcast;
|
||||||
|
import com.m2pool.manage.mapper.ManageBroadcastMapper;
|
||||||
|
import com.m2pool.manage.service.ManageBroadcastService;
|
||||||
|
import com.m2pool.manage.vo.ManageBaseVo;
|
||||||
|
import com.m2pool.manage.vo.ManageBroadcastVo;
|
||||||
|
import com.m2pool.manage.vo.PageVo;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.beans.Transient;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 广播信息 服务实现类
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class ManageBroadcastServiceImpl extends ServiceImpl<ManageBroadcastMapper, ManageBroadcast> implements ManageBroadcastService {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取所有广播信息
|
||||||
|
*
|
||||||
|
* @return 广播列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<ManageBroadcastDto> getListDataByPage(PageVo pageVo) {
|
||||||
|
PageHelper.startPage(pageVo.getPageNum(), pageVo.getPageSize());
|
||||||
|
List<ManageBroadcast> list = this.list(new LambdaQueryWrapper<ManageBroadcast>().eq(ManageBroadcast::getDel, false));
|
||||||
|
List<ManageBroadcastDto> collect = list.stream().map(broadcast -> ManageBroadcastDto.builder()
|
||||||
|
.content(broadcast.getContent())
|
||||||
|
.id(broadcast.getId())
|
||||||
|
.createUser(broadcast.getCreateUser())
|
||||||
|
.updateUser(broadcast.getUpdateUser())
|
||||||
|
.updateTime(broadcast.getUpdateTime())
|
||||||
|
.createTime(broadcast.getCreateTime())
|
||||||
|
.build()).collect(Collectors.toList());
|
||||||
|
PageHelper.clearPage();
|
||||||
|
return getDataTable(collect);
|
||||||
|
}
|
||||||
|
|
||||||
|
private TableDataInfo<ManageBroadcastDto> getDataTable(List<ManageBroadcastDto> list)
|
||||||
|
{
|
||||||
|
TableDataInfo<ManageBroadcastDto> rspData = new TableDataInfo<ManageBroadcastDto>();
|
||||||
|
rspData.setCode(HttpStatus.SUCCESS);
|
||||||
|
rspData.setRows(list);
|
||||||
|
rspData.setMsg("查询成功");
|
||||||
|
PageInfo<ManageBroadcastDto> pageInfo = new PageInfo<ManageBroadcastDto>(list);
|
||||||
|
rspData.setTotal(pageInfo.getTotal());
|
||||||
|
rspData.setTotalPage(pageInfo.getPages());
|
||||||
|
return rspData;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R<List<ManageBroadcastDto>> findDataById(ManageBaseVo manageBaseVo) {
|
||||||
|
LambdaQueryWrapper<ManageBroadcast> eq = new LambdaQueryWrapper<ManageBroadcast>()
|
||||||
|
.eq(ManageBroadcast::getDel, false);
|
||||||
|
if(manageBaseVo.getId() != null){
|
||||||
|
eq.eq(ManageBroadcast::getId, manageBaseVo.getId());
|
||||||
|
}
|
||||||
|
eq.orderByDesc(ManageBroadcast::getId).last("limit 20");
|
||||||
|
|
||||||
|
List<ManageBroadcast> list = this.list(eq);
|
||||||
|
List<ManageBroadcastDto> collect = list.stream()
|
||||||
|
.map(broadcast -> ManageBroadcastDto.builder()
|
||||||
|
.content(broadcast.getContent())
|
||||||
|
.id(broadcast.getId())
|
||||||
|
.createUser(broadcast.getCreateUser())
|
||||||
|
.updateUser(broadcast.getUpdateUser())
|
||||||
|
.updateTime(broadcast.getUpdateTime())
|
||||||
|
.createTime(broadcast.getCreateTime())
|
||||||
|
.build()
|
||||||
|
).collect(Collectors.toList());
|
||||||
|
|
||||||
|
return R.success(collect);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增广播信息
|
||||||
|
*
|
||||||
|
* @param broadcastVo 广播对象
|
||||||
|
* @return 是否成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public R<String> addBroadcast(ManageBroadcastVo broadcastVo) {
|
||||||
|
ManageBroadcast broadcast = ManageBroadcast.builder()
|
||||||
|
.content(broadcastVo.getContent())
|
||||||
|
.createUser(SecurityUtils.getUsername())
|
||||||
|
.updateTime(LocalDateTime.now())
|
||||||
|
.build();
|
||||||
|
if(this.save(broadcast)){
|
||||||
|
return R.success("添加成功");
|
||||||
|
}
|
||||||
|
return R.fail("添加失败");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据ID删除广播(逻辑删除)
|
||||||
|
*
|
||||||
|
* @param id 主键ID
|
||||||
|
* @return 是否成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public R<String> deleteBroadcastById(Long id) {
|
||||||
|
boolean b = this.updateById(ManageBroadcast.builder().id(id).del(true).build());
|
||||||
|
if (b){
|
||||||
|
return R.success("删除成功");
|
||||||
|
}
|
||||||
|
return R.fail("删除失败");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R<String> updateBroadcast(ManageBroadcastVo broadcastVo) {
|
||||||
|
boolean b = this.updateById(ManageBroadcast.builder()
|
||||||
|
.content(broadcastVo.getContent())
|
||||||
|
.updateUser(SecurityUtils.getUsername())
|
||||||
|
.build());
|
||||||
|
if (b){
|
||||||
|
return R.success("修改成功");
|
||||||
|
}
|
||||||
|
return R.fail("修改失败");
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,86 @@
|
||||||
|
package com.m2pool.manage.service.impl;
|
||||||
|
|
||||||
|
import com.github.pagehelper.PageHelper;
|
||||||
|
import com.github.pagehelper.PageInfo;
|
||||||
|
import com.m2pool.common.core.Result.R;
|
||||||
|
import com.m2pool.common.core.constant.HttpStatus;
|
||||||
|
import com.m2pool.common.core.web.page.TableDataInfo;
|
||||||
|
import com.m2pool.manage.dto.ManageBroadcastDto;
|
||||||
|
import com.m2pool.manage.dto.ManageUserDto;
|
||||||
|
import com.m2pool.manage.mapper.ManageBroadcastMapper;
|
||||||
|
import com.m2pool.manage.service.ManageUserService;
|
||||||
|
import com.m2pool.manage.vo.ManageBaseVo;
|
||||||
|
import com.m2pool.manage.vo.ManageUserVo;
|
||||||
|
import com.m2pool.manage.vo.PageVo;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.mail.javamail.JavaMailSenderImpl;
|
||||||
|
import org.springframework.mail.javamail.MimeMessageHelper;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 广播信息 服务实现类
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class ManageUserServiceImpl implements ManageUserService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ManageBroadcastMapper manageBroadcastMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private JavaMailSenderImpl javaMailSender;
|
||||||
|
|
||||||
|
@Value("${spring.mail.username}")
|
||||||
|
private String sendMailer;
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<ManageUserDto> listInfo(ManageUserVo manageUserVo) {
|
||||||
|
PageHelper.startPage(manageUserVo.getPageNum(), manageUserVo.getPageSize());
|
||||||
|
List<ManageUserDto> manageUserDtos = manageBroadcastMapper.selectUserListByPage(manageUserVo.getCoin(), manageUserVo.getUser(), manageUserVo.getMinerUser());
|
||||||
|
PageHelper.clearPage();
|
||||||
|
return getDataTable(manageUserDtos);
|
||||||
|
}
|
||||||
|
|
||||||
|
private TableDataInfo<ManageUserDto> getDataTable(List<ManageUserDto> list)
|
||||||
|
{
|
||||||
|
TableDataInfo<ManageUserDto> rspData = new TableDataInfo<>();
|
||||||
|
rspData.setCode(HttpStatus.SUCCESS);
|
||||||
|
rspData.setRows(list);
|
||||||
|
rspData.setMsg("查询成功");
|
||||||
|
PageInfo<ManageUserDto> pageInfo = new PageInfo<>(list);
|
||||||
|
rspData.setTotal(pageInfo.getTotal());
|
||||||
|
rspData.setTotalPage(pageInfo.getPages());
|
||||||
|
return rspData;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sendTextMailMessage(String to,String subject,String text){
|
||||||
|
|
||||||
|
try {
|
||||||
|
//true 代表支持复杂的类型
|
||||||
|
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(javaMailSender.createMimeMessage(),true);
|
||||||
|
//邮件发信人
|
||||||
|
mimeMessageHelper.setFrom(sendMailer);
|
||||||
|
//邮件收信人 1或多个
|
||||||
|
mimeMessageHelper.setTo(to.split(","));
|
||||||
|
//邮件主题
|
||||||
|
mimeMessageHelper.setSubject(subject);
|
||||||
|
//邮件内容
|
||||||
|
mimeMessageHelper.setText(text);
|
||||||
|
//邮件发送时间
|
||||||
|
mimeMessageHelper.setSentDate(new Date());
|
||||||
|
|
||||||
|
//发送邮件
|
||||||
|
javaMailSender.send(mimeMessageHelper.getMimeMessage());
|
||||||
|
//System.out.println("发送邮件成功:"+sendMailer+"->"+to);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
//System.out.println("发送邮件失败:"+e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
package com.m2pool.manage.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 发送的邮箱信息
|
||||||
|
* @Date 2025/5/22 17:18
|
||||||
|
* @Author yyb
|
||||||
|
*/
|
||||||
|
@Builder
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@ApiModel(value = "发送的邮箱信息")
|
||||||
|
public class EmailVo{
|
||||||
|
@ApiModelProperty(value = "接受者邮箱,多个以逗号隔开",example = "1416014977@qq.com,1328642438@qq.com")
|
||||||
|
private String to;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "邮件主题",example = "测试")
|
||||||
|
private String subject;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "邮件内容",example = "测试")
|
||||||
|
private String text;
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
package com.m2pool.manage.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 基础请求对象
|
||||||
|
* @Date 2025/5/22 17:18
|
||||||
|
* @Author yyb
|
||||||
|
*/
|
||||||
|
@Builder
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@ApiModel(value = "基础请求对象")
|
||||||
|
public class ManageBaseVo {
|
||||||
|
@ApiModelProperty(value = "id",example = "1")
|
||||||
|
private Long id;
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
package com.m2pool.manage.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 广播请求对象
|
||||||
|
* @Date 2025/5/22 17:18
|
||||||
|
* @Author yyb
|
||||||
|
*/
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Data
|
||||||
|
@ApiModel(value = "广播请求对象")
|
||||||
|
public class ManageBroadcastVo{
|
||||||
|
@ApiModelProperty(value = "id",example = "1")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "内容",example = "广播内容")
|
||||||
|
private String content;
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
package com.m2pool.manage.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 用户请求对象
|
||||||
|
* @Date 2025/5/22 17:18
|
||||||
|
* @Author yyb
|
||||||
|
*/
|
||||||
|
@Builder
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@ApiModel(value = "用户请求对象")
|
||||||
|
public class ManageUserVo extends PageVo{
|
||||||
|
@ApiModelProperty(value = "查询条件:币种,进入页面默认只显示出nexa,用户可选择",example = "nexa",required = true)
|
||||||
|
private String coin;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "模糊查询条件:用户名(邮箱)",example = "1328642438@qq.com",required = false)
|
||||||
|
private String user;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "模糊查询条件:用户对应的挖矿账号(一个用户可以对应多个)",example = "ceshi",required = false)
|
||||||
|
private String minerUser;
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
package com.m2pool.manage.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 分页请求对象
|
||||||
|
* @Date 2025/5/23 09:52
|
||||||
|
* @Author yyb
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel(value = "分页请求对象")
|
||||||
|
public class PageVo {
|
||||||
|
@ApiModelProperty(value = "当前页码",example = "1")
|
||||||
|
private Integer pageNum;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "每页条数",example = "20")
|
||||||
|
private Integer pageSize;
|
||||||
|
}
|
|
@ -0,0 +1,41 @@
|
||||||
|
#测试环境
|
||||||
|
server:
|
||||||
|
port: 9208
|
||||||
|
compression:
|
||||||
|
enabled: true
|
||||||
|
mime-types: application/json
|
||||||
|
|
||||||
|
spring:
|
||||||
|
mvc:
|
||||||
|
pathmatch:
|
||||||
|
matching-strategy: ant-path-matcher
|
||||||
|
application:
|
||||||
|
# 应用名称
|
||||||
|
name: m2pool-manage
|
||||||
|
# profiles:
|
||||||
|
# # 环境配置
|
||||||
|
# active: test
|
||||||
|
cloud:
|
||||||
|
nacos:
|
||||||
|
discovery:
|
||||||
|
# 服务注册地址
|
||||||
|
server-addr: 127.0.0.1:8808
|
||||||
|
namespace: m2_test
|
||||||
|
group: m2_prod_group
|
||||||
|
# server-addr: 127.0.0.1:8808
|
||||||
|
config:
|
||||||
|
# 配置中心地址
|
||||||
|
server-addr: 127.0.0.1:8808
|
||||||
|
# server-addr: 127.0.0.1:8808
|
||||||
|
# 配置文件格式
|
||||||
|
file-extension: yml
|
||||||
|
# 共享配置
|
||||||
|
shared-configs:
|
||||||
|
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
|
||||||
|
namespace: m2_prod
|
||||||
|
group: m2_prod_group
|
||||||
|
servlet:
|
||||||
|
multipart:
|
||||||
|
max-file-size: 2MB
|
||||||
|
max-request-size: 8MB
|
||||||
|
|
|
@ -0,0 +1,77 @@
|
||||||
|
#测试环境
|
||||||
|
server:
|
||||||
|
port: 9508
|
||||||
|
compression:
|
||||||
|
enabled: true
|
||||||
|
mime-types: application/json
|
||||||
|
|
||||||
|
spring:
|
||||||
|
#邮箱基本配置
|
||||||
|
mail:
|
||||||
|
# 配置在limit_time内,用户可以发送limit次验证码
|
||||||
|
limit: 2 这个是我额外的配置,结合邮箱服务用的
|
||||||
|
limitTime: 10 这个是我额外的配置
|
||||||
|
#配置smtp服务主机地址
|
||||||
|
# sina smtp.sina.cn
|
||||||
|
# aliyun smtp.aliyun.com
|
||||||
|
# 163 smtp.163.com 端口号465或994
|
||||||
|
host: mail.privateemail.com
|
||||||
|
#发送者邮箱
|
||||||
|
username: do.not.reply@m2pool.com
|
||||||
|
#配置密码,注意不是真正的密码,而是刚刚申请到的授权码
|
||||||
|
# password:
|
||||||
|
# password: M2202401!
|
||||||
|
# password: axvm-zfgx-cgcg-qhhu
|
||||||
|
password: M2202401!
|
||||||
|
|
||||||
|
#端口号
|
||||||
|
port: 587
|
||||||
|
# port: 465
|
||||||
|
#默认的邮件编码为UTF-8
|
||||||
|
default-encoding: UTF-8
|
||||||
|
#其他参数
|
||||||
|
properties:
|
||||||
|
mail:
|
||||||
|
#配置SSL 加密工厂
|
||||||
|
smtp:
|
||||||
|
ssl:
|
||||||
|
#本地测试,先放开ssl
|
||||||
|
enable: false
|
||||||
|
required: false
|
||||||
|
#开启debug模式,这样邮件发送过程的日志会在控制台打印出来,方便排查错误
|
||||||
|
debug: false
|
||||||
|
socketFactory:
|
||||||
|
class: javax.net.ssl.SSLSocketFactory
|
||||||
|
mvc:
|
||||||
|
pathmatch:
|
||||||
|
matching-strategy: ant-path-matcher
|
||||||
|
application:
|
||||||
|
# 应用名称
|
||||||
|
name: m2pool-manage
|
||||||
|
# profiles:
|
||||||
|
# # 环境配置
|
||||||
|
# active: test
|
||||||
|
cloud:
|
||||||
|
nacos:
|
||||||
|
discovery:
|
||||||
|
# 服务注册地址
|
||||||
|
server-addr: 127.0.0.1:8808
|
||||||
|
namespace: m2_test
|
||||||
|
group: m2_test_group
|
||||||
|
# server-addr: 127.0.0.1:8808
|
||||||
|
config:
|
||||||
|
# 配置中心地址
|
||||||
|
server-addr: 127.0.0.1:8808
|
||||||
|
# server-addr: 127.0.0.1:8808
|
||||||
|
# 配置文件格式
|
||||||
|
file-extension: yml
|
||||||
|
# 共享配置
|
||||||
|
shared-configs:
|
||||||
|
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
|
||||||
|
namespace: m2_test
|
||||||
|
group: m2_test_group
|
||||||
|
servlet:
|
||||||
|
multipart:
|
||||||
|
max-file-size: 2MB
|
||||||
|
max-request-size: 8MB
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
spring:
|
||||||
|
profiles:
|
||||||
|
active: test
|
|
@ -0,0 +1,74 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<configuration scan="true" scanPeriod="60 seconds" debug="false">
|
||||||
|
<!-- 日志存放路径 -->
|
||||||
|
<property name="log.path" value="logs/m2pool-manage" />
|
||||||
|
<!-- 日志输出格式 -->
|
||||||
|
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
|
||||||
|
|
||||||
|
<!-- 控制台输出 -->
|
||||||
|
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
|
||||||
|
<encoder>
|
||||||
|
<pattern>${log.pattern}</pattern>
|
||||||
|
</encoder>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<!-- 系统日志输出 -->
|
||||||
|
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||||
|
<file>${log.path}/info.log</file>
|
||||||
|
<!-- 循环政策:基于时间创建日志文件 -->
|
||||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||||
|
<!-- 日志文件名格式 -->
|
||||||
|
<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
|
||||||
|
<!-- 日志最大的历史 30天 -->
|
||||||
|
<maxHistory>30</maxHistory>
|
||||||
|
</rollingPolicy>
|
||||||
|
<encoder>
|
||||||
|
<pattern>${log.pattern}</pattern>
|
||||||
|
</encoder>
|
||||||
|
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||||
|
<!-- 过滤的级别 -->
|
||||||
|
<level>INFO</level>
|
||||||
|
<!-- 匹配时的操作:接收(记录) -->
|
||||||
|
<onMatch>ACCEPT</onMatch>
|
||||||
|
<!-- 不匹配时的操作:拒绝(不记录) -->
|
||||||
|
<onMismatch>DENY</onMismatch>
|
||||||
|
</filter>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||||
|
<file>${log.path}/error.log</file>
|
||||||
|
<!-- 循环政策:基于时间创建日志文件 -->
|
||||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||||
|
<!-- 日志文件名格式 -->
|
||||||
|
<fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
|
||||||
|
<!-- 日志最大的历史 30天 -->
|
||||||
|
<maxHistory>30</maxHistory>
|
||||||
|
</rollingPolicy>
|
||||||
|
<encoder>
|
||||||
|
<pattern>${log.pattern}</pattern>
|
||||||
|
</encoder>
|
||||||
|
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||||
|
<!-- 过滤的级别 -->
|
||||||
|
<level>ERROR</level>
|
||||||
|
<!-- 匹配时的操作:接收(记录) -->
|
||||||
|
<onMatch>ACCEPT</onMatch>
|
||||||
|
<!-- 不匹配时的操作:拒绝(不记录) -->
|
||||||
|
<onMismatch>DENY</onMismatch>
|
||||||
|
</filter>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<!-- 系统模块日志级别控制 -->
|
||||||
|
<logger name="com.m2pool" level="info" />
|
||||||
|
<!-- Spring日志级别控制 -->
|
||||||
|
<logger name="org.springframework" level="warn" />
|
||||||
|
|
||||||
|
<root level="info">
|
||||||
|
<appender-ref ref="console" />
|
||||||
|
</root>
|
||||||
|
|
||||||
|
<!--系统操作日志-->
|
||||||
|
<root level="info">
|
||||||
|
<appender-ref ref="file_info" />
|
||||||
|
<appender-ref ref="file_error" />
|
||||||
|
</root>
|
||||||
|
</configuration>
|
|
@ -0,0 +1,29 @@
|
||||||
|
<?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.m2pool.manage.mapper.ManageBroadcastMapper">
|
||||||
|
|
||||||
|
<select id="selectUserListByPage" resultType="com.m2pool.manage.dto.ManageUserDto">
|
||||||
|
SELECT
|
||||||
|
uma.id,
|
||||||
|
uma.user as `user`,
|
||||||
|
uma.miner_user as minerUser,
|
||||||
|
uma.coin,
|
||||||
|
uab.balance,
|
||||||
|
COALESCE(uab.amount,0)
|
||||||
|
FROM
|
||||||
|
user_account_balance uab
|
||||||
|
LEFT JOIN user_miner_account uma ON uab.ma_id = uma.id
|
||||||
|
<where>
|
||||||
|
uma.coin = #{coin}
|
||||||
|
<if test="user != null and user != ''">
|
||||||
|
AND uma.user like CONCAT('%',#{user},'%')
|
||||||
|
</if>
|
||||||
|
<if test="minerUser != null and minerUser != ''">
|
||||||
|
AND uma.miner_user like CONCAT('%',#{minerUser},'%')
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
</mapper>
|
|
@ -0,0 +1,10 @@
|
||||||
|
|
||||||
|
-- 广播信息表
|
||||||
|
CREATE TABLE `manage_broadcast` (
|
||||||
|
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
|
||||||
|
`content` varchar(255) COLLATE utf8mb4_bin NOT NULL COMMENT '消息内容',
|
||||||
|
`create_user` varchar(255) COLLATE utf8mb4_bin NOT NULL COMMENT '创建人',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1 COLLATE=utf8mb4_bin COMMENT='广播表';
|
Loading…
Reference in New Issue