This commit is contained in:
谭凯凯
2025-01-06 09:57:10 +08:00
committed by Tankaikai
parent 5828199ba0
commit c74d319fba
28 changed files with 470 additions and 229 deletions

30
pom.xml
View File

@@ -240,6 +240,16 @@
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
</exclusion>
<exclusion>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
@@ -492,11 +502,21 @@
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<!--<dependency>-->
<!--<groupId>com.baidu.aip</groupId>-->
<!--            <artifactId>java-sdk</artifactId>-->
<!--            <version>4.11.3</version>-->
<!--</dependency>-->
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.14.0</version>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>7.14.0</version>
</dependency>
<dependency>
<groupId>org.dromara.easy-es</groupId>
<artifactId>easy-es-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies>
<build>

View File

@@ -1,18 +1,17 @@
package com.sqx;
import org.dromara.easyes.starter.register.EsMapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.scheduling.annotation.EnableScheduling;
import java.util.Map;
/**
* @author GYJ
*/
@EnableCaching
@EnableScheduling
@EsMapperScan("com.sqx.modules.es.mapper")
@SpringBootApplication
public class SqxApplication {

View File

@@ -4,16 +4,15 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.io.Serializable;
import java.util.Date;
/**
*
* @TableName invite_achievement
@@ -26,7 +25,7 @@ public class InviteAchievement implements Serializable {
/**
*
*/
@TableId
@TableId(type = IdType.ID_WORKER)
@JsonSerialize(using = ToStringSerializer.class)
private Long id;

View File

@@ -30,7 +30,7 @@ public class UserEntity implements Serializable {
*/
@Excel(name = "用户id", orderNum = "1")
@ApiModelProperty("用户id")
@TableId(value = "user_id")
@TableId(type = IdType.ID_WORKER)
@JsonSerialize(using = ToStringSerializer.class)
private Long userId;
/**

View File

@@ -1,10 +1,10 @@
package com.sqx.modules.app.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
*
@@ -16,7 +16,7 @@ public class UserInfo implements Serializable {
/**
*
*/
@TableId
@TableId(type = IdType.ID_WORKER)
private Long id;
/**

View File

@@ -25,7 +25,7 @@ public class UserMoney implements Serializable {
* 主键id
*/
@ApiModelProperty("主键id")
@TableId
@TableId(type = IdType.ID_WORKER)
@JsonSerialize(using = ToStringSerializer.class)
private Long id;

View File

@@ -1,8 +1,7 @@
package com.sqx.modules.app.entity;
import cn.hutool.core.date.DateUtil;
//import com.amazonaws.services.dynamodbv2.xspec.L;
//import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
@@ -12,7 +11,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
//import lombok.NoArgsConstructor;
import org.dromara.easyes.annotation.IndexId;
import org.dromara.easyes.annotation.IndexName;
import java.io.Serializable;
import java.math.BigDecimal;
@@ -20,14 +20,16 @@ import java.math.BigDecimal;
@Data
@AllArgsConstructor
@TableName("user_money_details")
@IndexName("user_money_details")
@ApiModel("钱包详情")
public class UserMoneyDetails implements Serializable {
/**
* 钱包详情id
*/
@ApiModelProperty("钱包详情id")
@TableId
@TableId(type = IdType.ID_WORKER)
@JsonSerialize(using = ToStringSerializer.class)
@IndexId(type = org.dromara.easyes.annotation.rely.IdType.CUSTOMIZE)
private Long id;
/**
* 用户id
@@ -123,14 +125,14 @@ public class UserMoneyDetails implements Serializable {
* @param sysUserId 系统用户Id tb_sys_user的id
* @param byUserId 对应用户Id
* @param title 标题
* @param classify 1 注册 上级2 充值 3 购买 4 提现 5 现金大转盘 6 分享达标 7 任务领取 8 平台操作 9 订单退款 10 渠道推广
* @param classify 1 注册 上级2 充值 3 购买 4 提现 5 现金大转盘 6 分享达标 7 任务领取 8 平台操作 9 订单退款 10 渠道推广
* @param type 类别1充值2支出
* @param state 状态 1待支付 2已到账 3取消
* @param money 金额
* @param content 内容描述
*/
public UserMoneyDetails(Long userId, Long sysUserId, Long byUserId, String title, Integer classify, Integer type,
Integer state, BigDecimal money, String content, Integer moneyType,Long sourceId) {
Integer state, BigDecimal money, String content, Integer moneyType, Long sourceId) {
this.userId = userId;
this.sysUserId = sysUserId;
this.byUserId = byUserId;

View File

@@ -14,8 +14,8 @@ import java.math.BigDecimal;
import java.util.List;
/**
* @description course 短剧
* @author fang
* @description course 短剧
* @date 2021-03-27
*/
@Data
@@ -27,7 +27,7 @@ public class Course implements Serializable {
/**
* 短剧id
*/
@TableId
@TableId(type = IdType.ID_WORKER)
@JsonSerialize(using = ToStringSerializer.class)
private Long courseId;
@@ -140,7 +140,7 @@ public class Course implements Serializable {
/**
* 首页金刚区分类
*/
private Integer bannerId;
private Integer bannerId;
/**
* 是否收费 1是 2免费
@@ -154,7 +154,6 @@ public class Course implements Serializable {
private List<CourseDetails> listsDetail;
/**
* 短剧分类 1短剧 2链接 3文档
*/
@@ -231,12 +230,12 @@ public class Course implements Serializable {
private Integer sort;
/**
*平均单集时长,单位分钟
* 平均单集时长,单位分钟
*/
private Integer duration;
/**
*制作机构
* 制作机构
*/
private String productionOrganisation;
@@ -266,12 +265,12 @@ public class Course implements Serializable {
private String costDistributionUri;
/**
*承诺书
* 承诺书
*/
private String assuranceUri;
/**
*制作成本类型
* 制作成本类型
* - 1030万以下
* - 2030100万
* - 30100万以
@@ -294,7 +293,7 @@ public class Course implements Serializable {
private String registrationNumber;
/**
* 剧目资质证明文件当qualification_type=1时必填。请提供网络剧片发行许可证或广电备案系统截图
* 剧目资质证明文件当qualification_type=1时必填。请提供网络剧片发行许可证或广电备案系统截图
*/
private String qualificationCertificateMaterialId;
@@ -339,5 +338,6 @@ public class Course implements Serializable {
private Integer weekView;
private Integer weekPay;
public Course() {}
public Course() {
}
}

View File

@@ -5,8 +5,8 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;
import org.apache.ibatis.annotations.Update;
import org.apache.ibatis.annotations.UpdateProvider;
import org.dromara.easyes.annotation.IndexId;
import org.dromara.easyes.annotation.IndexName;
import java.io.Serializable;
@@ -18,6 +18,7 @@ import java.io.Serializable;
@Data
@Accessors(chain = true)
@TableName("course_collect")
@IndexName("course_collect")
public class CourseCollect implements Serializable {
private static final long serialVersionUID = 1L;
@@ -26,8 +27,9 @@ public class CourseCollect implements Serializable {
/**
* 收藏id
*/
@TableId
@TableId(type = IdType.ID_WORKER)
@JsonSerialize(using = ToStringSerializer.class)
@IndexId(type= org.dromara.easyes.annotation.rely.IdType.CUSTOMIZE)
private Long courseCollectId;
/**

View File

@@ -23,7 +23,7 @@ public class CourseDetails implements Serializable {
/**
* 短剧目录id
*/
@TableId
@TableId(type = IdType.ID_WORKER)
@JsonSerialize(using = ToStringSerializer.class)
private Long courseDetailsId;

View File

@@ -22,7 +22,7 @@ public class CourseUser implements Serializable {
/**
* 我的短剧id
*/
@TableId
@TableId(type = IdType.ID_WORKER)
@JsonSerialize(using = ToStringSerializer.class)
private Long courseUserId;

View File

@@ -1,8 +1,6 @@
package com.sqx.modules.discSpinning.entity;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@@ -20,6 +18,7 @@ import java.math.BigDecimal;
@TableName("disc_spinning_record")
public class DiscSpinningRecord extends Model<DiscSpinningRecord> {
//主键
@TableId(type = IdType.ID_WORKER)
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
@JsonSerialize(using = ToStringSerializer.class)

View File

@@ -0,0 +1,52 @@
package com.sqx.modules.es.controller;
import com.sqx.common.utils.Result;
import com.sqx.modules.es.service.EsOrdersService;
import com.sqx.modules.orders.entity.Orders;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
import java.util.Map;
/**
* @author tankaikai
* @since 2025-01-02 20:33
*/
@Slf4j
@RestController
@RequestMapping(value = "/es/orders")
public class EsOrdersController {
@Autowired
private EsOrdersService esOrdersService;
@ApiOperation("分页")
@GetMapping("/page")
public Result page(@ApiIgnore @RequestParam Map<String, Object> params) {
return Result.success().put("page", null);
}
@ApiOperation("列表")
@GetMapping("/list")
public Result list(@ApiIgnore @RequestParam Map<String, Object> params) {
List<Orders> data = esOrdersService.list(params);
return Result.success().put("data", data);
}
@ApiOperation("列表")
@GetMapping("/{id}")
public Result info(@PathVariable Long id) {
Orders data = esOrdersService.info(id);
return Result.success().put("data", data);
}
@ApiOperation("保存")
@PostMapping("/save")
public Result save() {
esOrdersService.save();
return Result.success();
}
}

View File

@@ -0,0 +1,11 @@
package com.sqx.modules.es.mapper;
import com.sqx.modules.course.entity.CourseCollect;
import org.dromara.easyes.core.kernel.BaseEsMapper;
/**
* @author tankaikai
* @since 2025-01-06 9:40
*/
public interface EsCourseCollectMapper extends BaseEsMapper<CourseCollect> {
}

View File

@@ -0,0 +1,11 @@
package com.sqx.modules.es.mapper;
import com.sqx.modules.orders.entity.Orders;
import org.dromara.easyes.core.kernel.BaseEsMapper;
/**
* @author tankaikai
* @since 2025-01-02 20:24
*/
public interface EsOrdersMapper extends BaseEsMapper<Orders> {
}

View File

@@ -0,0 +1,11 @@
package com.sqx.modules.es.mapper;
import com.sqx.modules.app.entity.UserMoneyDetails;
import org.dromara.easyes.core.kernel.BaseEsMapper;
/**
* @author tankaikai
* @since 2025-01-02 20:24
*/
public interface EsUserMoneyDetailsMapper extends BaseEsMapper<UserMoneyDetails> {
}

View File

@@ -0,0 +1,21 @@
package com.sqx.modules.es.service;
import com.sqx.modules.orders.entity.Orders;
import java.util.List;
import java.util.Map;
/**
* @author tankaikai
* @since 2025-01-02 20:27
*/
public interface EsOrdersService {
List<Orders> page(Map<String, Object> params);
List<Orders> list(Map<String, Object> params);
Orders info(Long id);
void save();
}

View File

@@ -0,0 +1,81 @@
package com.sqx.modules.es.service.impl;
import cn.hutool.core.lang.Dict;
import cn.hutool.core.util.PageUtil;
import com.sqx.modules.app.dao.UserMoneyDetailsDao;
import com.sqx.modules.app.entity.UserMoneyDetails;
import com.sqx.modules.es.mapper.EsOrdersMapper;
import com.sqx.modules.es.mapper.EsUserMoneyDetailsMapper;
import com.sqx.modules.es.service.EsOrdersService;
import com.sqx.modules.orders.dao.OrdersDao;
import com.sqx.modules.orders.entity.Orders;
import org.dromara.easyes.core.conditions.select.LambdaEsQueryWrapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* @author tankaikai
* @since 2025-01-02 20:27
*/
@Service
public class EsOrderServiceImpl implements EsOrdersService {
@Resource
private OrdersDao ordersDao;
@Resource
private UserMoneyDetailsDao userMoneyDetailsDao;
@Resource
private EsOrdersMapper esOrdersMapper;
@Resource
private EsUserMoneyDetailsMapper esUserMoneyDetailsMapper;
@Override
public List<Orders> page(Map<String, Object> params) {
return null;
}
@Override
public List<Orders> list(Map<String, Object> params) {
LambdaEsQueryWrapper<Orders> wrapper = new LambdaEsQueryWrapper<>();
wrapper.in(Orders::getCourseId, 1206L, 1208L)
.and(i -> i.eq(Orders::getOrdersId, 2307).eq(Orders::getOrdersNo, "1000001141962852"))
.or()
.and(i -> i.eq(Orders::getOrdersId, 2355).eq(Orders::getOrdersNo, "1000001702936915"));
return esOrdersMapper.selectList(wrapper);
}
@Override
public Orders info(Long id) {
Orders orders = esOrdersMapper.selectById(id);
return orders;
}
@Override
public void save() {
UserMoneyDetails details = userMoneyDetailsDao.selectById(2554L);
esUserMoneyDetailsMapper.insert(details);
Integer total = ordersDao.esCount();
//int size = 300;
int size = 1;
int totalPage = PageUtil.totalPage(total, size);
List<Dict> pageList = new ArrayList<>();
for (int page = 1; page <= totalPage; page++) {
Dict dict = new Dict();
dict.set("page", (page-1)*size);
dict.set("size", size);
pageList.add(dict);
break;
}
pageList.parallelStream().forEach(param -> {
Integer p = param.getInt("page");
Integer s = param.getInt("size");
List<Orders> list = ordersDao.esPage(p, s);
esOrdersMapper.insertBatch(list);
});
}
}

View File

@@ -1,5 +1,7 @@
package com.sqx.modules.invite.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
@@ -18,6 +20,7 @@ public class InviteMoney implements Serializable {
/**
* 邀请收益钱包id
*/
@TableId(type = IdType.ID_WORKER)
@JsonSerialize(using = ToStringSerializer.class)
private Long id;

View File

@@ -44,5 +44,10 @@ public interface OrdersDao extends BaseMapper<Orders> {
Integer countOrderNum(Long userId, String time);
Integer esCount();
List<Orders> esPage(@Param("page") Integer page, @Param("size") Integer size);
BigDecimal sumPayByCourseId(Long courseId);
}

View File

@@ -5,6 +5,8 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.sqx.modules.course.entity.Course;
import lombok.Data;
import org.dromara.easyes.annotation.IndexId;
import org.dromara.easyes.annotation.IndexName;
import java.io.Serializable;
import java.math.BigDecimal;
@@ -16,6 +18,7 @@ import java.math.BigDecimal;
*/
@Data
@TableName("orders")
@IndexName("orders")
public class Orders implements Serializable {
private static final long serialVersionUID = 1L;
@@ -23,8 +26,9 @@ public class Orders implements Serializable {
/**
* 订单id
*/
@TableId
@TableId(type = IdType.ID_WORKER)
@JsonSerialize(using = ToStringSerializer.class)
@IndexId(type= org.dromara.easyes.annotation.rely.IdType.CUSTOMIZE)
private Long ordersId;
/**

View File

@@ -25,7 +25,7 @@ public class CashOut implements Serializable {
/**
* 申请提现id
*/
@TableId(type = IdType.INPUT)
@TableId(type = IdType.ID_WORKER)
@JsonSerialize(using = ToStringSerializer.class)
private long id;

View File

@@ -24,7 +24,7 @@ public class PayDetails implements Serializable {
/**
* 充值记录id
*/
@TableId(type = IdType.INPUT)
@TableId(type = IdType.ID_WORKER)
@JsonSerialize(using = ToStringSerializer.class)
private Long id;

View File

@@ -1,9 +1,6 @@
package com.sqx.modules.sys.entity;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.sqx.common.validator.group.AddGroup;
@@ -29,7 +26,7 @@ public class SysUserEntity implements Serializable {
/**
* 用户ID
*/
@TableId
@TableId(type = IdType.ID_WORKER)
@JsonSerialize(using = ToStringSerializer.class)
private Long userId;

View File

@@ -1,5 +1,7 @@
package com.sqx.modules.taskCenter.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
@@ -16,6 +18,8 @@ import lombok.Data;
@TableName("task_center_record")
@ApiModel(value = "任务领取记录 实体类")
public class TaskCenterRecord extends Model<TaskCenterRecord> {
@TableId(type = IdType.ID_WORKER)
@ApiModelProperty(value = "id",hidden = true)
private Long id;
@ApiModelProperty(value = "用户id",hidden = true)

View File

@@ -1,15 +1,15 @@
package com.sqx.modules.userSign.entity;
import java.util.Date;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* 用户签到表(UserSignRecord)表实体类
*
@@ -20,6 +20,8 @@ import lombok.Data;
@TableName("user_sign_record")
@ApiModel(value = "用户签到表 实体类")
public class UserSignRecord extends Model<UserSignRecord> {
@TableId(type = IdType.ID_WORKER)
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("用户id")

View File

@@ -1,9 +1,9 @@
swagger:
enabled: true
enabled: true
pay:
h5BaseUrl: https://video-h5.hnsiyao.cn/me/detail/detail?allId=
orderNotifyUrl: https://video.hnsiyao.cn/czg/app/wuyou/notify
extractNotifyUrl: https://video.hnsiyao.cn/czg/app/wuyou/extractNotify
h5BaseUrl: https://video-h5.hnsiyao.cn/me/detail/detail?allId=
orderNotifyUrl: https://video.hnsiyao.cn/czg/app/wuyou/notify
extractNotifyUrl: https://video.hnsiyao.cn/czg/app/wuyou/extractNotify
# 数据源的一些配置
driver-class-name: com.mysql.cj.jdbc.Driver
@@ -19,178 +19,188 @@ max-lifetime: 30000
connection-timeout: 30000
spring:
# sharding-jdbc 配置
shardingsphere:
# 显示sharding-jdbc改写的sql语句
show-sql: true
# sharding-jdbc 配置
shardingsphere:
# 显示sharding-jdbc改写的sql语句
show-sql: true
center-tables-data-node: duanju.%s
# 区域表的数据源节点
region-tables-data-node: duanju-$->{0..4}.%s
# 区域分库策略的计算字段
region-tables-sharding-database-column: user_id
# 分库的计算方法
region-tables-sharding-database-algorithm: duanju-$->{user_id % 5}
center-tables-data-node: duanju.%s
# 区域表的数据源节点
region-tables-data-node: duanju-$->{0..4}.%s
# 区域分库策略的计算字段
region-tables-sharding-database-column: user_id
# 分库的计算方法
region-tables-sharding-database-algorithm: duanju-$->{user_id % 5}
# 短剧集表 拆分
course_details-sharding-database-column: course_id
course_details-sharding-database-algorithm: duanju-$->{course_id % 5}
# 数据源名称
datasource:
duanju:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
# 数据源配置begin
duanju-0:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju-0?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-1:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju-1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-2:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju-2?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-3:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju-3?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-4:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju-4?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
# 短剧集表 拆分
course_details-sharding-database-column: course_id
course_details-sharding-database-algorithm: duanju-$->{course_id % 5}
# 数据源名称
datasource:
duanju:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
# 数据源配置begin
duanju-0:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju-0?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-1:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju-1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-2:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju-2?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-3:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju-3?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-4:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju-4?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-slave:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-slave-0:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju-0?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-slave-1:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju-1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-slave-2:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju-2?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-slave-3:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju-3?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-slave-4:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju-4?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
# 数据源配置end
duanju-slave:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-slave-0:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju-0?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-slave-1:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju-1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-slave-2:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju-2?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-slave-3:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju-3?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-slave-4:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju-4?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
# 数据源配置end
# 读写分离配置begin
master-slave-rules:
#数据源
duanju:
masterDataSourceName: duanju
slaveDataSourceNames:
# - duanju
- duanju-slave
duanju-0:
masterDataSourceName: duanju-0
slaveDataSourceNames:
# - duanju-0
- duanju-slave-0
duanju-1:
masterDataSourceName: duanju-1
slaveDataSourceNames:
# - duanju-1
- duanju-slave-1
duanju-2:
masterDataSourceName: duanju-2
slaveDataSourceNames:
# - duanju-2
- duanju-slave-2
duanju-3:
masterDataSourceName: duanju-3
slaveDataSourceNames:
# - duanju-3
- duanju-slave-3
duanju-4:
masterDataSourceName: duanju-4
slaveDataSourceNames:
# - duanju-4
- duanju-slave-4
# 读写分离配置begin
master-slave-rules:
#数据源
duanju:
masterDataSourceName: duanju
slaveDataSourceNames:
# - duanju
- duanju-slave
duanju-0:
masterDataSourceName: duanju-0
slaveDataSourceNames:
# - duanju-0
- duanju-slave-0
duanju-1:
masterDataSourceName: duanju-1
slaveDataSourceNames:
# - duanju-1
- duanju-slave-1
duanju-2:
masterDataSourceName: duanju-2
slaveDataSourceNames:
# - duanju-2
- duanju-slave-2
duanju-3:
masterDataSourceName: duanju-3
slaveDataSourceNames:
# - duanju-3
- duanju-slave-3
duanju-4:
masterDataSourceName: duanju-4
slaveDataSourceNames:
# - duanju-4
- duanju-slave-4
easy-es:
address: 47.122.74.162:9200
username: elastic #es用户名,若无则删去此行配置
password: rer8cpBAvEWs #es密码,若无则删去此行配置
global-config:
process-index-mode: smoothly
print-dsl: true
db-config:
map-underscore-to-camel-case: true # 是否开启下划线转驼峰 默认为false
#index-prefix: ${spring.profiles.active}_ # 索引前缀,可用于区分环境 默认为空 用法和MP的tablePrefix一样的作用和用法

View File

@@ -332,4 +332,12 @@
group by course_id
</select>
<select id="esCount" resultType="int">
select count(1) from orders
</select>
<select id="esPage" resultType="com.sqx.modules.orders.entity.Orders">
select * from orders order by orders_id asc limit ${page},${size}
</select>
</mapper>