From c74d319fbadd61b4fe6da49c9722fa00c2c0e49d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=AD=E5=87=AF=E5=87=AF?= Date: Mon, 6 Jan 2025 09:57:10 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9B=86=E6=88=90ES?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 30 +- src/main/java/com/sqx/SqxApplication.java | 5 +- .../modules/app/entity/InviteAchievement.java | 9 +- .../sqx/modules/app/entity/UserEntity.java | 2 +- .../com/sqx/modules/app/entity/UserInfo.java | 4 +- .../com/sqx/modules/app/entity/UserMoney.java | 2 +- .../modules/app/entity/UserMoneyDetails.java | 14 +- .../com/sqx/modules/course/entity/Course.java | 20 +- .../modules/course/entity/CourseCollect.java | 8 +- .../modules/course/entity/CourseDetails.java | 2 +- .../sqx/modules/course/entity/CourseUser.java | 2 +- .../entity/DiscSpinningRecord.java | 5 +- .../es/controller/EsOrdersController.java | 52 +++ .../es/mapper/EsCourseCollectMapper.java | 11 + .../sqx/modules/es/mapper/EsOrdersMapper.java | 11 + .../es/mapper/EsUserMoneyDetailsMapper.java | 11 + .../modules/es/service/EsOrdersService.java | 21 + .../es/service/impl/EsOrderServiceImpl.java | 81 ++++ .../modules/invite/entity/InviteMoney.java | 3 + .../com/sqx/modules/orders/dao/OrdersDao.java | 5 + .../com/sqx/modules/orders/entity/Orders.java | 6 +- .../com/sqx/modules/pay/entity/CashOut.java | 2 +- .../sqx/modules/pay/entity/PayDetails.java | 2 +- .../sqx/modules/sys/entity/SysUserEntity.java | 7 +- .../taskCenter/entity/TaskCenterRecord.java | 4 + .../userSign/entity/UserSignRecord.java | 12 +- src/main/resources/application-dev.yml | 360 +++++++++--------- .../resources/mapper/orders/OrdersDao.xml | 8 + 28 files changed, 470 insertions(+), 229 deletions(-) create mode 100644 src/main/java/com/sqx/modules/es/controller/EsOrdersController.java create mode 100644 src/main/java/com/sqx/modules/es/mapper/EsCourseCollectMapper.java create mode 100644 src/main/java/com/sqx/modules/es/mapper/EsOrdersMapper.java create mode 100644 src/main/java/com/sqx/modules/es/mapper/EsUserMoneyDetailsMapper.java create mode 100644 src/main/java/com/sqx/modules/es/service/EsOrdersService.java create mode 100644 src/main/java/com/sqx/modules/es/service/impl/EsOrderServiceImpl.java diff --git a/pom.xml b/pom.xml index 2f8fa236..fc8c5163 100644 --- a/pom.xml +++ b/pom.xml @@ -240,6 +240,16 @@ org.springframework.boot spring-boot-starter-web + + + org.elasticsearch.client + elasticsearch-rest-high-level-client + + + org.elasticsearch + elasticsearch + + org.springframework.boot @@ -492,11 +502,21 @@ junit test - - - - - + + org.elasticsearch.client + elasticsearch-rest-high-level-client + 7.14.0 + + + org.elasticsearch + elasticsearch + 7.14.0 + + + org.dromara.easy-es + easy-es-boot-starter + 2.0.0 + diff --git a/src/main/java/com/sqx/SqxApplication.java b/src/main/java/com/sqx/SqxApplication.java index adc28108..5b9fbd1a 100644 --- a/src/main/java/com/sqx/SqxApplication.java +++ b/src/main/java/com/sqx/SqxApplication.java @@ -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 { diff --git a/src/main/java/com/sqx/modules/app/entity/InviteAchievement.java b/src/main/java/com/sqx/modules/app/entity/InviteAchievement.java index 427f343c..672f3d5f 100644 --- a/src/main/java/com/sqx/modules/app/entity/InviteAchievement.java +++ b/src/main/java/com/sqx/modules/app/entity/InviteAchievement.java @@ -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; diff --git a/src/main/java/com/sqx/modules/app/entity/UserEntity.java b/src/main/java/com/sqx/modules/app/entity/UserEntity.java index e5ddbae7..c80cccbe 100644 --- a/src/main/java/com/sqx/modules/app/entity/UserEntity.java +++ b/src/main/java/com/sqx/modules/app/entity/UserEntity.java @@ -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; /** diff --git a/src/main/java/com/sqx/modules/app/entity/UserInfo.java b/src/main/java/com/sqx/modules/app/entity/UserInfo.java index 65f26d8a..89b13406 100644 --- a/src/main/java/com/sqx/modules/app/entity/UserInfo.java +++ b/src/main/java/com/sqx/modules/app/entity/UserInfo.java @@ -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; /** diff --git a/src/main/java/com/sqx/modules/app/entity/UserMoney.java b/src/main/java/com/sqx/modules/app/entity/UserMoney.java index ca27673b..3acf2abb 100644 --- a/src/main/java/com/sqx/modules/app/entity/UserMoney.java +++ b/src/main/java/com/sqx/modules/app/entity/UserMoney.java @@ -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; diff --git a/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java b/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java index 2f911e7a..07cdac57 100644 --- a/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java +++ b/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java @@ -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; diff --git a/src/main/java/com/sqx/modules/course/entity/Course.java b/src/main/java/com/sqx/modules/course/entity/Course.java index b62bd296..276a115a 100644 --- a/src/main/java/com/sqx/modules/course/entity/Course.java +++ b/src/main/java/com/sqx/modules/course/entity/Course.java @@ -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 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; /** - *制作成本类型 + * 制作成本类型 * - 10:30万以下 * - 20:30~100万 * - 30:100万以 @@ -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() { + } } diff --git a/src/main/java/com/sqx/modules/course/entity/CourseCollect.java b/src/main/java/com/sqx/modules/course/entity/CourseCollect.java index 9c9935a7..cd0010c4 100644 --- a/src/main/java/com/sqx/modules/course/entity/CourseCollect.java +++ b/src/main/java/com/sqx/modules/course/entity/CourseCollect.java @@ -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; /** diff --git a/src/main/java/com/sqx/modules/course/entity/CourseDetails.java b/src/main/java/com/sqx/modules/course/entity/CourseDetails.java index 661e09a9..21b3c789 100644 --- a/src/main/java/com/sqx/modules/course/entity/CourseDetails.java +++ b/src/main/java/com/sqx/modules/course/entity/CourseDetails.java @@ -23,7 +23,7 @@ public class CourseDetails implements Serializable { /** * 短剧目录id */ - @TableId + @TableId(type = IdType.ID_WORKER) @JsonSerialize(using = ToStringSerializer.class) private Long courseDetailsId; diff --git a/src/main/java/com/sqx/modules/course/entity/CourseUser.java b/src/main/java/com/sqx/modules/course/entity/CourseUser.java index 240f934f..8572a5fb 100644 --- a/src/main/java/com/sqx/modules/course/entity/CourseUser.java +++ b/src/main/java/com/sqx/modules/course/entity/CourseUser.java @@ -22,7 +22,7 @@ public class CourseUser implements Serializable { /** * 我的短剧id */ - @TableId + @TableId(type = IdType.ID_WORKER) @JsonSerialize(using = ToStringSerializer.class) private Long courseUserId; diff --git a/src/main/java/com/sqx/modules/discSpinning/entity/DiscSpinningRecord.java b/src/main/java/com/sqx/modules/discSpinning/entity/DiscSpinningRecord.java index fcd94cda..09e76e24 100644 --- a/src/main/java/com/sqx/modules/discSpinning/entity/DiscSpinningRecord.java +++ b/src/main/java/com/sqx/modules/discSpinning/entity/DiscSpinningRecord.java @@ -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 { //主键 + @TableId(type = IdType.ID_WORKER) @JsonSerialize(using = ToStringSerializer.class) private Long id; @JsonSerialize(using = ToStringSerializer.class) diff --git a/src/main/java/com/sqx/modules/es/controller/EsOrdersController.java b/src/main/java/com/sqx/modules/es/controller/EsOrdersController.java new file mode 100644 index 00000000..d1f2853a --- /dev/null +++ b/src/main/java/com/sqx/modules/es/controller/EsOrdersController.java @@ -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 params) { + return Result.success().put("page", null); + } + + @ApiOperation("列表") + @GetMapping("/list") + public Result list(@ApiIgnore @RequestParam Map params) { + List 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(); + } +} diff --git a/src/main/java/com/sqx/modules/es/mapper/EsCourseCollectMapper.java b/src/main/java/com/sqx/modules/es/mapper/EsCourseCollectMapper.java new file mode 100644 index 00000000..cb24b575 --- /dev/null +++ b/src/main/java/com/sqx/modules/es/mapper/EsCourseCollectMapper.java @@ -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 { +} diff --git a/src/main/java/com/sqx/modules/es/mapper/EsOrdersMapper.java b/src/main/java/com/sqx/modules/es/mapper/EsOrdersMapper.java new file mode 100644 index 00000000..88845b19 --- /dev/null +++ b/src/main/java/com/sqx/modules/es/mapper/EsOrdersMapper.java @@ -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 { +} diff --git a/src/main/java/com/sqx/modules/es/mapper/EsUserMoneyDetailsMapper.java b/src/main/java/com/sqx/modules/es/mapper/EsUserMoneyDetailsMapper.java new file mode 100644 index 00000000..cc594f53 --- /dev/null +++ b/src/main/java/com/sqx/modules/es/mapper/EsUserMoneyDetailsMapper.java @@ -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 { +} diff --git a/src/main/java/com/sqx/modules/es/service/EsOrdersService.java b/src/main/java/com/sqx/modules/es/service/EsOrdersService.java new file mode 100644 index 00000000..86bc1872 --- /dev/null +++ b/src/main/java/com/sqx/modules/es/service/EsOrdersService.java @@ -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 page(Map params); + + List list(Map params); + + Orders info(Long id); + + void save(); +} diff --git a/src/main/java/com/sqx/modules/es/service/impl/EsOrderServiceImpl.java b/src/main/java/com/sqx/modules/es/service/impl/EsOrderServiceImpl.java new file mode 100644 index 00000000..f162a0ec --- /dev/null +++ b/src/main/java/com/sqx/modules/es/service/impl/EsOrderServiceImpl.java @@ -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 page(Map params) { + return null; + } + + @Override + public List list(Map params) { + LambdaEsQueryWrapper 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 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 list = ordersDao.esPage(p, s); + esOrdersMapper.insertBatch(list); + }); + } + +} diff --git a/src/main/java/com/sqx/modules/invite/entity/InviteMoney.java b/src/main/java/com/sqx/modules/invite/entity/InviteMoney.java index df805e0e..40718230 100644 --- a/src/main/java/com/sqx/modules/invite/entity/InviteMoney.java +++ b/src/main/java/com/sqx/modules/invite/entity/InviteMoney.java @@ -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; diff --git a/src/main/java/com/sqx/modules/orders/dao/OrdersDao.java b/src/main/java/com/sqx/modules/orders/dao/OrdersDao.java index 6105299f..b2623c25 100644 --- a/src/main/java/com/sqx/modules/orders/dao/OrdersDao.java +++ b/src/main/java/com/sqx/modules/orders/dao/OrdersDao.java @@ -44,5 +44,10 @@ public interface OrdersDao extends BaseMapper { Integer countOrderNum(Long userId, String time); + + Integer esCount(); + + List esPage(@Param("page") Integer page, @Param("size") Integer size); + BigDecimal sumPayByCourseId(Long courseId); } diff --git a/src/main/java/com/sqx/modules/orders/entity/Orders.java b/src/main/java/com/sqx/modules/orders/entity/Orders.java index f3d8bcaa..986d33a5 100644 --- a/src/main/java/com/sqx/modules/orders/entity/Orders.java +++ b/src/main/java/com/sqx/modules/orders/entity/Orders.java @@ -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; /** diff --git a/src/main/java/com/sqx/modules/pay/entity/CashOut.java b/src/main/java/com/sqx/modules/pay/entity/CashOut.java index baba18a8..6356da23 100644 --- a/src/main/java/com/sqx/modules/pay/entity/CashOut.java +++ b/src/main/java/com/sqx/modules/pay/entity/CashOut.java @@ -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; diff --git a/src/main/java/com/sqx/modules/pay/entity/PayDetails.java b/src/main/java/com/sqx/modules/pay/entity/PayDetails.java index 7773c9ef..e179af95 100644 --- a/src/main/java/com/sqx/modules/pay/entity/PayDetails.java +++ b/src/main/java/com/sqx/modules/pay/entity/PayDetails.java @@ -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; diff --git a/src/main/java/com/sqx/modules/sys/entity/SysUserEntity.java b/src/main/java/com/sqx/modules/sys/entity/SysUserEntity.java index c7c36565..0a78ea88 100644 --- a/src/main/java/com/sqx/modules/sys/entity/SysUserEntity.java +++ b/src/main/java/com/sqx/modules/sys/entity/SysUserEntity.java @@ -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; diff --git a/src/main/java/com/sqx/modules/taskCenter/entity/TaskCenterRecord.java b/src/main/java/com/sqx/modules/taskCenter/entity/TaskCenterRecord.java index 53e44daa..e6e795fc 100644 --- a/src/main/java/com/sqx/modules/taskCenter/entity/TaskCenterRecord.java +++ b/src/main/java/com/sqx/modules/taskCenter/entity/TaskCenterRecord.java @@ -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 { + + @TableId(type = IdType.ID_WORKER) @ApiModelProperty(value = "id",hidden = true) private Long id; @ApiModelProperty(value = "用户id",hidden = true) diff --git a/src/main/java/com/sqx/modules/userSign/entity/UserSignRecord.java b/src/main/java/com/sqx/modules/userSign/entity/UserSignRecord.java index bd832e93..f2c4a9ab 100644 --- a/src/main/java/com/sqx/modules/userSign/entity/UserSignRecord.java +++ b/src/main/java/com/sqx/modules/userSign/entity/UserSignRecord.java @@ -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 { + + @TableId(type = IdType.ID_WORKER) @ApiModelProperty("id") private Long id; @ApiModelProperty("用户id") diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index cd56d1e0..ef8d9c2c 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -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一样的作用和用法 \ No newline at end of file diff --git a/src/main/resources/mapper/orders/OrdersDao.xml b/src/main/resources/mapper/orders/OrdersDao.xml index 6237cad6..9613326c 100644 --- a/src/main/resources/mapper/orders/OrdersDao.xml +++ b/src/main/resources/mapper/orders/OrdersDao.xml @@ -332,4 +332,12 @@ group by course_id + + + +