diff --git a/.trae/rules/project_rules.md b/.trae/rules/project_rules.md index 5482860..130baf4 100644 --- a/.trae/rules/project_rules.md +++ b/.trae/rules/project_rules.md @@ -5,3 +5,6 @@ 5. 项目使用的是vue3+element-plus前端框架 POST接口也不要使用@RequestBody接收参数,不使用参数注解 + + +不需要帮我运行项目 \ No newline at end of file diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/vo/AppletUser.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/vo/AppletUser.java index 5a81589..adce048 100644 --- a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/vo/AppletUser.java +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/vo/AppletUser.java @@ -5,10 +5,7 @@ import java.io.UnsupportedEncodingException; import java.util.Date; import java.math.BigDecimal; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.*; import org.jeecg.common.constant.ProvinceCityArea; import org.jeecg.common.util.SpringContextUtils; import lombok.Data; diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiBooksController.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiBooksController.java index 92f224a..a40b7dc 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiBooksController.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiBooksController.java @@ -44,8 +44,8 @@ public class AppletApiBooksController { @GetMapping(value = "/list") @IgnoreAuth public Result> list(@Parameter(description = "搜素关键字") String title, - @Parameter(description = "搜素关键字") String category, - @Parameter(description = "搜素关键字") String label, + @Parameter(description = "分类") String category, + @Parameter(description = "标签") String label, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { log.info("查询书籍列表"); @@ -62,9 +62,9 @@ public class AppletApiBooksController { * @return 查询书籍详情 */ @Operation(summary = "查询书籍详情", description = "查询书籍详情") - @GetMapping(value = "/list") + @GetMapping(value = "/detail") @IgnoreAuth - public Result list(@Parameter(description = "书籍id") String id) { + public Result detail(@Parameter(description = "书籍id") @RequestParam String id) { log.info("查询书籍详情"); return Result.OK(appletApiBooksService.detail(id)); } @@ -124,7 +124,7 @@ public class AppletApiBooksController { */ @Operation(summary = "加入书桌", description = "加入书桌") @PostMapping(value = "/addStand") - public Result addStand(@Parameter(description = "书籍id") String id) { + public Result addStand(@Parameter(description = "书籍id") @RequestParam String id) { appletApiBooksService.addStand(id); return Result.OK(); } @@ -137,7 +137,7 @@ public class AppletApiBooksController { @IgnoreAuth @Operation(summary = "删除书桌", description = "删除书桌,批量删除用,分割") @PostMapping(value = "/delStand") - public Result delStand(@Parameter(description = "书籍id") String id) { + public Result delStand(@Parameter(description = "书籍id") @RequestParam String id) { appletApiBooksService.delStand(id); return Result.OK(); } diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiLoginController.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiLoginController.java index b2c9923..0f426fd 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiLoginController.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiLoginController.java @@ -39,8 +39,8 @@ public class AppletApiLoginController { @Operation(summary = "微信小程序登录", description = "通过微信code进行小程序登录") @IgnoreAuth public Result> wxLogin( - @Parameter(description = "微信登录code", required = true) String code, - @Parameter(description = "邀请人") String inviter) { + @Parameter(description = "微信登录code", required = true) @RequestParam String code, + @Parameter(description = "邀请人") @RequestParam(required = false) String inviter) { if (StringUtils.isBlank(code)) { return Result.error("微信登录code不能为空"); @@ -60,7 +60,7 @@ public class AppletApiLoginController { @Operation(summary = "获取用户手机号", description = "通过微信code获取用户手机号") @IgnoreAuth public Result getPhoneNumber( - @Parameter(description = "手机号获取code", required = true) String code) { + @Parameter(description = "手机号获取code", required = true) @RequestParam String code) { if (StringUtils.isBlank(code)) { return Result.error("手机号获取code不能为空"); } @@ -113,7 +113,8 @@ public class AppletApiLoginController { if (userInfo == null) { return Result.error("用户信息不能为空"); } - + + log.info("收到更新用户信息请求"); return appletApiLoginService.updateUserInfo(userInfo); } diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiMemberController.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiMemberController.java index ac8ca7e..60bcc08 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiMemberController.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiMemberController.java @@ -11,6 +11,7 @@ import org.jeecg.config.shiro.IgnoreAuth; import org.jeecg.modules.applet.service.AppletApiCouponService; import org.jeecg.modules.applet.service.AppletApiVipService; import org.jeecg.modules.demo.appletCoupon.entity.AppletCoupon; +import org.jeecg.modules.demo.appletCouponRecord.entity.AppletCouponRecord; import org.jeecg.modules.demo.appletMemberOrder.entity.AppletMemberOrder; import org.jeecg.modules.demo.appletVip.entity.AppletVip; import org.springframework.beans.factory.annotation.Autowired; @@ -52,12 +53,19 @@ public class AppletApiMemberController { @Operation(summary = "获取优惠劵", description = "获取优惠劵") @GetMapping(value = "/coupon") - public Result> coupon( + public Result> coupon( @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, String status) { - Page page = new Page<>(pageNo, pageSize); + Page page = new Page<>(pageNo, pageSize); return Result.OK(appletCouponService.getCoupon(page, status)); } + @Operation(summary = "获取当前用户会员信息", description = "获取当前用户拥有的会员信息列表") + @GetMapping(value = "/userMemberInfo") + public Result> getUserMemberInfo() { + List memberOrders = appletApiVipService.getUserMemberInfo(); + return Result.OK(memberOrders); + } + } diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiPromotionController.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiPromotionController.java index 0a1fc67..70ef541 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiPromotionController.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiPromotionController.java @@ -37,13 +37,13 @@ public class AppletApiPromotionController { @Operation(summary = "我的团队", description = "我的团队") @GetMapping(value = "/team") public Result> team(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(required = false) @Parameter String name) { Page page = new Page<>(pageNo, pageSize); - IPage UserList = appletApiWaterService.getTeam(page); + IPage UserList = appletApiWaterService.getTeam(page, name); return Result.OK(UserList); } - @IgnoreAuth @Operation(summary = "佣金流水", description = "佣金流水") @GetMapping(value = "/water") public Result> water( diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/entity/SendCouponEntity.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/entity/SendCouponEntity.java index 08454a6..7fcd5c5 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/entity/SendCouponEntity.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/entity/SendCouponEntity.java @@ -1,4 +1,11 @@ package org.jeecg.modules.applet.entity; +import lombok.Data; + +@Data public class SendCouponEntity { + + private String couponId; + + private String userIds; } diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiCouponService.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiCouponService.java index d68f8fe..c8fc367 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiCouponService.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiCouponService.java @@ -3,9 +3,12 @@ package org.jeecg.modules.applet.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.jeecg.modules.demo.appletCoupon.entity.AppletCoupon; +import org.jeecg.modules.demo.appletCouponRecord.entity.AppletCouponRecord; import java.util.List; public interface AppletApiCouponService { - IPage getCoupon(Page page, String type); + + IPage getCoupon(Page page, String type); + } diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiVipService.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiVipService.java index 52ef0b4..8888fb9 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiVipService.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiVipService.java @@ -24,4 +24,11 @@ public interface AppletApiVipService { Object getOpe(AppletMemberOrder appletMemberOrder); Object payNotify(String requestBody); + + /** + * 获取当前用户拥有的会员信息 + * + * @return 用户会员订单列表 + */ + List getUserMemberInfo(); } diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiWaterService.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiWaterService.java index 8691f3a..7f5ae33 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiWaterService.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiWaterService.java @@ -25,7 +25,7 @@ public interface AppletApiWaterService { * @param page * @return */ - IPage getTeam(Page page); + IPage getTeam(Page page, String name); /** * 提现 diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiBooksServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiBooksServiceImpl.java index e49b505..2aa4a57 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiBooksServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiBooksServiceImpl.java @@ -20,9 +20,11 @@ import org.jeecg.modules.demo.appletCourse.entity.AppletCourse; import org.jeecg.modules.demo.appletCourse.service.IAppletCourseService; import org.jeecg.modules.demo.appletLabel.entity.AppletLabel; import org.jeecg.modules.demo.appletLabel.service.IAppletLabelService; +import org.jeecg.modules.demo.appletVip.service.IAppletVipService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; @@ -41,6 +43,8 @@ public class AppletApiBooksServiceImpl implements AppletApiBooksService { private IAppletLabelService appletLabelService; @Autowired private IAppletCategorizeService appletCategorizeService; + @Autowired + private IAppletVipService appletVipService; /** * 查询书籍列表 @@ -56,12 +60,33 @@ public class AppletApiBooksServiceImpl implements AppletApiBooksService { Page list = appletBooksService .lambdaQuery() - .like(StringUtil.isNotEmpty(title), AppletBooks::getBooksName, title) +// .like(StringUtil.isNotEmpty(title), AppletBooks::getBooksName, title) + .and(StringUtil.isNotEmpty(title), e -> { + e.like(AppletBooks::getBooksName, title) + .or() + .like(AppletBooks::getBooksAuthor, title) + .or() + .like(AppletBooks::getTranslate, title) + .or() + .like(AppletBooks::getBooksIntro, title) + .or() + .like(AppletBooks::getKnowledge, title) + .or() + .like(AppletBooks::getEnAuthor, title); + }) .eq(StringUtil.isNotEmpty(category), AppletBooks::getBooksClassification, category) .like(StringUtil.isNotEmpty(label), AppletBooks::getBooksLabel, label) .eq(AppletBooks::getStatus, "Y") .page(page); + list.getRecords().forEach(book -> { + book.setVipInfo(appletVipService.getById(book.getVip())); + AppletCategorize categorize = appletCategorizeService.getById(book.getBooksClassification()); + if (categorize != null){ + book.setCategoryName(categorize.getTitle()); + } + }); + return list; } @@ -74,10 +99,33 @@ public class AppletApiBooksServiceImpl implements AppletApiBooksService { */ @Override public IPage getBooksStand(Page booksPage, String title) { + List ids = new ArrayList<>(); + if (StringUtil.isNotEmpty(title)){ + ids = appletBooksService.lambdaQuery() + .select(AppletBooks::getId) + .and(e -> { + e.like(AppletBooks::getBooksName, title) + .or() + .like(AppletBooks::getBooksAuthor, title) + .or() + .like(AppletBooks::getTranslate, title) + .or() + .like(AppletBooks::getBooksIntro, title) + .or() + .like(AppletBooks::getKnowledge, title) + .or() + .like(AppletBooks::getEnAuthor, title); + }) + .list() + .stream().map(AppletBooks::getId) + .collect(Collectors.toList()); + } + String userId = AppletUserUtil.getCurrentAppletUserId(); Page page = appletBookStandService .lambdaQuery() .eq(AppletBookStand::getUserId, userId) + .in(ids.size() > 0, AppletBookStand::getBookId, ids) .orderByDesc(AppletBookStand::getUpdateTime, AppletBookStand::getCreateTime) .page(booksPage); @@ -86,6 +134,11 @@ public class AppletApiBooksServiceImpl implements AppletApiBooksService { AppletBooks book = appletBooksService.getById(stand.getBookId()); if ("Y".equals(book.getStatus())){ stand.setBook(book); + book.setVipInfo(appletVipService.getById(book.getVip())); + AppletCategorize categorize = appletCategorizeService.getById(book.getBooksClassification()); + if (categorize != null){ + book.setCategoryName(categorize.getTitle()); + } } } @@ -144,6 +197,7 @@ public class AppletApiBooksServiceImpl implements AppletApiBooksService { IPage pageResult = appletCourseService .lambdaQuery() .eq(AppletCourse::getBookId, id) + .orderByAsc(AppletCourse::getSort) .page(coursePage); return pageResult; } @@ -171,6 +225,14 @@ public class AppletApiBooksServiceImpl implements AppletApiBooksService { .eq(AppletBookStand::getUserId, user.getId()) .one() != null); } + + AppletCategorize categorize = appletCategorizeService.getById(book.getBooksClassification()); + if (categorize != null){ + book.setCategoryName(categorize.getTitle()); + } + + book.setVipInfo(appletVipService.getById(book.getVip())); + return book; } diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiCouponServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiCouponServiceImpl.java index d6a994f..2b8e404 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiCouponServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiCouponServiceImpl.java @@ -2,9 +2,12 @@ package org.jeecg.modules.applet.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.jeecg.common.system.util.AppletUserUtil; import org.jeecg.modules.applet.service.AppletApiCouponService; import org.jeecg.modules.demo.appletCoupon.entity.AppletCoupon; import org.jeecg.modules.demo.appletCoupon.service.IAppletCouponService; +import org.jeecg.modules.demo.appletCouponRecord.entity.AppletCouponRecord; +import org.jeecg.modules.demo.appletCouponRecord.service.IAppletCouponRecordService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.objenesis.SpringObjenesis; import org.springframework.stereotype.Service; @@ -16,6 +19,8 @@ public class AppletApiCouponServiceImpl implements AppletApiCouponService { @Autowired private IAppletCouponService appletCouponService; + @Autowired + private IAppletCouponRecordService appletCouponRecordService; /** * 获取优惠卷 @@ -23,7 +28,12 @@ public class AppletApiCouponServiceImpl implements AppletApiCouponService { * @return */ @Override - public IPage getCoupon(Page page, String status) { - return appletCouponService.page(page); + public IPage getCoupon(Page page, String status) { + String currentAppletUserId = AppletUserUtil.getCurrentAppletUserId(); + return appletCouponRecordService + .lambdaQuery() + .eq(AppletCouponRecord::getUserId, currentAppletUserId) + .eq(AppletCouponRecord::getStatus, status) + .page(page); } } diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiVipServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiVipServiceImpl.java index 94d642a..c7a43ac 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiVipServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiVipServiceImpl.java @@ -11,6 +11,8 @@ import org.jeecg.modules.applet.service.AppletApiVipService; import org.jeecg.modules.common.IdUtils; import org.jeecg.modules.demo.appletCoupon.entity.AppletCoupon; import org.jeecg.modules.demo.appletCoupon.service.IAppletCouponService; +import org.jeecg.modules.demo.appletCouponRecord.entity.AppletCouponRecord; +import org.jeecg.modules.demo.appletCouponRecord.service.IAppletCouponRecordService; import org.jeecg.modules.demo.appletMemberOrder.entity.AppletMemberOrder; import org.jeecg.modules.demo.appletMemberOrder.service.IAppletMemberOrderService; import org.jeecg.modules.demo.appletVip.entity.AppletSetmeal; @@ -42,6 +44,8 @@ public class AppletApiVipServiceImpl implements AppletApiVipService { @Autowired private IAppletCouponService appletCouponService; @Autowired + private IAppletCouponRecordService appletCouponRecordService; + @Autowired private IAppletWaterService appletWaterService; @Autowired private IAppletUserService appletUserService; @@ -130,12 +134,7 @@ public class AppletApiVipServiceImpl implements AppletApiVipService { if (StringUtil.isNotEmpty(order.getCouponId())) { // 计算优惠 - AppletCoupon coupon = appletCouponService.getById(order.getCouponId()); - if (coupon == null) { - throw new JeecgBootException("优惠卷不存在"); - } - - // TODO 需要判断忧患卷的状态等 + AppletCouponRecord coupon = appletCouponService.useCoupon(order.getCouponId(), userId); order.setDiscount(coupon.getMoney()); @@ -225,4 +224,29 @@ public class AppletApiVipServiceImpl implements AppletApiVipService { " "; } + /** + * 获取当前用户拥有的会员信息 + * + * @return 用户会员订单列表 + */ + @Override + public List getUserMemberInfo() { + // 获取当前用户ID + String userId = AppletUserUtil.getCurrentAppletUserId(); + + if (StringUtil.isEmpty(userId)) { + throw new JeecgBootException("用户未登录"); + } + + // 查询用户的会员订单,只返回已支付且未到期的订单,按创建时间倒序 + List memberOrders = appletMemberOrderService.lambdaQuery() + .eq(AppletMemberOrder::getUserId, userId) + .eq(AppletMemberOrder::getStatus, "1") // 只查询已支付的订单 + .gt(AppletMemberOrder::getEndTime, new Date()) // 只查询未到期的订单 + .orderByDesc(AppletMemberOrder::getCreateTime) + .list(); + + return memberOrders; + } + } diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiWaterServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiWaterServiceImpl.java index 2b32402..4cf0ff1 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiWaterServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiWaterServiceImpl.java @@ -2,6 +2,7 @@ package org.jeecg.modules.applet.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.commons.lang3.StringUtils; import org.jeecg.common.api.IAppletUserService; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.util.AppletUserUtil; @@ -38,10 +39,18 @@ public class AppletApiWaterServiceImpl implements AppletApiWaterService { @Override public IPage getWater(Page waterPage) { String userId = AppletUserUtil.getCurrentAppletUserId(); - return appletWaterService.lambdaQuery() + + Page page = appletWaterService.lambdaQuery() .eq(AppletWater::getUser, userId) .page(waterPage); + for (AppletWater record : page.getRecords()) { + record.setUserInfo(appletUserService.getById(record.getUser())); + record.setWithdrawal(appletWithdrawalService.list().get(0)); + } + + return page; + } /** @@ -51,10 +60,11 @@ public class AppletApiWaterServiceImpl implements AppletApiWaterService { * @return */ @Override - public IPage getTeam(Page page) { + public IPage getTeam(Page page, String name) { String userId = AppletUserUtil.getCurrentAppletUserId(); return appletUserService.lambdaQuery() .eq(AppletUser::getInviter, userId) + .like(StringUtils.isNotBlank(name), AppletUser::getName, name) .page(page); } diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/controller/AppletBooksController.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/controller/AppletBooksController.java index 27648e5..1688d8d 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/controller/AppletBooksController.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/controller/AppletBooksController.java @@ -41,7 +41,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions; /** * @Description: 书籍表 * @Author: jeecg-boot - * @Date: 2025-09-09 + * @Date: 2025-09-17 * @Version: V1.0 */ @Tag(name="书籍表") diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/entity/AppletBooks.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/entity/AppletBooks.java index 8b9dee1..13fdac9 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/entity/AppletBooks.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/entity/AppletBooks.java @@ -10,6 +10,7 @@ import org.jeecg.common.constant.ProvinceCityArea; import org.jeecg.common.util.SpringContextUtils; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; +import org.jeecg.modules.demo.appletVip.entity.AppletVip; import org.springframework.format.annotation.DateTimeFormat; import org.jeecgframework.poi.excel.annotation.Excel; import org.jeecg.common.aspect.annotation.Dict; @@ -20,7 +21,7 @@ import lombok.experimental.Accessors; /** * @Description: 书籍表 * @Author: jeecg-boot - * @Date: 2025-09-09 + * @Date: 2025-09-17 * @Version: V1.0 */ @Data @@ -58,36 +59,74 @@ public class AppletBooks implements Serializable { @Excel(name = "书籍名称", width = 15) @Schema(description = "书籍名称") private java.lang.String booksName; + /**英文书名*/ + @Excel(name = "英文书名", width = 15) + @Schema(description = "英文书名") + private java.lang.String translate; /**书籍封面*/ @Excel(name = "书籍封面", width = 15) @Schema(description = "书籍封面") private java.lang.String booksImg; - /**书籍作者*/ - @Excel(name = "书籍作者", width = 15) - @Schema(description = "书籍作者") - private java.lang.String booksAuthor; /**书籍简介*/ @Excel(name = "书籍简介", width = 15) @Schema(description = "书籍简介") private java.lang.String booksIntro; /**书籍分类*/ - @Excel(name = "书籍分类", width = 15) + @Excel(name = "书籍分类", width = 15, dictTable = "applet_categorize", dicText = "title", dicCode = "id") + @Dict(dictTable = "applet_categorize", dicText = "title", dicCode = "id") @Schema(description = "书籍分类") private java.lang.String booksClassification; /**书籍标签*/ - @Excel(name = "书籍标签", width = 15) + @Excel(name = "书籍标签", width = 15, dictTable = "applet_label", dicText = "lable", dicCode = "id") + @Dict(dictTable = "applet_label", dicText = "lable", dicCode = "id") @Schema(description = "书籍标签") private java.lang.String booksLabel; + /**书籍作者*/ + @Excel(name = "书籍作者", width = 15) + @Schema(description = "书籍作者") + private java.lang.String booksAuthor; + /**作者英文名称*/ + @Excel(name = "作者英文名称", width = 15) + @Schema(description = "作者英文名称") + private java.lang.String enAuthor; + /**作者简介*/ + @Excel(name = "作者简介", width = 15) + @Schema(description = "作者简介") + private java.lang.String aouthorIntro; + /**作者头像*/ + @Excel(name = "作者头像", width = 15) + @Schema(description = "作者头像") + private java.lang.String aouthorImg; /**上架*/ - @Excel(name = "上架", width = 15,replace = {"上架_Y","下架_N"} ) + @Excel(name = "上架", width = 15,replace = {"是_Y","否_N"} ) @Schema(description = "上架") private java.lang.String status; /**会员*/ - @Excel(name = "会员", width = 15) + @Excel(name = "会员", width = 15, dictTable = "applet_vip", dicText = "title", dicCode = "id") + @Dict(dictTable = "applet_vip", dicText = "title", dicCode = "id") @Schema(description = "会员") private java.lang.String vip; + /**时长*/ + @Excel(name = "时长", width = 15) + @Schema(description = "时长") + private java.lang.String duration; + /**词汇量范围*/ + @Excel(name = "词汇量范围", width = 15) + @Schema(description = "词汇量范围") + private java.lang.String vocabularyRange; + /**知识收获*/ + @Excel(name = "知识收获", width = 15) + @Schema(description = "知识收获") + private java.lang.String knowledge; + @TableField(exist = false) @Schema(description = "是否加入书桌") private Boolean isStand; + @TableField(exist = false) + @Schema(description = "分类名称") + private String categoryName; + + @TableField(exist = false) + private AppletVip vipInfo; } diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/mapper/AppletBooksMapper.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/mapper/AppletBooksMapper.java index c5128bc..d606b59 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/mapper/AppletBooksMapper.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/mapper/AppletBooksMapper.java @@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * @Description: 书籍表 * @Author: jeecg-boot - * @Date: 2025-09-09 + * @Date: 2025-09-17 * @Version: V1.0 */ public interface AppletBooksMapper extends BaseMapper { diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/service/IAppletBooksService.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/service/IAppletBooksService.java index cc739d2..3e89fd4 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/service/IAppletBooksService.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/service/IAppletBooksService.java @@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * @Description: 书籍表 * @Author: jeecg-boot - * @Date: 2025-09-09 + * @Date: 2025-09-17 * @Version: V1.0 */ public interface IAppletBooksService extends IService { diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/service/impl/AppletBooksServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/service/impl/AppletBooksServiceImpl.java index ee643cc..92abedf 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/service/impl/AppletBooksServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/service/impl/AppletBooksServiceImpl.java @@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** * @Description: 书籍表 * @Author: jeecg-boot - * @Date: 2025-09-09 + * @Date: 2025-09-17 * @Version: V1.0 */ @Service diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/uniapp/AppletBooksForm.vue b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/uniapp/AppletBooksForm.vue index f0c849c..d22ee02 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/uniapp/AppletBooksForm.vue +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletBooks/uniapp/AppletBooksForm.vue @@ -16,14 +16,14 @@ - 书籍封面: - + 英文书名: + - 书籍作者: - + 书籍封面: + @@ -44,6 +44,30 @@ + + + 书籍作者: + + + + + + 作者英文名称: + + + + + + 作者简介: + + + + + + 作者头像: + + + 上架: @@ -55,6 +79,24 @@ 会员: + + + + 时长: + + + + + + 词汇量范围: + + + + + + 知识收获: + +