diff --git a/module-common/src/main/java/org/jeecg/api/controller/AppletLoginController.java b/module-common/src/main/java/org/jeecg/api/controller/AppletLoginController.java index dabb66f..1972e81 100644 --- a/module-common/src/main/java/org/jeecg/api/controller/AppletLoginController.java +++ b/module-common/src/main/java/org/jeecg/api/controller/AppletLoginController.java @@ -57,4 +57,13 @@ public class AppletLoginController { return appletLoginService.updateUserInfo(token,userInfoReq); } + + //pc端手机号码验证码登录 + @ApiOperation(value="pc端手机号码验证码登录", notes="pc端手机号码验证码登录") + @GetMapping(value = "/phoneLogin") + public Result phoneLogin(String phone, String code){ + return appletLoginService.phoneLogin(phone,code); + } + + } diff --git a/module-common/src/main/java/org/jeecg/api/controller/AppletMyBookController.java b/module-common/src/main/java/org/jeecg/api/controller/AppletMyBookController.java index 5df9f1f..8d85827 100644 --- a/module-common/src/main/java/org/jeecg/api/controller/AppletMyBookController.java +++ b/module-common/src/main/java/org/jeecg/api/controller/AppletMyBookController.java @@ -45,10 +45,21 @@ public class AppletMyBookController { //获取我的小说章节列表带分页 @ApiOperation(value="获取我的小说章节列表带分页", notes="获取我的小说章节列表带分页") @PostMapping(value = "/getMyShopNovelPage") - public Result getMyShopNovelPage(@RequestHeader("X-Access-Token") String token,String bookId,Integer status,Integer reverse, PageBean pageBean){ + public Result getMyShopNovelPage(String token,String bookId,Integer status,Integer reverse, PageBean pageBean){ return appletMyBookService.getMyShopNovelPage(token, bookId,status,reverse,pageBean); } + //查询我是否购买了这个章节 + @ApiOperation(value="查询我是否购买了这个章节", notes="查询我是否购买了这个章节") + @GetMapping(value = "/getMyShopNovel") + public Result getMyShopNovel(@RequestHeader("X-Access-Token") String token,String bookId,String novelId){ + return appletMyBookService.getMyShopNovel(token,bookId,novelId); + } + + + + + //增加或修改作品章节 @ApiOperation(value="增加或修改作品章节", notes="增加或修改作品章节") diff --git a/module-common/src/main/java/org/jeecg/api/controller/AppletOrderController.java b/module-common/src/main/java/org/jeecg/api/controller/AppletOrderController.java index 1020a5a..5f342bf 100644 --- a/module-common/src/main/java/org/jeecg/api/controller/AppletOrderController.java +++ b/module-common/src/main/java/org/jeecg/api/controller/AppletOrderController.java @@ -8,10 +8,7 @@ import org.jeecg.api.bean.PageBean; import org.jeecg.api.service.AppletOrderService; import org.jeecg.common.api.vo.Result; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; @Api(tags="我的-礼物订阅接口") @RestController @@ -67,4 +64,40 @@ public class AppletOrderController { } + + //创建支付套餐订单 + @ApiOperation( value="创建支付套餐订单", notes="创建支付套餐订单") + @PostMapping("/createPayPackageOrder") + public Result createPayPackageOrder(@RequestHeader("X-Access-Token") String token, String packageId) { + return appletOrderService.createPayPackageOrder(token, packageId); + } + + //充值套餐列表 + @ApiOperation( value="充值套餐列表", notes="充值套餐列表") + @GetMapping("/getPayPackageList") + public Result getPayPackageList() { + return appletOrderService.getPayPackageList(); + } + + + //根据书籍id,礼物id赠送礼物 + @ApiOperation( value="根据书籍id,礼物id赠送礼物", notes="根据书籍id,礼物id赠送礼物") + @PostMapping("/giveGift") + public Result giveGift(@RequestHeader("X-Access-Token") String token, String bookId, String giftId, Integer num) { + return appletOrderService.giveGift(token, bookId, giftId, num); + } + + + //c + @ApiOperation( value="购买章节", notes="购买章节") + @PostMapping("/buyNovel") + public Result buyNovel(@RequestHeader("X-Access-Token") String token, String bookId, String novelId) { + return appletOrderService.buyNovel(token, bookId, novelId); + } + + + + + + } diff --git a/module-common/src/main/java/org/jeecg/api/service/AppletLoginService.java b/module-common/src/main/java/org/jeecg/api/service/AppletLoginService.java index 958de81..41e81a3 100644 --- a/module-common/src/main/java/org/jeecg/api/service/AppletLoginService.java +++ b/module-common/src/main/java/org/jeecg/api/service/AppletLoginService.java @@ -32,4 +32,7 @@ public interface AppletLoginService { //修改用户信息 Result updateUserInfo(String token,UserInfoReq userInfoReq); + + //pc端手机号码验证码登录 + Result phoneLogin(String phone, String code); } diff --git a/module-common/src/main/java/org/jeecg/api/service/AppletMyBookService.java b/module-common/src/main/java/org/jeecg/api/service/AppletMyBookService.java index 377c02c..4e9ee6e 100644 --- a/module-common/src/main/java/org/jeecg/api/service/AppletMyBookService.java +++ b/module-common/src/main/java/org/jeecg/api/service/AppletMyBookService.java @@ -17,6 +17,10 @@ public interface AppletMyBookService { //获取我的小说章节列表带分页 Result getMyShopNovelPage(String token, String bookId,Integer status,Integer reverse, PageBean pageBean); + //查询我是否购买了这个章节 + Result getMyShopNovel(String token, String bookId, String novelId); + + //增加或修改我的小说章节 Result saveOrUpdateShopNovel(String token, CommonBookNovel commonBookNovel); diff --git a/module-common/src/main/java/org/jeecg/api/service/AppletOrderService.java b/module-common/src/main/java/org/jeecg/api/service/AppletOrderService.java index 91798c3..31004d6 100644 --- a/module-common/src/main/java/org/jeecg/api/service/AppletOrderService.java +++ b/module-common/src/main/java/org/jeecg/api/service/AppletOrderService.java @@ -2,6 +2,7 @@ package org.jeecg.api.service; import org.jeecg.api.bean.PageBean; import org.jeecg.common.api.vo.Result; +import org.springframework.web.bind.annotation.RequestHeader; public interface AppletOrderService { @@ -29,4 +30,19 @@ public interface AppletOrderService { //支付成功支付回调 Result paySuccess(String orderId); + + + //创建支付套餐订单 + Result createPayPackageOrder(String token, String packageId); + + //充值套餐列表 + Result getPayPackageList(); + + + //根据书籍id,礼物id赠送礼物 + Result giveGift(String token, String bookId, String giftId, Integer num); + + + //购买章节 + Result buyNovel(String token, String bookId, String novelId); } diff --git a/module-common/src/main/java/org/jeecg/api/service/impl/AppletAchievementServiceImpl.java b/module-common/src/main/java/org/jeecg/api/service/impl/AppletAchievementServiceImpl.java index b7bbeae..9643cf9 100644 --- a/module-common/src/main/java/org/jeecg/api/service/impl/AppletAchievementServiceImpl.java +++ b/module-common/src/main/java/org/jeecg/api/service/impl/AppletAchievementServiceImpl.java @@ -66,7 +66,7 @@ public class AppletAchievementServiceImpl implements AppletAchievementService { .one(); CommonBookAchievementLog one = commonBookAchievementLogService.lambdaQuery() - .eq(CommonBookAchievementLog::getUserId, commonShop.getUserId()) + .eq(CommonBookAchievementLog::getUserId, member.getId()) .one(); //如果对象不为空 // List list =commonBookAchievementService.list(); 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 86b0798..7e1bfde 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 @@ -38,6 +38,7 @@ import org.jeecg.modules.commonSignLog.service.ICommonSignLogService; import org.jeecg.modules.commonTask.service.ICommonTaskService; import org.jeecg.modules.commonTaskLog.service.ICommonTaskLogService; import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; +import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -50,6 +51,8 @@ import java.util.Map; @Service public class AppletIndexServiceImpl implements AppletIndexService { + @Autowired + private IHanHaiMemberService hanHaiMemberService; @Autowired private ICommonBannerService commonBannerService; @Autowired @@ -127,6 +130,7 @@ public class AppletIndexServiceImpl implements AppletIndexService { .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); return Result.OK("首页精品推荐小说列表",commonBooks); @@ -142,6 +146,7 @@ public class AppletIndexServiceImpl implements AppletIndexService { .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); return Result.OK("首页最新小说列表",commonBooks); @@ -219,7 +224,24 @@ public class AppletIndexServiceImpl implements AppletIndexService { 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); @@ -263,6 +285,12 @@ public class AppletIndexServiceImpl implements AppletIndexService { .eq(CommonRanking::getBookId,bookId) .orderByDesc(CommonRanking::getNum) .page(page); + pageList.getRecords().forEach(item->{ + item.setHanHaiMember(hanHaiMemberService.getById(item.getUserId())); + item.setCommonShop(commonShopService.getById(item.getBookId())); + item.setCommonBookAchievement(commonBookAchievementService.getById(item.getLevel())); + }); + return Result.OK("亲密度排行版",pageList); } diff --git a/module-common/src/main/java/org/jeecg/api/service/impl/AppletLoginServiceImpl.java b/module-common/src/main/java/org/jeecg/api/service/impl/AppletLoginServiceImpl.java index 33a936c..caff6ec 100644 --- a/module-common/src/main/java/org/jeecg/api/service/impl/AppletLoginServiceImpl.java +++ b/module-common/src/main/java/org/jeecg/api/service/impl/AppletLoginServiceImpl.java @@ -216,4 +216,27 @@ public class AppletLoginServiceImpl implements AppletLoginService { } + //pc端手机号码验证码登录 + @Override + public Result phoneLogin(String phone, String code){ + Result result = new Result<>(); + Map map = new HashMap<>(); + HanHaiMember member = memberService.lambdaQuery().eq(HanHaiMember::getPhone,phone).one(); + // 判断用户是否存在 + if (member == null) { + throw new JeecgBootException("电话号码不存在:"+phone); + } + // 生成token返回给小程序端 + String token = JwtUtil.sign(member.getAppletOpenid(), member.getAppletOpenid()); + redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token); + // 设置超时时间 + redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME / 100); + map.put("userInfo", member); + map.put("token", token); + //用户id做im账号 + result.setResult(map); + result.setCode(200); + return result; + } + } 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 0af0f44..fa60b94 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 @@ -74,7 +74,10 @@ public class AppletMyBookServiceImpl implements AppletMyBookService { //获取我的小说章节列表带分页 @Override public Result getMyShopNovelPage(String token, String bookId,Integer status,Integer reverse, PageBean pageBean){ - HanHaiMember member = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + if(StringUtils.isNotEmpty(token)){ + HanHaiMember member = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + } + Page page = new Page<>(pageBean.getPageNo(),pageBean.getPageSize()); IPage commonBookNovels = commonBookNovelService .lambdaQuery() @@ -90,7 +93,8 @@ public class AppletMyBookServiceImpl implements AppletMyBookService { CommonBookNovel::getTitle, CommonBookNovel::getSort, CommonBookNovel::getStatus, - CommonBookNovel::getCreateTime + CommonBookNovel::getCreateTime, + CommonBookNovel::getIsPay ) .eq(CommonBookNovel::getBookId,bookId) @@ -110,7 +114,13 @@ public class AppletMyBookServiceImpl implements AppletMyBookService { + //查询我是否购买了这个章节 + @Override + public Result getMyShopNovel(String token, String bookId, String novelId){ + HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + return Result.OK("您已订阅该章节",true); + } 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 b812613..941c003 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 @@ -2,6 +2,7 @@ package org.jeecg.api.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.api.bean.PageBean; import org.jeecg.api.service.AppletOrderService; import org.jeecg.common.api.vo.Result; @@ -14,12 +15,17 @@ import org.jeecg.modules.commonMoneyLog.service.ICommonMoneyLogService; import org.jeecg.modules.commonMyBook.service.ICommonMyBookService; import org.jeecg.modules.commonMyGift.entity.CommonMyGift; import org.jeecg.modules.commonMyGift.service.ICommonMyGiftService; +import org.jeecg.modules.commonPackage.entity.CommonPackage; +import org.jeecg.modules.commonPackage.service.ICommonPackageService; import org.jeecg.modules.commonShop.service.ICommonShopService; import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; +import org.jeecg.modules.pay.MpWxPayService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.List; @Service public class AppletOrderServiceImpl implements AppletOrderService { @@ -39,6 +45,11 @@ public class AppletOrderServiceImpl implements AppletOrderService { private ICommonGiftBackService commonGiftBackService; @Autowired private ICommonGiftService commonGiftService; + //支付接口 + @Autowired + private MpWxPayService mpWxPayService; + @Autowired + private ICommonPackageService commonPackageService; //查询互动打赏礼物信息列表 @Override @@ -95,4 +106,69 @@ public class AppletOrderServiceImpl implements AppletOrderService { } + + //创建支付套餐订单 + @Override + public Result createPayPackageOrder(String token, String packageId){ + HanHaiMember member = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + //套餐标识不能为空 + if(StringUtils.isEmpty(packageId)){ + return Result.error("套餐标识不能为空"); + } + //根据套餐标识查询套餐信息 + CommonPackage commonPackage = commonPackageService.getById(packageId); + if(commonPackage==null){ + return Result.error("套餐不存在"); + } + + + + + + + + + + BigDecimal totalPrice = new BigDecimal(0.01); + //吊起微信支付 + String s = totalPrice.multiply(new BigDecimal(100)).toString(); + int i1 = Double.valueOf(1).intValue(); + Object appOrder = mpWxPayService.createOrder( + "测试支付" , + "127.0.0.1", + System.currentTimeMillis()+"", + i1, + System.currentTimeMillis()+"", + member.getAppletOpenid(), + "{}"); + + return Result.OK("支付成功",appOrder); + } + + + + //充值套餐列表 + @Override + public Result getPayPackageList(){ + List list = commonPackageService.lambdaQuery() + .orderByDesc(CommonPackage::getSort) + .list(); + return Result.OK("充值套餐列表",list); + } + + + //根据书籍id,礼物id赠送礼物 + @Override + public Result giveGift(String token, String bookId, String giftId, Integer num){ + HanHaiMember member = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + return Result.OK("赠送礼物成功"); + } + + + //购买章节 + @Override + public Result buyNovel(String token, String bookId, String novelId){ + HanHaiMember member = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + return Result.OK("购买成功"); + } } diff --git a/module-common/src/main/java/org/jeecg/modules/commonPackage/controller/CommonPackageController.java b/module-common/src/main/java/org/jeecg/modules/commonPackage/controller/CommonPackageController.java new file mode 100644 index 0000000..686fa95 --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/commonPackage/controller/CommonPackageController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.commonPackage.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.commonPackage.entity.CommonPackage; +import org.jeecg.modules.commonPackage.service.ICommonPackageService; + +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-08 + * @Version: V1.0 + */ +@Api(tags="充值套餐") +@RestController +@RequestMapping("/commonPackage/commonPackage") +@Slf4j +public class CommonPackageController extends JeecgController { + @Autowired + private ICommonPackageService commonPackageService; + + /** + * 分页列表查询 + * + * @param commonPackage + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "充值套餐-分页列表查询") + @ApiOperation(value="充值套餐-分页列表查询", notes="充值套餐-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(CommonPackage commonPackage, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(commonPackage, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = commonPackageService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param commonPackage + * @return + */ + @AutoLog(value = "充值套餐-添加") + @ApiOperation(value="充值套餐-添加", notes="充值套餐-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody CommonPackage commonPackage) { + commonPackageService.save(commonPackage); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param commonPackage + * @return + */ + @AutoLog(value = "充值套餐-编辑") + @ApiOperation(value="充值套餐-编辑", notes="充值套餐-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody CommonPackage commonPackage) { + commonPackageService.updateById(commonPackage); + 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) { + commonPackageService.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.commonPackageService.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) { + CommonPackage commonPackage = commonPackageService.getById(id); + if(commonPackage==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(commonPackage); + } + + /** + * 导出excel + * + * @param request + * @param commonPackage + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, CommonPackage commonPackage) { + return super.exportXls(request, commonPackage, CommonPackage.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, CommonPackage.class); + } + +} diff --git a/module-common/src/main/java/org/jeecg/modules/commonPackage/entity/CommonPackage.java b/module-common/src/main/java/org/jeecg/modules/commonPackage/entity/CommonPackage.java new file mode 100644 index 0000000..dd8a62f --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/commonPackage/entity/CommonPackage.java @@ -0,0 +1,70 @@ +package org.jeecg.modules.commonPackage.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.Data; +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.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 充值套餐 + * @Author: jeecg-boot + * @Date: 2025-06-08 + * @Version: V1.0 + */ +@Data +@TableName("common_package") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="common_package对象", description="充值套餐") +public class CommonPackage 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) + @ApiModelProperty(value = "标题") + private java.lang.String title; + /**金额*/ + @Excel(name = "金额", width = 15) + @ApiModelProperty(value = "金额") + private java.math.BigDecimal money; + /**数量*/ + @Excel(name = "数量", width = 15) + @ApiModelProperty(value = "数量") + private java.math.BigDecimal num; + /**赠送数量*/ + @Excel(name = "赠送数量", width = 15) + @ApiModelProperty(value = "赠送数量") + private java.math.BigDecimal giveNum; + /**排序*/ + @Excel(name = "排序", width = 15) + @ApiModelProperty(value = "排序") + private java.lang.Integer sort; +} diff --git a/module-common/src/main/java/org/jeecg/modules/commonPackage/mapper/CommonPackageMapper.java b/module-common/src/main/java/org/jeecg/modules/commonPackage/mapper/CommonPackageMapper.java new file mode 100644 index 0000000..2095179 --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/commonPackage/mapper/CommonPackageMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.commonPackage.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.commonPackage.entity.CommonPackage; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 充值套餐 + * @Author: jeecg-boot + * @Date: 2025-06-08 + * @Version: V1.0 + */ +public interface CommonPackageMapper extends BaseMapper { + +} diff --git a/module-common/src/main/java/org/jeecg/modules/commonPackage/mapper/xml/CommonPackageMapper.xml b/module-common/src/main/java/org/jeecg/modules/commonPackage/mapper/xml/CommonPackageMapper.xml new file mode 100644 index 0000000..32a4c94 --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/commonPackage/mapper/xml/CommonPackageMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/module-common/src/main/java/org/jeecg/modules/commonPackage/service/ICommonPackageService.java b/module-common/src/main/java/org/jeecg/modules/commonPackage/service/ICommonPackageService.java new file mode 100644 index 0000000..4a7142c --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/commonPackage/service/ICommonPackageService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.commonPackage.service; + +import org.jeecg.modules.commonPackage.entity.CommonPackage; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 充值套餐 + * @Author: jeecg-boot + * @Date: 2025-06-08 + * @Version: V1.0 + */ +public interface ICommonPackageService extends IService { + +} diff --git a/module-common/src/main/java/org/jeecg/modules/commonPackage/service/impl/CommonPackageServiceImpl.java b/module-common/src/main/java/org/jeecg/modules/commonPackage/service/impl/CommonPackageServiceImpl.java new file mode 100644 index 0000000..e33b2d0 --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/commonPackage/service/impl/CommonPackageServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.commonPackage.service.impl; + +import org.jeecg.modules.commonPackage.entity.CommonPackage; +import org.jeecg.modules.commonPackage.mapper.CommonPackageMapper; +import org.jeecg.modules.commonPackage.service.ICommonPackageService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 充值套餐 + * @Author: jeecg-boot + * @Date: 2025-06-08 + * @Version: V1.0 + */ +@Service +public class CommonPackageServiceImpl extends ServiceImpl implements ICommonPackageService { + +} diff --git a/module-common/src/main/java/org/jeecg/modules/commonPackage/vue/CommonPackageList.vue b/module-common/src/main/java/org/jeecg/modules/commonPackage/vue/CommonPackageList.vue new file mode 100644 index 0000000..2d96c8d --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/commonPackage/vue/CommonPackageList.vue @@ -0,0 +1,195 @@ + + + + \ No newline at end of file diff --git a/module-common/src/main/java/org/jeecg/modules/commonPackage/vue/modules/CommonPackageForm.vue b/module-common/src/main/java/org/jeecg/modules/commonPackage/vue/modules/CommonPackageForm.vue new file mode 100644 index 0000000..3a90563 --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/commonPackage/vue/modules/CommonPackageForm.vue @@ -0,0 +1,124 @@ + + + \ No newline at end of file diff --git a/module-common/src/main/java/org/jeecg/modules/commonPackage/vue/modules/CommonPackageModal.Style#Drawer.vue b/module-common/src/main/java/org/jeecg/modules/commonPackage/vue/modules/CommonPackageModal.Style#Drawer.vue new file mode 100644 index 0000000..7377858 --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/commonPackage/vue/modules/CommonPackageModal.Style#Drawer.vue @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/module-common/src/main/java/org/jeecg/modules/commonPackage/vue/modules/CommonPackageModal.vue b/module-common/src/main/java/org/jeecg/modules/commonPackage/vue/modules/CommonPackageModal.vue new file mode 100644 index 0000000..039a31c --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/commonPackage/vue/modules/CommonPackageModal.vue @@ -0,0 +1,60 @@ + + + \ No newline at end of file diff --git a/module-common/src/main/java/org/jeecg/modules/commonPackage/vue3/CommonPackage.api.ts b/module-common/src/main/java/org/jeecg/modules/commonPackage/vue3/CommonPackage.api.ts new file mode 100644 index 0000000..fd0c060 --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/commonPackage/vue3/CommonPackage.api.ts @@ -0,0 +1,61 @@ +import {defHttp} from '/@/utils/http/axios'; +import {Modal} from 'ant-design-vue'; + +enum Api { + list = '/commonPackage/commonPackage/list', + save='/commonPackage/commonPackage/add', + edit='/commonPackage/commonPackage/edit', + deleteOne = '/commonPackage/commonPackage/delete', + deleteBatch = '/commonPackage/commonPackage/deleteBatch', + importExcel = '/commonPackage/commonPackage/importExcel', + exportXls = '/commonPackage/commonPackage/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/commonPackage/vue3/CommonPackage.data.ts b/module-common/src/main/java/org/jeecg/modules/commonPackage/vue3/CommonPackage.data.ts new file mode 100644 index 0000000..b5ced34 --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/commonPackage/vue3/CommonPackage.data.ts @@ -0,0 +1,63 @@ +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: 'title' + }, + { + title: '金额', + align:"center", + dataIndex: 'money' + }, + { + title: '数量', + align:"center", + dataIndex: 'num' + }, + { + title: '赠送数量', + align:"center", + dataIndex: 'giveNum' + }, + { + title: '排序', + align:"center", + dataIndex: 'sort' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '标题', + field: 'title', + component: 'Input', + }, + { + label: '金额', + field: 'money', + component: 'InputNumber', + }, + { + label: '数量', + field: 'num', + component: 'InputNumber', + }, + { + label: '赠送数量', + field: 'giveNum', + component: 'InputNumber', + }, + { + label: '排序', + field: 'sort', + component: 'InputNumber', + }, +]; diff --git a/module-common/src/main/java/org/jeecg/modules/commonPackage/vue3/CommonPackageList.vue b/module-common/src/main/java/org/jeecg/modules/commonPackage/vue3/CommonPackageList.vue new file mode 100644 index 0000000..d16e34a --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/commonPackage/vue3/CommonPackageList.vue @@ -0,0 +1,162 @@ + + + + + \ No newline at end of file diff --git a/module-common/src/main/java/org/jeecg/modules/commonPackage/vue3/components/CommonPackageModal.vue b/module-common/src/main/java/org/jeecg/modules/commonPackage/vue3/components/CommonPackageModal.vue new file mode 100644 index 0000000..1eb9a5d --- /dev/null +++ b/module-common/src/main/java/org/jeecg/modules/commonPackage/vue3/components/CommonPackageModal.vue @@ -0,0 +1,58 @@ + + + + + \ No newline at end of file diff --git a/module-common/src/main/java/org/jeecg/modules/commonRanking/entity/CommonRanking.java b/module-common/src/main/java/org/jeecg/modules/commonRanking/entity/CommonRanking.java index 374162c..fc5dc13 100644 --- a/module-common/src/main/java/org/jeecg/modules/commonRanking/entity/CommonRanking.java +++ b/module-common/src/main/java/org/jeecg/modules/commonRanking/entity/CommonRanking.java @@ -5,10 +5,14 @@ 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; import com.fasterxml.jackson.annotation.JsonFormat; +import org.jeecg.modules.commonBookAchievement.entity.CommonBookAchievement; +import org.jeecg.modules.commonShop.entity.CommonShop; +import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; import org.springframework.format.annotation.DateTimeFormat; import org.jeecgframework.poi.excel.annotation.Excel; import org.jeecg.common.aspect.annotation.Dict; @@ -70,4 +74,16 @@ public class CommonRanking implements Serializable { @Excel(name = "图标", width = 15) @ApiModelProperty(value = "图标") private java.lang.String icon; + + + //用户对象 + @TableField (exist = false) + private HanHaiMember hanHaiMember; + //书对象 + @TableField (exist = false) + private CommonShop commonShop; + //等级对象 + @TableField (exist = false) + private CommonBookAchievement commonBookAchievement; + } diff --git a/module-system/src/main/resources/pay_weixin.properties b/module-system/src/main/resources/pay_weixin.properties index 940c7dc..e7eee2d 100644 --- a/module-system/src/main/resources/pay_weixin.properties +++ b/module-system/src/main/resources/pay_weixin.properties @@ -1,6 +1,6 @@ pay.mchId=1711831449 pay.appId=wxd21ddb1fbf3f5150 -pay.mchKey=0fdb77429ffdf206c151af76a663 +pay.mchKey=0fdb77429ffdf206c151af76a663041c pay.keyPath=classpath:apiclient_cert.pem pay.notifyUrl=https://prod-api.budingxiaoshuo.com/novel-admin/order/payNotify pay.notifyUrlDev=https://prod-api.budingxiaoshuo.com/novel-admin/order/payNotify