From f239536493ac462953056522391b03cb10d57aea Mon Sep 17 00:00:00 2001 From: huliyong <2783385703@qq.com> Date: Mon, 23 Jun 2025 15:16:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E8=AE=A2=E9=98=85=E7=AB=A0?= =?UTF-8?q?=E8=8A=82=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/controller/AppletCommentController.java | 11 +- .../api/controller/AppletIndexController.java | 5 +- .../api/controller/AppletMoneyLogController.java | 4 +- .../jeecg/api/service/AppletCommentService.java | 2 + .../org/jeecg/api/service/AppletIndexService.java | 2 +- .../jeecg/api/service/AppletMoneyLogService.java | 2 +- .../api/service/impl/AppletCommentServiceImpl.java | 34 ++- .../api/service/impl/AppletIndexServiceImpl.java | 110 ++++++---- .../service/impl/AppletMoneyLogServiceImpl.java | 3 +- .../api/service/impl/AppletMyBookServiceImpl.java | 51 ++--- .../api/service/impl/AppletOrderServiceImpl.java | 31 ++- .../controller/CommonOrderController.java | 171 +++++++++++++++ .../modules/CommonOrder/entity/CommonOrder.java | 82 +++++++ .../CommonOrder/mapper/CommonOrderMapper.java | 17 ++ .../CommonOrder/mapper/xml/CommonOrderMapper.xml | 5 + .../CommonOrder/service/ICommonOrderService.java | 14 ++ .../service/impl/CommonOrderServiceImpl.java | 19 ++ .../modules/CommonOrder/vue/CommonOrderList.vue | 241 +++++++++++++++++++++ .../CommonOrder/vue/modules/CommonOrderForm.vue | 134 ++++++++++++ .../vue/modules/CommonOrderModal.Style#Drawer.vue | 84 +++++++ .../CommonOrder/vue/modules/CommonOrderModal.vue | 60 +++++ .../modules/CommonOrder/vue3/CommonOrder.api.ts | 61 ++++++ .../modules/CommonOrder/vue3/CommonOrder.data.ts | 118 ++++++++++ .../modules/CommonOrder/vue3/CommonOrderList.vue | 162 ++++++++++++++ .../vue3/components/CommonOrderModal.vue | 58 +++++ .../commonBookNovel/entity/CommonBookNovel.java | 4 + 26 files changed, 1396 insertions(+), 89 deletions(-) create mode 100644 module-common/src/main/java/org/jeecg/modules/CommonOrder/controller/CommonOrderController.java create mode 100644 module-common/src/main/java/org/jeecg/modules/CommonOrder/entity/CommonOrder.java create mode 100644 module-common/src/main/java/org/jeecg/modules/CommonOrder/mapper/CommonOrderMapper.java create mode 100644 module-common/src/main/java/org/jeecg/modules/CommonOrder/mapper/xml/CommonOrderMapper.xml create mode 100644 module-common/src/main/java/org/jeecg/modules/CommonOrder/service/ICommonOrderService.java create mode 100644 module-common/src/main/java/org/jeecg/modules/CommonOrder/service/impl/CommonOrderServiceImpl.java create mode 100644 module-common/src/main/java/org/jeecg/modules/CommonOrder/vue/CommonOrderList.vue create mode 100644 module-common/src/main/java/org/jeecg/modules/CommonOrder/vue/modules/CommonOrderForm.vue create mode 100644 module-common/src/main/java/org/jeecg/modules/CommonOrder/vue/modules/CommonOrderModal.Style#Drawer.vue create mode 100644 module-common/src/main/java/org/jeecg/modules/CommonOrder/vue/modules/CommonOrderModal.vue create mode 100644 module-common/src/main/java/org/jeecg/modules/CommonOrder/vue3/CommonOrder.api.ts create mode 100644 module-common/src/main/java/org/jeecg/modules/CommonOrder/vue3/CommonOrder.data.ts create mode 100644 module-common/src/main/java/org/jeecg/modules/CommonOrder/vue3/CommonOrderList.vue create mode 100644 module-common/src/main/java/org/jeecg/modules/CommonOrder/vue3/components/CommonOrderModal.vue diff --git a/module-common/src/main/java/org/jeecg/api/controller/AppletCommentController.java b/module-common/src/main/java/org/jeecg/api/controller/AppletCommentController.java index b61cefb..08ceb7c 100644 --- a/module-common/src/main/java/org/jeecg/api/controller/AppletCommentController.java +++ b/module-common/src/main/java/org/jeecg/api/controller/AppletCommentController.java @@ -26,11 +26,18 @@ public class AppletCommentController { } - //查询我未读的评论列表 + //获取我的评论列表 @ApiOperation(value="获取我的评论列表", notes="获取我的评论列表") @GetMapping(value = "/getMyCommentList") public Result getMyCommentList(@RequestHeader("X-Access-Token") String token,String type, PageBean pageBean) { - return appletCommentService.getMyCommentList(token,type, pageBean); + return appletCommentService.getMyCommentList(token, type, pageBean); + } + + //查询我未读的评论列表 + @ApiOperation(value="查询我未读的评论列表", notes="获取我的评论列表") + @GetMapping(value = "/getMyReplyCommentList") + public Result getMyReplyCommentList(@RequestHeader("X-Access-Token") String token,String type, PageBean pageBean) { + return appletCommentService.getMyReplyCommentList(token,type, pageBean); } diff --git a/module-common/src/main/java/org/jeecg/api/controller/AppletIndexController.java b/module-common/src/main/java/org/jeecg/api/controller/AppletIndexController.java index ae8c355..0162d01 100644 --- a/module-common/src/main/java/org/jeecg/api/controller/AppletIndexController.java +++ b/module-common/src/main/java/org/jeecg/api/controller/AppletIndexController.java @@ -109,8 +109,9 @@ public class AppletIndexController { //根据书本标识获取书本目录列表 @ApiOperation(value="根据书本标识获取书本目录列表", notes="根据书本标识获取书本目录列表") @GetMapping(value = "/getBookCatalogList") - public Result getBookCatalogList(String bookId,String orderBy, PageBean pageBean){ - return appletIndexService.getBookCatalogList(bookId,orderBy,pageBean); + public Result getBookCatalogList(String bookId, Integer reverse, PageBean pageBean, + @RequestHeader(value = "X-Access-Token", required = false) String token){ + return appletIndexService.getBookCatalogList(bookId, reverse,pageBean, token); } diff --git a/module-common/src/main/java/org/jeecg/api/controller/AppletMoneyLogController.java b/module-common/src/main/java/org/jeecg/api/controller/AppletMoneyLogController.java index 2cfcb2d..4784a47 100644 --- a/module-common/src/main/java/org/jeecg/api/controller/AppletMoneyLogController.java +++ b/module-common/src/main/java/org/jeecg/api/controller/AppletMoneyLogController.java @@ -32,7 +32,7 @@ public class AppletMoneyLogController { @ApiOperation( value="获取我的流水列表带分页", notes="获取我的流水列表带分页") @GetMapping(value = "/getMyMoneyLogPage") - public Result getMyMoneyLogPage(@RequestHeader("X-Access-Token") String token,Integer status, PageBean pageBean){ - return appletMoneyLogService.getMyMoneyLogPage(token,status,pageBean); + public Result getMyMoneyLogPage(@RequestHeader("X-Access-Token") String token,Integer status, Integer type, PageBean pageBean){ + return appletMoneyLogService.getMyMoneyLogPage(token,type, status,pageBean); } } diff --git a/module-common/src/main/java/org/jeecg/api/service/AppletCommentService.java b/module-common/src/main/java/org/jeecg/api/service/AppletCommentService.java index 7501da0..b785377 100644 --- a/module-common/src/main/java/org/jeecg/api/service/AppletCommentService.java +++ b/module-common/src/main/java/org/jeecg/api/service/AppletCommentService.java @@ -29,4 +29,6 @@ public interface AppletCommentService { //查看评论详情 Result getCommentDetail(String token, String commentId); + + Result getMyReplyCommentList(String token, String type, PageBean pageBean); } diff --git a/module-common/src/main/java/org/jeecg/api/service/AppletIndexService.java b/module-common/src/main/java/org/jeecg/api/service/AppletIndexService.java index 47812ba..8a33edb 100644 --- a/module-common/src/main/java/org/jeecg/api/service/AppletIndexService.java +++ b/module-common/src/main/java/org/jeecg/api/service/AppletIndexService.java @@ -37,7 +37,7 @@ public interface AppletIndexService { Result vote(String token,String bookId,String num); // 根据书本标识获取书本目录列表 - Result getBookCatalogList(String bookId,String orderBy, PageBean pageBean); + Result getBookCatalogList(String bookId, Integer reverse, PageBean pageBean, String token); // 根据目录查询章节小说信息明细 Result getBookCatalogDetail(String id); diff --git a/module-common/src/main/java/org/jeecg/api/service/AppletMoneyLogService.java b/module-common/src/main/java/org/jeecg/api/service/AppletMoneyLogService.java index 87216ee..b683f51 100644 --- a/module-common/src/main/java/org/jeecg/api/service/AppletMoneyLogService.java +++ b/module-common/src/main/java/org/jeecg/api/service/AppletMoneyLogService.java @@ -10,7 +10,7 @@ public interface AppletMoneyLogService { Result getMyMoneyNum(String token); //查询我的流水信息列表带分页 - Result getMyMoneyLogPage(String token,Integer status, PageBean pageBean); + Result getMyMoneyLogPage(String token, Integer type, Integer status, PageBean pageBean); diff --git a/module-common/src/main/java/org/jeecg/api/service/impl/AppletCommentServiceImpl.java b/module-common/src/main/java/org/jeecg/api/service/impl/AppletCommentServiceImpl.java index be4b04f..86c81e2 100644 --- a/module-common/src/main/java/org/jeecg/api/service/impl/AppletCommentServiceImpl.java +++ b/module-common/src/main/java/org/jeecg/api/service/impl/AppletCommentServiceImpl.java @@ -43,9 +43,39 @@ public class AppletCommentServiceImpl implements AppletCommentService { return Result.OK("未读评论数",n.size()); } - //查询我未读的评论列表 + //查询我发布的评论列表 @Override - public Result getMyCommentList(String token,String type, PageBean pageBean){ + public Result getMyCommentList(String token, String type, PageBean pageBean){ + HanHaiMember member = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + + Page page = new Page<>(pageBean.getPageNo(), pageBean.getPageSize()); + + IPage pageList = commonBookCommentService + .lambdaQuery() + .eq(CommonBookComment::getUserId, member.getId()) + .page(page); + + //循环写入数据 + for (CommonBookComment commonBookComment : pageList.getRecords()) { + commonBookComment.setChildren( + commonBookCommentService.lambdaQuery() + .eq(CommonBookComment::getPid, commonBookComment.getId()) + .orderByDesc(CommonBookComment::getCreateTime) + .list() + ); + commonBookComment.setCommonShop( + commonShopService.getById(commonBookComment.getBookId()) + ); + commonBookComment.setHanHaiMember( + hanHaiMemberService.getById(commonBookComment.getUserId()) + ); + } + return Result.OK("查询成功",pageList); + } + + //查询回复我的评论列表 + @Override + public Result getMyReplyCommentList(String token,String type, PageBean pageBean){ HanHaiMember member = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); Page page = new Page<>(pageBean.getPageNo(), pageBean.getPageSize()); IPage pageList = commonBookCommentService diff --git a/module-common/src/main/java/org/jeecg/api/service/impl/AppletIndexServiceImpl.java b/module-common/src/main/java/org/jeecg/api/service/impl/AppletIndexServiceImpl.java index 803eed2..a66e1ee 100644 --- a/module-common/src/main/java/org/jeecg/api/service/impl/AppletIndexServiceImpl.java +++ b/module-common/src/main/java/org/jeecg/api/service/impl/AppletIndexServiceImpl.java @@ -2,12 +2,15 @@ package org.jeecg.api.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.commons.lang3.StringUtils; import org.jeecg.api.bean.PageBean; import org.jeecg.api.service.AppletIndexService; import org.jeecg.common.api.vo.Result; import org.jeecg.config.shiro.ShiroRealm; +import org.jeecg.modules.CommonChapterSubscribe.entity.CommonChapterSubscribe; +import org.jeecg.modules.CommonChapterSubscribe.service.ICommonChapterSubscribeService; import org.jeecg.modules.commonBanner.entity.CommonBanner; import org.jeecg.modules.commonBanner.service.ICommonBannerService; import org.jeecg.modules.commonBook.entity.CommonBook; @@ -47,6 +50,7 @@ import java.math.BigDecimal; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; @Service @@ -85,6 +89,10 @@ public class AppletIndexServiceImpl implements AppletIndexService { private ICommonBookAchievementService commonBookAchievementService; @Autowired private ICommonBookAchievementLogService commonBookAchievementLogService; + @Autowired + private ICommonChapterSubscribeService commonChapterSubscribeService; + + //权限 @Resource private ShiroRealm shiroRealm; @@ -126,14 +134,32 @@ public class AppletIndexServiceImpl implements AppletIndexService { @Override public Result getRecommendList(String name,String shopCion,String shopClass, PageBean pageBean){ Page page = new Page<>(pageBean.getPageNo(),pageBean.getPageSize()); - IPage commonBooks = commonShopService + + LambdaQueryChainWrapper qw = commonShopService .lambdaQuery() - .like(StringUtils.isNotBlank(name),CommonShop::getName,name) - .eq(StringUtils.isNotBlank(shopCion),CommonShop::getShopCion,shopCion) - .eq(StringUtils.isNotBlank(shopClass),CommonShop::getShopClass,shopClass) - .eq(CommonShop::getToolStatus,1) - .orderByDesc(CommonShop::getCreateTime) - .page(page); + .like(StringUtils.isNotBlank(shopCion), CommonShop::getShopCion, shopCion) + .like(StringUtils.isNotBlank(shopClass), CommonShop::getShopClass, shopClass) + .eq(CommonShop::getToolStatus, 1) + .orderByDesc(CommonShop::getCreateTime); + + //通过作者名称搜素 + if (StringUtils.isNotBlank(name)){ + List ids = hanHaiMemberService.lambdaQuery() + .like(StringUtils.isNotBlank(name), HanHaiMember::getName, name) + .select(HanHaiMember::getId) + .list() + .stream().map(n -> n.getId()) + .collect(Collectors.toList()); + + qw.and(q -> { + q.like(StringUtils.isNotBlank(name), CommonShop::getName, name) + .or() + .in(CommonShop::getUserId, ids); + }); + + } + + IPage commonBooks = qw.page(page); //添加作者 commonBooks.getRecords().forEach(book -> { @@ -141,7 +167,7 @@ public class AppletIndexServiceImpl implements AppletIndexService { book.setAuthor(member.getName()); }); - return Result.OK("首页精品推荐小说列表",commonBooks); + return Result.OK("首页精品推荐小说列表", commonBooks); } @@ -215,7 +241,7 @@ public class AppletIndexServiceImpl implements AppletIndexService { if(Integer.parseInt(num)<=0){ return Result.error("投票数量必须大于0"); } - if(Integer.parseInt(num) <= (hanHaiMember.getMoney() == null ? 0 : hanHaiMember.getMoney().intValue())){ + if(Integer.parseInt(num) > (hanHaiMember.getMoney() == null ? 0 : hanHaiMember.getMoney().intValue())){ return Result.error("票数不够"); } @@ -231,45 +257,49 @@ public class AppletIndexServiceImpl implements AppletIndexService { // 根据书本标识获取书本目录列表 @Override - public Result getBookCatalogList(String bookId,String orderBy, PageBean pageBean){ + public Result getBookCatalogList(String bookId, Integer reverse, PageBean pageBean, String token){ Page page = new Page<>(pageBean.getPageNo(),pageBean.getPageSize()); IPage commonBooks = commonBookNovelService .lambdaQuery() + .select( + CommonBookNovel::getId, + CommonBookNovel::getSort, + CommonBookNovel::getTitle, + CommonBookNovel::getBookId, + CommonBookNovel::getStatus, + CommonBookNovel::getCreateTime, + CommonBookNovel::getUpdateTime, + CommonBookNovel::getUpdateBy, + CommonBookNovel::getCreateBy, + CommonBookNovel::getUserId, + CommonBookNovel::getIsPay, + CommonBookNovel::getNum + ) .eq(CommonBookNovel::getBookId,bookId) + .eq(CommonBookNovel::getStatus, 1) +// .orderBy(true, reverse == 0, CommonBookNovel::getSort, CommonBookNovel::getCreateTime) .page(page); - //如果orderBy不为空,则根据orderBy排序 - if(StringUtils.isNotBlank(orderBy)){ - if(orderBy.equals("asc")){ - commonBooks = commonBookNovelService - - .lambdaQuery() - .select( - CommonBookNovel::getId, - CommonBookNovel::getSort, - CommonBookNovel::getTitle, - CommonBookNovel::getBookId, - CommonBookNovel::getStatus, - CommonBookNovel::getCreateTime, - CommonBookNovel::getUpdateTime, - CommonBookNovel::getUpdateBy, - CommonBookNovel::getCreateBy, - CommonBookNovel::getUserId, - CommonBookNovel::getIsPay, - CommonBookNovel::getNum - ) - .eq(CommonBookNovel::getBookId,bookId) - .orderByAsc(CommonBookNovel::getSort) - .page(page); - }else{ - commonBooks = commonBookNovelService - .lambdaQuery() - .eq(CommonBookNovel::getBookId,bookId) - .orderByDesc(CommonBookNovel::getSort) - .page(page); + + + //检查是否购买了该章节 + if (StringUtils.isNotBlank(token)){ + HanHaiMember member = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + + List chapterIds = commonChapterSubscribeService.lambdaQuery() + .eq(CommonChapterSubscribe::getBookId, bookId) + .eq(CommonChapterSubscribe::getUserId, member.getId()) + .select(CommonChapterSubscribe::getChapterId) + .list() + .stream().map(n -> n.getChapterId()) + .collect(Collectors.toList()); + + for (CommonBookNovel record : commonBooks.getRecords()) { + record.setPay(chapterIds.contains(record.getId())); } } - return Result.OK("目录列表",commonBooks); + + return Result.OK("目录列表", commonBooks); } // 根据目录查询章节小说信息明细 diff --git a/module-common/src/main/java/org/jeecg/api/service/impl/AppletMoneyLogServiceImpl.java b/module-common/src/main/java/org/jeecg/api/service/impl/AppletMoneyLogServiceImpl.java index 91ec727..9fbab48 100644 --- a/module-common/src/main/java/org/jeecg/api/service/impl/AppletMoneyLogServiceImpl.java +++ b/module-common/src/main/java/org/jeecg/api/service/impl/AppletMoneyLogServiceImpl.java @@ -30,13 +30,14 @@ public class AppletMoneyLogServiceImpl implements AppletMoneyLogService { } @Override - public Result getMyMoneyLogPage(String token,Integer status, PageBean pageBean) { + public Result getMyMoneyLogPage(String token, Integer type, Integer status, PageBean pageBean) { HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); Page page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); IPage pageList = commonMoneyLogService .lambdaQuery() .eq(CommonMoneyLog::getUserId,hanHaiMember.getId()) .eq(status!=null,CommonMoneyLog::getState,status) + .eq(type!=null,CommonMoneyLog::getType,type) .orderByDesc(CommonMoneyLog::getCreateTime) .page(page); return Result.OK("我的流水信息",pageList); diff --git a/module-common/src/main/java/org/jeecg/api/service/impl/AppletMyBookServiceImpl.java b/module-common/src/main/java/org/jeecg/api/service/impl/AppletMyBookServiceImpl.java index a8c840c..25eab6f 100644 --- a/module-common/src/main/java/org/jeecg/api/service/impl/AppletMyBookServiceImpl.java +++ b/module-common/src/main/java/org/jeecg/api/service/impl/AppletMyBookServiceImpl.java @@ -86,34 +86,25 @@ public class AppletMyBookServiceImpl implements AppletMyBookService { Page page = new Page<>(pageBean.getPageNo(),pageBean.getPageSize()); IPage commonBookNovels = commonBookNovelService .lambdaQuery() + .select( + CommonBookNovel::getId, + CommonBookNovel::getSort, + CommonBookNovel::getTitle, + CommonBookNovel::getBookId, + CommonBookNovel::getStatus, + CommonBookNovel::getCreateTime, + CommonBookNovel::getUpdateTime, + CommonBookNovel::getUpdateBy, + CommonBookNovel::getCreateBy, + CommonBookNovel::getUserId, + CommonBookNovel::getIsPay, + CommonBookNovel::getNum + ) .eq(CommonBookNovel::getBookId,bookId) - .eq(CommonBookNovel::getStatus,status) + .eq(status != null, CommonBookNovel::getStatus, status) + .orderBy(true, reverse == 0, CommonBookNovel::getSort, CommonBookNovel::getCreateTime) .page(page); - if(reverse == 0){ - commonBookNovels = commonBookNovelService - .lambdaQuery() - .select( - CommonBookNovel::getId, - CommonBookNovel::getBookId, - CommonBookNovel::getTitle, - CommonBookNovel::getSort, - CommonBookNovel::getStatus, - CommonBookNovel::getCreateTime, - CommonBookNovel::getIsPay - - ) - .eq(CommonBookNovel::getBookId,bookId) - .eq(CommonBookNovel::getStatus,status) - .orderByAsc(CommonBookNovel::getCreateTime) - .page(page); - }else{ - commonBookNovels = commonBookNovelService - .lambdaQuery() - .eq(CommonBookNovel::getBookId,bookId) - .eq(CommonBookNovel::getStatus,status) - .orderByDesc(CommonBookNovel::getCreateTime) - .page(page); - } + return Result.OK("我的小说章节列表",commonBookNovels); } @@ -134,12 +125,6 @@ public class AppletMyBookServiceImpl implements AppletMyBookService { } - - - - - - //增加或者修改作品章节 @Override public Result saveOrUpdateShopNovel(String token, CommonBookNovel commonBookNovel){ @@ -153,7 +138,7 @@ public class AppletMyBookServiceImpl implements AppletMyBookService { .eq(CommonShop::getId,commonBookNovel.getBookId()) .eq(CommonShop::getUserId,hanHaiMember.getId()) .one(); - if(commonShop==null){ + if(commonShop == null){ return Result.error("书籍不存在或者该书籍不是您的作品无法更新"); } if(commonBookNovel.getStatus() == null){ diff --git a/module-common/src/main/java/org/jeecg/api/service/impl/AppletOrderServiceImpl.java b/module-common/src/main/java/org/jeecg/api/service/impl/AppletOrderServiceImpl.java index e55c1cb..346a57b 100644 --- a/module-common/src/main/java/org/jeecg/api/service/impl/AppletOrderServiceImpl.java +++ b/module-common/src/main/java/org/jeecg/api/service/impl/AppletOrderServiceImpl.java @@ -11,6 +11,8 @@ import org.jeecg.common.api.vo.Result; import org.jeecg.config.shiro.ShiroRealm; import org.jeecg.modules.CommonChapterSubscribe.entity.CommonChapterSubscribe; import org.jeecg.modules.CommonChapterSubscribe.service.ICommonChapterSubscribeService; +import org.jeecg.modules.CommonOrder.entity.CommonOrder; +import org.jeecg.modules.CommonOrder.service.ICommonOrderService; import org.jeecg.modules.GiveGifts.entity.GiveGifts; import org.jeecg.modules.GiveGifts.service.IGiveGiftsService; import org.jeecg.modules.commonBookNovel.entity.CommonBookNovel; @@ -41,6 +43,7 @@ import javax.annotation.Resource; import java.math.BigDecimal; import java.util.List; +import static org.jeecg.modules.online.auth.b.a.c; import static org.jeecg.modules.online.auth.b.a.i; @Service @@ -82,6 +85,10 @@ public class AppletOrderServiceImpl implements AppletOrderService { @Autowired private ICommonChapterSubscribeService commonChapterSubscribeService; + @Autowired + private ICommonOrderService commonOrderService; + + //查询互动打赏礼物信息列表 @Override public Result getInteractionGiftList(PageBean pageBean) { @@ -153,18 +160,30 @@ public class AppletOrderServiceImpl implements AppletOrderService { } + CommonOrder order = CommonOrder.builder() + .num(commonPackage.getNum().intValue()) + .giveNum(commonPackage.getGiveNum().intValue()) + .packageId(commonPackage.getId()) + .price(commonPackage.getMoney()) + .userId(member.getId()) + .title(commonPackage.getTitle()) + .status("0") + .build(); + + commonOrderService.save(order); + //吊起微信支付 - int i = commonPackage.getMoney().multiply(new BigDecimal(100)).intValue(); + int i = order.getPrice().multiply(new BigDecimal(100)).intValue(); Object appOrder = mpWxPayService.createOrder( - "测试支付" , + commonPackage.getTitle(), "127.0.0.1", - System.currentTimeMillis()+"", + commonPackage.getId(), i, - System.currentTimeMillis()+"", + order.getId(), member.getAppletOpenid(), "{}"); - return Result.OK("支付成功",appOrder); + return Result.OK("支付成功", appOrder); } @@ -236,6 +255,7 @@ public class AppletOrderServiceImpl implements AppletOrderService { .money(new BigDecimal(gift.getIntegerPrice() * num)) .type(1)//支付豆豆 .state(0) + .userId(member.getId()) .build()); // TODO 这里需要给作者分钱 @@ -302,6 +322,7 @@ public class AppletOrderServiceImpl implements AppletOrderService { .money(new BigDecimal(i)) .type(1)//支付豆豆 .state(0) + .userId(member.getId()) .build()); // TODO 这里需要给作者分钱 diff --git a/module-common/src/main/java/org/jeecg/modules/CommonOrder/controller/CommonOrderController.java b/module-common/src/main/java/org/jeecg/modules/CommonOrder/controller/CommonOrderController.java new file mode 100644 index 0000000..d3fa461 --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/CommonOrder/controller/CommonOrderController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.CommonOrder.controller; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.CommonOrder.entity.CommonOrder; +import org.jeecg.modules.CommonOrder.service.ICommonOrderService; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; + + /** + * @Description: 订单信息表 + * @Author: jeecg-boot + * @Date: 2025-06-23 + * @Version: V1.0 + */ +@Api(tags="订单信息表") +@RestController +@RequestMapping("/CommonOrder/commonOrder") +@Slf4j +public class CommonOrderController extends JeecgController { + @Autowired + private ICommonOrderService commonOrderService; + + /** + * 分页列表查询 + * + * @param commonOrder + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "订单信息表-分页列表查询") + @ApiOperation(value="订单信息表-分页列表查询", notes="订单信息表-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(CommonOrder commonOrder, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(commonOrder, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = commonOrderService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param commonOrder + * @return + */ + @AutoLog(value = "订单信息表-添加") + @ApiOperation(value="订单信息表-添加", notes="订单信息表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody CommonOrder commonOrder) { + commonOrderService.save(commonOrder); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param commonOrder + * @return + */ + @AutoLog(value = "订单信息表-编辑") + @ApiOperation(value="订单信息表-编辑", notes="订单信息表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody CommonOrder commonOrder) { + commonOrderService.updateById(commonOrder); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "订单信息表-通过id删除") + @ApiOperation(value="订单信息表-通过id删除", notes="订单信息表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + commonOrderService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "订单信息表-批量删除") + @ApiOperation(value="订单信息表-批量删除", notes="订单信息表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.commonOrderService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "订单信息表-通过id查询") + @ApiOperation(value="订单信息表-通过id查询", notes="订单信息表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + CommonOrder commonOrder = commonOrderService.getById(id); + if(commonOrder==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(commonOrder); + } + + /** + * 导出excel + * + * @param request + * @param commonOrder + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, CommonOrder commonOrder) { + return super.exportXls(request, commonOrder, CommonOrder.class, "订单信息表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, CommonOrder.class); + } + +} diff --git a/module-common/src/main/java/org/jeecg/modules/CommonOrder/entity/CommonOrder.java b/module-common/src/main/java/org/jeecg/modules/CommonOrder/entity/CommonOrder.java new file mode 100644 index 0000000..ef60585 --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/CommonOrder/entity/CommonOrder.java @@ -0,0 +1,82 @@ +package org.jeecg.modules.CommonOrder.entity; + +import java.io.Serializable; +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 lombok.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.experimental.Accessors; + +/** + * @Description: 订单信息表 + * @Author: jeecg-boot + * @Date: 2025-06-23 + * @Version: V1.0 + */ +@Data +@TableName("common_order") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="common_order对象", description="订单信息表") +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class CommonOrder implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + /**创建日期*/ + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + /**更新日期*/ + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + /**订单状态*/ + @Excel(name = "订单状态", width = 15, dicCode = "order_state") + @Dict(dicCode = "order_state") + @ApiModelProperty(value = "订单状态") + private java.lang.String status; + /**下单用户*/ + @Excel(name = "下单用户", width = 15, dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id") + @Dict(dictTable = "han_hai_member", dicText = "nick_name", dicCode = "id") + @ApiModelProperty(value = "下单用户") + private java.lang.String userId; + /**订单标题*/ + @Excel(name = "订单标题", width = 15) + @ApiModelProperty(value = "订单标题") + private java.lang.String title; + /**套餐*/ + @Excel(name = "套餐", width = 15) + @ApiModelProperty(value = "套餐") + private java.lang.String packageId; + /**价格*/ + @Excel(name = "价格", width = 15) + @ApiModelProperty(value = "价格") + private java.math.BigDecimal price; + /**豆豆*/ + @Excel(name = "豆豆", width = 15) + @ApiModelProperty(value = "豆豆") + private java.lang.Integer num; + /**赠送的豆豆*/ + @Excel(name = "赠送的豆豆", width = 15) + @ApiModelProperty(value = "赠送的豆豆") + private java.lang.Integer giveNum; +} diff --git a/module-common/src/main/java/org/jeecg/modules/CommonOrder/mapper/CommonOrderMapper.java b/module-common/src/main/java/org/jeecg/modules/CommonOrder/mapper/CommonOrderMapper.java new file mode 100644 index 0000000..b7bb2ac --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/CommonOrder/mapper/CommonOrderMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.CommonOrder.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.CommonOrder.entity.CommonOrder; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 订单信息表 + * @Author: jeecg-boot + * @Date: 2025-06-23 + * @Version: V1.0 + */ +public interface CommonOrderMapper extends BaseMapper { + +} diff --git a/module-common/src/main/java/org/jeecg/modules/CommonOrder/mapper/xml/CommonOrderMapper.xml b/module-common/src/main/java/org/jeecg/modules/CommonOrder/mapper/xml/CommonOrderMapper.xml new file mode 100644 index 0000000..ca402fb --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/CommonOrder/mapper/xml/CommonOrderMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/module-common/src/main/java/org/jeecg/modules/CommonOrder/service/ICommonOrderService.java b/module-common/src/main/java/org/jeecg/modules/CommonOrder/service/ICommonOrderService.java new file mode 100644 index 0000000..406d77a --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/CommonOrder/service/ICommonOrderService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.CommonOrder.service; + +import org.jeecg.modules.CommonOrder.entity.CommonOrder; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 订单信息表 + * @Author: jeecg-boot + * @Date: 2025-06-23 + * @Version: V1.0 + */ +public interface ICommonOrderService extends IService { + +} diff --git a/module-common/src/main/java/org/jeecg/modules/CommonOrder/service/impl/CommonOrderServiceImpl.java b/module-common/src/main/java/org/jeecg/modules/CommonOrder/service/impl/CommonOrderServiceImpl.java new file mode 100644 index 0000000..1162813 --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/CommonOrder/service/impl/CommonOrderServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.CommonOrder.service.impl; + +import org.jeecg.modules.CommonOrder.entity.CommonOrder; +import org.jeecg.modules.CommonOrder.mapper.CommonOrderMapper; +import org.jeecg.modules.CommonOrder.service.ICommonOrderService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 订单信息表 + * @Author: jeecg-boot + * @Date: 2025-06-23 + * @Version: V1.0 + */ +@Service +public class CommonOrderServiceImpl extends ServiceImpl implements ICommonOrderService { + +} diff --git a/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue/CommonOrderList.vue b/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue/CommonOrderList.vue new file mode 100644 index 0000000..f8bcb7c --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue/CommonOrderList.vue @@ -0,0 +1,241 @@ + + + + \ No newline at end of file diff --git a/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue/modules/CommonOrderForm.vue b/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue/modules/CommonOrderForm.vue new file mode 100644 index 0000000..c0ee915 --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue/modules/CommonOrderForm.vue @@ -0,0 +1,134 @@ + + + \ No newline at end of file diff --git a/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue/modules/CommonOrderModal.Style#Drawer.vue b/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue/modules/CommonOrderModal.Style#Drawer.vue new file mode 100644 index 0000000..fdc5994 --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue/modules/CommonOrderModal.Style#Drawer.vue @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue/modules/CommonOrderModal.vue b/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue/modules/CommonOrderModal.vue new file mode 100644 index 0000000..7e27362 --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue/modules/CommonOrderModal.vue @@ -0,0 +1,60 @@ + + + \ No newline at end of file diff --git a/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue3/CommonOrder.api.ts b/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue3/CommonOrder.api.ts new file mode 100644 index 0000000..f0320d6 --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue3/CommonOrder.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/CommonOrder/commonOrder/list', + save='/CommonOrder/commonOrder/add', + edit='/CommonOrder/commonOrder/edit', + deleteOne = '/CommonOrder/commonOrder/delete', + deleteBatch = '/CommonOrder/commonOrder/deleteBatch', + importExcel = '/CommonOrder/commonOrder/importExcel', + exportXls = '/CommonOrder/commonOrder/exportXls', +} +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; +/** + * 列表接口 + * @param params + */ +export const list = (params) => + defHttp.get({url: Api.list, params}); + +/** + * 删除单个 + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} +/** + * 批量删除 + * @param params + */ +export const batchDelete = (params, handleSuccess) => { + Modal.confirm({ + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} +/** + * 保存或者更新 + * @param params + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({url: url, params}); +} diff --git a/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue3/CommonOrder.data.ts b/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue3/CommonOrder.data.ts new file mode 100644 index 0000000..eea0a49 --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue3/CommonOrder.data.ts @@ -0,0 +1,118 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '创建日期', + align:"center", + dataIndex: 'createTime' + }, + { + title: '订单状态', + align:"center", + dataIndex: 'status_dictText' + }, + { + title: '下单用户', + align:"center", + dataIndex: 'userId_dictText' + }, + { + title: '订单标题', + align:"center", + dataIndex: 'title' + }, + { + title: '套餐', + align:"center", + dataIndex: 'packageId' + }, + { + title: '价格', + align:"center", + dataIndex: 'price' + }, + { + title: '豆豆', + align:"center", + dataIndex: 'num' + }, + { + title: '赠送的豆豆', + align:"center", + dataIndex: 'giveNum' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ + { + label: "订单状态", + field: "status", + component: 'JDictSelectTag', + componentProps:{ + dictCode:"order_state" + }, + colProps: {span: 6}, + }, + { + label: "下单用户", + field: "userId", + component: 'JSearchSelect', + componentProps:{ + dict:"han_hai_member,nick_name,id" + }, + colProps: {span: 6}, + }, + { + label: "套餐", + field: "packageId", + component: 'Input', + colProps: {span: 6}, + }, +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '订单状态', + field: 'status', + component: 'JDictSelectTag', + componentProps:{ + dictCode:"order_state" + }, + }, + { + label: '下单用户', + field: 'userId', + component: 'JSearchSelect', + componentProps:{ + dict:"han_hai_member,nick_name,id" + }, + }, + { + label: '订单标题', + field: 'title', + component: 'Input', + }, + { + label: '套餐', + field: 'packageId', + component: 'Input', + }, + { + label: '价格', + field: 'price', + component: 'InputNumber', + }, + { + label: '豆豆', + field: 'num', + component: 'Input', + }, + { + label: '赠送的豆豆', + field: 'giveNum', + component: 'Input', + }, +]; diff --git a/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue3/CommonOrderList.vue b/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue3/CommonOrderList.vue new file mode 100644 index 0000000..53cce4d --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue3/CommonOrderList.vue @@ -0,0 +1,162 @@ + + + + + \ No newline at end of file diff --git a/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue3/components/CommonOrderModal.vue b/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue3/components/CommonOrderModal.vue new file mode 100644 index 0000000..c569877 --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/CommonOrder/vue3/components/CommonOrderModal.vue @@ -0,0 +1,58 @@ + + + + + \ No newline at end of file diff --git a/module-common/src/main/java/org/jeecg/modules/commonBookNovel/entity/CommonBookNovel.java b/module-common/src/main/java/org/jeecg/modules/commonBookNovel/entity/CommonBookNovel.java index a125146..ac75b56 100644 --- a/module-common/src/main/java/org/jeecg/modules/commonBookNovel/entity/CommonBookNovel.java +++ b/module-common/src/main/java/org/jeecg/modules/commonBookNovel/entity/CommonBookNovel.java @@ -5,6 +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.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -79,4 +80,7 @@ public class CommonBookNovel implements Serializable { @Excel(name = "排序", width = 15) @ApiModelProperty(value = "排序") private java.lang.Integer sort; + + @TableField(exist = false) + private Boolean pay; }