From bdeb864ddf957e9e6d6ca9cb4c675674019633cf Mon Sep 17 00:00:00 2001 From: "wangtingyang@workingman.cn" Date: Mon, 8 May 2023 19:03:21 +0800 Subject: [PATCH 01/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/sky/core/mp/base/BaseService.java | 2 +- .../com/sky/core/mp/base/BaseServiceImpl.java | 2 +- ruoyi-admin/pom.xml | 22 +- .../bigscreen/BigScreenController.java | 8 + .../lfAwards}/LfAwardsController.java | 53 +- .../controller/lfCpcm}/LfCpcmController.java | 53 +- .../controller/lfCrop}/LfCropController.java | 53 +- .../lfEvents}/LfEventsController.java | 53 +- .../lfGarden}/LfGardenController.java | 53 +- .../lfHonor}/LfHonorController.java | 53 +- .../lfImage}/LfImageController.java | 53 +- .../lfPlace}/LfPlaceController.java | 54 +- .../lfVillage}/LfVillageController.java | 42 +- .../LfWorkshopDataController.java | 41 +- .../management/ManagementController.java | 61 ++ .../controller/miniapp/MiniAppController.java | 124 +++ .../ruoyi/web/service/IUserRoleService.java | 26 + .../com/ruoyi/web/service/IUserService.java | 33 + .../com/ruoyi/web/service/IWxPayService.java | 17 + .../web/service/impl/UserRoleServiceImpl.java | 31 + .../web/service/impl/UserServiceImpl.java | 134 +++ .../web/service/impl/WxV2PayServiceImpl.java | 226 +++++ .../web/service/impl/WxV3PayServiceImpl.java | 26 + .../com/ruoyi/web/wxpay/WxPayController.java | 45 + .../ruoyi/web/wxpay/WxPayV3Controller.java | 820 ++++++++++++++++++ .../framework/config/SecurityConfig.java | 2 + ruoyi-system/pom.xml | 7 +- .../ruoyi/system/controller/vo/ArticleVO.java | 21 + .../ruoyi/system/controller/vo/AwardsVO.java | 8 +- .../ruoyi/system/controller/vo/BrandVO.java | 26 + .../system/controller/vo/CommodityVO.java | 44 + .../ruoyi/system/controller/vo/CpcmVO.java | 3 + .../ruoyi/system/controller/vo/CropVO.java | 7 +- .../ruoyi/system/controller/vo/EventsVO.java | 7 +- .../ruoyi/system/controller/vo/GardenVO.java | 3 + .../ruoyi/system/controller/vo/HistoryVO.java | 11 +- .../ruoyi/system/controller/vo/HonorVO.java | 10 +- .../ruoyi/system/controller/vo/MonitorVO.java | 3 + .../system/controller/vo/OrderDetails.java | 3 + .../ruoyi/system/controller/vo/OrderVO.java | 25 +- .../ruoyi/system/controller/vo/PlaceVO.java | 5 +- .../ruoyi/system/controller/vo/UserVO.java | 33 + .../ruoyi/system/controller/vo/VillageVO.java | 10 +- .../system/controller/vo/WorkshopVO.java | 3 + .../com/ruoyi/system/custom/OkHttpKit.java | 52 ++ .../com/ruoyi/system/dto/LfArticleDTO.java | 19 + .../java/com/ruoyi/system/dto/LfBrandDTO.java | 19 + .../com/ruoyi/system/dto/LfCommodityDTO.java | 19 + .../java/com/ruoyi/system/dto/LfHonorDTO.java | 2 +- .../java/com/ruoyi/system/dto/LfOrderDTO.java | 2 +- .../java/com/ruoyi/system/dto/LfUserDTO.java | 19 + .../com/ruoyi/system/dto/LfVillageDTO.java | 2 +- .../java/com/ruoyi/system/dto/UserDTO.java | 19 + .../com/ruoyi/system/dto/UserRoleDTO.java | 19 + .../com/ruoyi/system/entity/H5SceneInfo.java | 82 ++ .../com/ruoyi/system/entity/LfArticle.java | 40 + .../com/ruoyi/system/entity/LfAwards.java | 19 +- .../java/com/ruoyi/system/entity/LfBrand.java | 50 ++ .../com/ruoyi/system/entity/LfCommodity.java | 82 ++ .../java/com/ruoyi/system/entity/LfCpcm.java | 24 +- .../java/com/ruoyi/system/entity/LfCrop.java | 19 +- .../com/ruoyi/system/entity/LfEvents.java | 15 +- .../com/ruoyi/system/entity/LfGarden.java | 30 +- .../java/com/ruoyi/system/entity/LfHonor.java | 25 +- .../java/com/ruoyi/system/entity/LfImage.java | 12 +- .../com/ruoyi/system/entity/LfMonitor.java | 12 +- .../java/com/ruoyi/system/entity/LfOrder.java | 56 +- .../java/com/ruoyi/system/entity/LfPlace.java | 28 +- .../java/com/ruoyi/system/entity/LfUser.java | 60 ++ .../com/ruoyi/system/entity/LfVillage.java | 52 +- .../ruoyi/system/entity/LfWorkshopData.java | 12 +- .../vo => entity}/MonthRevenue.java | 2 +- .../MonthTickets.java} | 4 +- .../MonthVisitor.java} | 4 +- .../java/com/ruoyi/system/entity/User.java | 119 +++ .../com/ruoyi/system/entity/UserRole.java | 29 + .../system/entity/WeChatUserInfoDTO.java | 37 + .../system/entity/WeChateUserInfoVo.java | 23 + .../java/com/ruoyi/system/entity/WxLogin.java | 29 + .../com/ruoyi/system/entity/WxPayBean.java | 93 ++ .../com/ruoyi/system/entity/WxPayV3Bean.java | 119 +++ .../main/java/com/ruoyi/system/kit/IpKit.java | 32 + .../ruoyi/system/mapper/LfArticleMapper.java | 27 + .../ruoyi/system/mapper/LfArticleMapper.xml | 23 + .../ruoyi/system/mapper/LfBrandMapper.java | 27 + .../com/ruoyi/system/mapper/LfBrandMapper.xml | 25 + .../system/mapper/LfCommodityMapper.java | 27 + .../ruoyi/system/mapper/LfCommodityMapper.xml | 31 + .../ruoyi/system/mapper/LfHonorMapper.java | 2 +- .../com/ruoyi/system/mapper/LfHonorMapper.xml | 2 + .../ruoyi/system/mapper/LfOrderMapper.java | 2 +- .../com/ruoyi/system/mapper/LfOrderMapper.xml | 6 +- .../com/ruoyi/system/mapper/LfUserMapper.java | 27 + .../com/ruoyi/system/mapper/LfUserMapper.xml | 27 + .../ruoyi/system/mapper/LfVillageMapper.java | 2 +- .../ruoyi/system/mapper/LfVillageMapper.xml | 2 + .../com/ruoyi/system/mapper/UserMapper.java | 27 + .../com/ruoyi/system/mapper/UserMapper.xml | 36 + .../ruoyi/system/mapper/UserRoleMapper.java | 27 + .../ruoyi/system/mapper/UserRoleMapper.xml | 16 + .../java/com/ruoyi/system/qo/LfArticleQO.java | 49 ++ .../java/com/ruoyi/system/qo/LfAwardsQO.java | 10 +- .../java/com/ruoyi/system/qo/LfBrandQO.java | 63 ++ .../com/ruoyi/system/qo/LfCommodityQO.java | 104 +++ .../java/com/ruoyi/system/qo/LfCpcmQO.java | 5 - .../java/com/ruoyi/system/qo/LfCropQO.java | 10 +- .../java/com/ruoyi/system/qo/LfEventsQO.java | 10 +- .../java/com/ruoyi/system/qo/LfGardenQO.java | 2 - .../java/com/ruoyi/system/qo/LfHonorQO.java | 24 +- .../java/com/ruoyi/system/qo/LfImageQO.java | 5 - .../java/com/ruoyi/system/qo/LfMonitorQO.java | 23 +- .../com/ruoyi/system/qo/LfOrderDetailsQO.java | 4 - .../java/com/ruoyi/system/qo/LfOrderQO.java | 48 +- .../java/com/ruoyi/system/qo/LfPlaceQO.java | 46 +- .../java/com/ruoyi/system/qo/LfVillageQO.java | 18 +- .../com/ruoyi/system/qo/LfWorkshopDataQO.java | 4 - .../main/java/com/ruoyi/system/qo/UserQO.java | 125 +++ .../java/com/ruoyi/system/qo/UserRoleQO.java | 29 + .../system/service/ILfArticleService.java | 26 + .../ruoyi/system/service/ILfBrandService.java | 26 + .../system/service/ILfCommodityService.java | 26 + .../service/ILfOrderDetailsService.java | 4 +- .../system/service/ILfVillageService.java | 2 + .../service/impl/LfArticleServiceImpl.java | 31 + .../service/impl/LfBrandServiceImpl.java | 31 + .../service/impl/LfCommodityServiceImpl.java | 31 + .../impl/LfOrderDetailsServiceImpl.java | 12 +- .../service/impl/LfOrderServiceImpl.java | 14 +- .../service/impl/LfVillageServiceImpl.java | 5 + .../com/ruoyi/system/utils/StringUtils.java | 150 ++++ .../java/com/ruoyi/system/vo/AjaxResult.java | 85 ++ .../java/com/ruoyi/system/vo/LfArticleVO.java | 21 + .../java/com/ruoyi/system/vo/LfBrandVO.java | 21 + .../com/ruoyi/system/vo/LfCommodityVO.java | 21 + .../java/com/ruoyi/system/vo/LfHonorVO.java | 2 +- .../java/com/ruoyi/system/vo/LfOrderVO.java | 2 +- .../java/com/ruoyi/system/vo/LfUserVO.java | 21 + .../java/com/ruoyi/system/vo/LfVillageVO.java | 2 +- .../java/com/ruoyi/system/vo/UserRoleVO.java | 21 + .../main/java/com/ruoyi/system/vo/UserVO.java | 21 + .../resources/production/wxpay.properties | 6 + .../src/main/resources/wxpay.properties | 7 + .../src/main/resources/wxpay_v3.properties | 9 + 143 files changed, 4634 insertions(+), 475 deletions(-) rename {ruoyi-system/src/main/java/com/ruoyi/system/controller => ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfAwards}/LfAwardsController.java (47%) rename {ruoyi-system/src/main/java/com/ruoyi/system/controller => ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfCpcm}/LfCpcmController.java (48%) rename {ruoyi-system/src/main/java/com/ruoyi/system/controller => ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfCrop}/LfCropController.java (48%) rename {ruoyi-system/src/main/java/com/ruoyi/system/controller => ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfEvents}/LfEventsController.java (48%) rename {ruoyi-system/src/main/java/com/ruoyi/system/controller => ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfGarden}/LfGardenController.java (47%) rename {ruoyi-system/src/main/java/com/ruoyi/system/controller => ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfHonor}/LfHonorController.java (47%) rename {ruoyi-system/src/main/java/com/ruoyi/system/controller => ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfImage}/LfImageController.java (48%) rename {ruoyi-system/src/main/java/com/ruoyi/system/controller => ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfPlace}/LfPlaceController.java (48%) rename {ruoyi-system/src/main/java/com/ruoyi/system/controller => ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfVillage}/LfVillageController.java (60%) rename {ruoyi-system/src/main/java/com/ruoyi/system/controller => ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfWorkshopData}/LfWorkshopDataController.java (61%) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/management/ManagementController.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/miniapp/MiniAppController.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/service/IUserRoleService.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/service/IUserService.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/service/IWxPayService.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/service/impl/UserRoleServiceImpl.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/service/impl/UserServiceImpl.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/service/impl/WxV2PayServiceImpl.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/service/impl/WxV3PayServiceImpl.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/wxpay/WxPayController.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/wxpay/WxPayV3Controller.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/ArticleVO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/BrandVO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/CommodityVO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/UserVO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/custom/OkHttpKit.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/dto/LfArticleDTO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/dto/LfBrandDTO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/dto/LfCommodityDTO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/dto/LfUserDTO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/dto/UserDTO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/dto/UserRoleDTO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/entity/H5SceneInfo.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/entity/LfArticle.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/entity/LfBrand.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/entity/LfCommodity.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/entity/LfUser.java rename ruoyi-system/src/main/java/com/ruoyi/system/{controller/vo => entity}/MonthRevenue.java (87%) rename ruoyi-system/src/main/java/com/ruoyi/system/{controller/vo/MonthTicketsVO.java => entity/MonthTickets.java} (75%) rename ruoyi-system/src/main/java/com/ruoyi/system/{controller/vo/MonthVisitorVO.java => entity/MonthVisitor.java} (75%) create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/entity/User.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/entity/UserRole.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/entity/WeChatUserInfoDTO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/entity/WeChateUserInfoVo.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/entity/WxLogin.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/entity/WxPayBean.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/entity/WxPayV3Bean.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/kit/IpKit.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfArticleMapper.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfArticleMapper.xml create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfBrandMapper.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfBrandMapper.xml create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfCommodityMapper.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfCommodityMapper.xml create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfUserMapper.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfUserMapper.xml create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserMapper.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserMapper.xml create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserRoleMapper.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserRoleMapper.xml create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/qo/LfArticleQO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/qo/LfBrandQO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/qo/LfCommodityQO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/qo/UserQO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/qo/UserRoleQO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/ILfArticleService.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/ILfBrandService.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/ILfCommodityService.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfArticleServiceImpl.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfBrandServiceImpl.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfCommodityServiceImpl.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/utils/StringUtils.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/vo/AjaxResult.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/vo/LfArticleVO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/vo/LfBrandVO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/vo/LfCommodityVO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/vo/LfUserVO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/vo/UserRoleVO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/vo/UserVO.java create mode 100644 ruoyi-system/src/main/resources/production/wxpay.properties create mode 100644 ruoyi-system/src/main/resources/wxpay.properties create mode 100644 ruoyi-system/src/main/resources/wxpay_v3.properties diff --git a/core-mybatis-plus/src/main/java/com/sky/core/mp/base/BaseService.java b/core-mybatis-plus/src/main/java/com/sky/core/mp/base/BaseService.java index f3ecc3d..c4648f5 100644 --- a/core-mybatis-plus/src/main/java/com/sky/core/mp/base/BaseService.java +++ b/core-mybatis-plus/src/main/java/com/sky/core/mp/base/BaseService.java @@ -22,7 +22,7 @@ public interface BaseService extends IService { * @param ids id集合(逗号分隔) * @return boolean */ - boolean deleteLogic(@NotEmpty List ids); + boolean deleteLogic(@NotEmpty List ids); /** * 获取查询条件 diff --git a/core-mybatis-plus/src/main/java/com/sky/core/mp/base/BaseServiceImpl.java b/core-mybatis-plus/src/main/java/com/sky/core/mp/base/BaseServiceImpl.java index 1a5d949..faff551 100644 --- a/core-mybatis-plus/src/main/java/com/sky/core/mp/base/BaseServiceImpl.java +++ b/core-mybatis-plus/src/main/java/com/sky/core/mp/base/BaseServiceImpl.java @@ -47,7 +47,7 @@ public class BaseServiceImpl, T extends BaseEntity> exte } @Override - public boolean deleteLogic(@NotEmpty List ids) { + public boolean deleteLogic(@NotEmpty List ids) { return super.removeByIds(ids); } diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml index f7453e9..02f14ff 100644 --- a/ruoyi-admin/pom.xml +++ b/ruoyi-admin/pom.xml @@ -62,6 +62,12 @@ ruoyi-generator + + com.github.javen205 + IJPay-WxPay + 2.9.7 + + javax.xml.bind jaxb-api 2.3.0 com.sun.xml.bind jaxb-impl 2.3.0 @@ -88,18 +94,18 @@ - - - org.apache.maven.plugins - maven-war-plugin - 3.1.0 + + + org.apache.maven.plugins + maven-war-plugin + 3.1.0 false ${project.artifactId} - - + + ${project.artifactId} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bigscreen/BigScreenController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bigscreen/BigScreenController.java index ae28f5d..c66fdc3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bigscreen/BigScreenController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bigscreen/BigScreenController.java @@ -1,8 +1,12 @@ package com.ruoyi.web.controller.bigscreen; import com.ruoyi.system.controller.vo.*; +import com.ruoyi.system.entity.User; +import com.ruoyi.system.entity.UserRole; import com.ruoyi.system.qo.LfWorkshopDataQO; import com.ruoyi.system.service.*; +import com.ruoyi.web.service.IUserRoleService; +import com.ruoyi.web.service.IUserService; import com.sky.core.tool.api.R; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -42,6 +46,10 @@ public class BigScreenController { private ILfOrderService orderService; @Autowired private ILfMonitorService monitorService; + @Autowired + private IUserService userService; + @Autowired + private IUserRoleService userRoleService; @GetMapping("/village") @ApiOperation(value = "乡村概况和村情介绍接口", notes = "乡村概况和村情介绍接口") diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/LfAwardsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfAwards/LfAwardsController.java similarity index 47% rename from ruoyi-system/src/main/java/com/ruoyi/system/controller/LfAwardsController.java rename to ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfAwards/LfAwardsController.java index 696ce49..2dce6b8 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/LfAwardsController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfAwards/LfAwardsController.java @@ -1,49 +1,60 @@ -package com.ruoyi.system.controller; +package com.ruoyi.web.controller.lfAwards; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.ruoyi.system.dto.LfAwardsDTO; +import com.ruoyi.system.qo.LfAwardsQO; +import com.ruoyi.system.service.ILfAwardsService; +import com.ruoyi.system.vo.LfAwardsVO; import com.sky.core.tool.api.R; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import lombok.AllArgsConstructor; - - import org.springframework.web.bind.annotation.*; -import com.ruoyi.system.entity.LfAwards; -import com.ruoyi.system.vo.LfAwardsVO; -import com.ruoyi.system.qo.LfAwardsQO; -import com.ruoyi.system.dto.LfAwardsDTO; -import com.ruoyi.system.service.ILfAwardsService; + +import java.util.List; /** - * 控制器 + * 控制器 * * @author zqj * @since 2023-04-23 */ +@Api(value = "评选结果接口") +@RequestMapping("/lf_awards") @RestController @AllArgsConstructor -@RequestMapping("/lf_awards") -@Api(value = "", tags = "接口") public class LfAwardsController { -private ILfAwardsService lfAwardsService; - + private ILfAwardsService lfAwardsService; @GetMapping("/page") @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入lfAwards") - public R>page( LfAwardsQO lfAwardsQO){ - IPage pages= lfAwardsService.selectLfAwardsPage(lfAwardsQO); - return R.data(pages); + public R> page(LfAwardsQO lfAwardsQO) { + IPage pages = lfAwardsService.selectLfAwardsPage(lfAwardsQO); + return R.data(pages); } @PostMapping("/save") @ApiOperationSupport(order = 1) @ApiOperation(value = "新增", notes = "传入mailSendRecord") - public R save(@RequestBody LfAwardsDTO lfAwardsDTO) { - lfAwardsService.save(lfAwardsDTO); - return R.status(true); + public R save(@RequestBody LfAwardsDTO lfAwardsDTO) { + return R.status(lfAwardsService.save(lfAwardsDTO)); + } + + @PostMapping("/update") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "修改", notes = "传入mailSendRecord") + public R update(@RequestBody LfAwardsDTO lfAwardsDTO) { + return R.status(lfAwardsService.updateById(lfAwardsDTO)); + } + + @PostMapping("/delete") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "删除", notes = "传入要删除的ID") + public R delete(@RequestBody List ids) { + return R.status(lfAwardsService.deleteLogic(ids)); } -} \ No newline at end of file +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/LfCpcmController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfCpcm/LfCpcmController.java similarity index 48% rename from ruoyi-system/src/main/java/com/ruoyi/system/controller/LfCpcmController.java rename to ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfCpcm/LfCpcmController.java index 07c1e99..497525c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/LfCpcmController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfCpcm/LfCpcmController.java @@ -1,49 +1,60 @@ -package com.ruoyi.system.controller; +package com.ruoyi.web.controller.lfCpcm; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.ruoyi.system.dto.LfCpcmDTO; +import com.ruoyi.system.qo.LfCpcmQO; +import com.ruoyi.system.service.ILfCpcmService; +import com.ruoyi.system.vo.LfCpcmVO; import com.sky.core.tool.api.R; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import lombok.AllArgsConstructor; - - import org.springframework.web.bind.annotation.*; -import com.ruoyi.system.entity.LfCpcm; -import com.ruoyi.system.vo.LfCpcmVO; -import com.ruoyi.system.qo.LfCpcmQO; -import com.ruoyi.system.dto.LfCpcmDTO; -import com.ruoyi.system.service.ILfCpcmService; + +import java.util.List; /** - * 控制器 + * 控制器 * * @author zqj * @since 2023-04-23 */ +@Api(value = "党员接口") +@RequestMapping("/lf_cpcm") @RestController @AllArgsConstructor -@RequestMapping("/lf_cpcm") -@Api(value = "", tags = "接口") public class LfCpcmController { -private ILfCpcmService lfCpcmService; - + private ILfCpcmService lfCpcmService; @GetMapping("/page") @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入lfCpcm") - public R>page( LfCpcmQO lfCpcmQO){ - IPage pages= lfCpcmService.selectLfCpcmPage(lfCpcmQO); - return R.data(pages); + public R> page(LfCpcmQO lfCpcmQO) { + IPage pages = lfCpcmService.selectLfCpcmPage(lfCpcmQO); + return R.data(pages); } @PostMapping("/save") @ApiOperationSupport(order = 1) @ApiOperation(value = "新增", notes = "传入mailSendRecord") - public R save(@RequestBody LfCpcmDTO lfCpcmDTO) { - lfCpcmService.save(lfCpcmDTO); - return R.status(true); + public R save(@RequestBody LfCpcmDTO lfCpcmDTO) { + lfCpcmService.save(lfCpcmDTO); + return R.status(true); + } + + @PostMapping("/update") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "修改", notes = "传入mailSendRecord") + public R update(@RequestBody LfCpcmDTO lfCpcmDTO) { + return R.status(lfCpcmService.updateById(lfCpcmDTO)); + } + @PostMapping("/delete") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "删除", notes = "传入要删除的ID") + public R delete(@RequestBody List ids) { + return R.status(lfCpcmService.deleteLogic(ids)); } -} \ No newline at end of file +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/LfCropController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfCrop/LfCropController.java similarity index 48% rename from ruoyi-system/src/main/java/com/ruoyi/system/controller/LfCropController.java rename to ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfCrop/LfCropController.java index 3b7c561..dcdcdbc 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/LfCropController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfCrop/LfCropController.java @@ -1,49 +1,60 @@ -package com.ruoyi.system.controller; +package com.ruoyi.web.controller.lfCrop; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.ruoyi.system.dto.LfCropDTO; +import com.ruoyi.system.qo.LfCropQO; +import com.ruoyi.system.service.ILfCropService; +import com.ruoyi.system.vo.LfCropVO; import com.sky.core.tool.api.R; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import lombok.AllArgsConstructor; - - import org.springframework.web.bind.annotation.*; -import com.ruoyi.system.entity.LfCrop; -import com.ruoyi.system.vo.LfCropVO; -import com.ruoyi.system.qo.LfCropQO; -import com.ruoyi.system.dto.LfCropDTO; -import com.ruoyi.system.service.ILfCropService; + +import java.util.List; /** - * 控制器 + * 控制器 * * @author zqj * @since 2023-04-23 */ +@Api(value = "作物接口") +@RequestMapping("/lf_crop") @RestController @AllArgsConstructor -@RequestMapping("/lf_crop") -@Api(value = "", tags = "接口") public class LfCropController { -private ILfCropService lfCropService; - + private ILfCropService lfCropService; @GetMapping("/page") @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入lfCrop") - public R>page( LfCropQO lfCropQO){ - IPage pages= lfCropService.selectLfCropPage(lfCropQO); - return R.data(pages); + public R> page(LfCropQO lfCropQO) { + IPage pages = lfCropService.selectLfCropPage(lfCropQO); + return R.data(pages); } @PostMapping("/save") @ApiOperationSupport(order = 1) @ApiOperation(value = "新增", notes = "传入mailSendRecord") - public R save(@RequestBody LfCropDTO lfCropDTO) { - lfCropService.save(lfCropDTO); - return R.status(true); + public R save(@RequestBody LfCropDTO lfCropDTO) { + return R.status(lfCropService.save(lfCropDTO)); + } + + @PostMapping("/update") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "修改", notes = "传入mailSendRecord") + public R update(@RequestBody LfCropDTO lfCropDTO) { + return R.status(lfCropService.updateById(lfCropDTO)); + } + + @PostMapping("/delete") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "删除", notes = "传入要删除的ID") + public R delete(@RequestBody List ids) { + return R.status(lfCropService.deleteLogic(ids)); } -} \ No newline at end of file +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/LfEventsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfEvents/LfEventsController.java similarity index 48% rename from ruoyi-system/src/main/java/com/ruoyi/system/controller/LfEventsController.java rename to ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfEvents/LfEventsController.java index a00799c..f5c0276 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/LfEventsController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfEvents/LfEventsController.java @@ -1,49 +1,60 @@ -package com.ruoyi.system.controller; +package com.ruoyi.web.controller.lfEvents; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.ruoyi.system.dto.LfEventsDTO; +import com.ruoyi.system.qo.LfEventsQO; +import com.ruoyi.system.service.ILfEventsService; +import com.ruoyi.system.vo.LfEventsVO; import com.sky.core.tool.api.R; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import lombok.AllArgsConstructor; - - import org.springframework.web.bind.annotation.*; -import com.ruoyi.system.entity.LfEvents; -import com.ruoyi.system.vo.LfEventsVO; -import com.ruoyi.system.qo.LfEventsQO; -import com.ruoyi.system.dto.LfEventsDTO; -import com.ruoyi.system.service.ILfEventsService; + +import java.util.List; /** - * 控制器 + * 控制器 * * @author zqj * @since 2023-04-23 */ +@Api(value = "活动接口") +@RequestMapping("/lf_events") @RestController @AllArgsConstructor -@RequestMapping("/lf_events") -@Api(value = "", tags = "接口") public class LfEventsController { -private ILfEventsService lfEventsService; - + private ILfEventsService lfEventsService; @GetMapping("/page") @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入lfEvents") - public R>page( LfEventsQO lfEventsQO){ - IPage pages= lfEventsService.selectLfEventsPage(lfEventsQO); - return R.data(pages); + public R> page(LfEventsQO lfEventsQO) { + IPage pages = lfEventsService.selectLfEventsPage(lfEventsQO); + return R.data(pages); } @PostMapping("/save") @ApiOperationSupport(order = 1) @ApiOperation(value = "新增", notes = "传入mailSendRecord") - public R save(@RequestBody LfEventsDTO lfEventsDTO) { - lfEventsService.save(lfEventsDTO); - return R.status(true); + public R save(@RequestBody LfEventsDTO lfEventsDTO) { + return R.status(lfEventsService.save(lfEventsDTO)); + } + + @PostMapping("/update") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "修改", notes = "传入mailSendRecord") + public R update(@RequestBody LfEventsDTO lfEventsDTO) { + return R.status(lfEventsService.updateById(lfEventsDTO)); + } + + @PostMapping("/delete") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "删除", notes = "传入要删除的ID") + public R delete(@RequestBody List ids) { + return R.status(lfEventsService.deleteLogic(ids)); } -} \ No newline at end of file +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/LfGardenController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfGarden/LfGardenController.java similarity index 47% rename from ruoyi-system/src/main/java/com/ruoyi/system/controller/LfGardenController.java rename to ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfGarden/LfGardenController.java index 8d3dcde..bcd8797 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/LfGardenController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfGarden/LfGardenController.java @@ -1,49 +1,60 @@ -package com.ruoyi.system.controller; +package com.ruoyi.web.controller.lfGarden; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.ruoyi.system.dto.LfGardenDTO; +import com.ruoyi.system.qo.LfGardenQO; +import com.ruoyi.system.service.ILfGardenService; +import com.ruoyi.system.vo.LfGardenVO; import com.sky.core.tool.api.R; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import lombok.AllArgsConstructor; - - import org.springframework.web.bind.annotation.*; -import com.ruoyi.system.entity.LfGarden; -import com.ruoyi.system.vo.LfGardenVO; -import com.ruoyi.system.qo.LfGardenQO; -import com.ruoyi.system.dto.LfGardenDTO; -import com.ruoyi.system.service.ILfGardenService; + +import java.util.List; /** - * 控制器 + * 控制器 * * @author zqj * @since 2023-04-23 */ +@Api(value = "周末农场接口") +@RequestMapping("/lf_garden") @RestController @AllArgsConstructor -@RequestMapping("/lf_garden") -@Api(value = "", tags = "接口") public class LfGardenController { -private ILfGardenService lfGardenService; - + private ILfGardenService lfGardenService; @GetMapping("/page") @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入lfGarden") - public R>page( LfGardenQO lfGardenQO){ - IPage pages= lfGardenService.selectLfGardenPage(lfGardenQO); - return R.data(pages); + public R> page(LfGardenQO lfGardenQO) { + IPage pages = lfGardenService.selectLfGardenPage(lfGardenQO); + return R.data(pages); } @PostMapping("/save") @ApiOperationSupport(order = 1) @ApiOperation(value = "新增", notes = "传入mailSendRecord") - public R save(@RequestBody LfGardenDTO lfGardenDTO) { - lfGardenService.save(lfGardenDTO); - return R.status(true); + public R save(@RequestBody LfGardenDTO lfGardenDTO) { + return R.status(lfGardenService.save(lfGardenDTO)); + } + + @PostMapping("/update") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "修改", notes = "传入mailSendRecord") + public R update(@RequestBody LfGardenDTO lfGardenDTO) { + return R.status(lfGardenService.updateById(lfGardenDTO)); + } + + @PostMapping("/delete") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "删除", notes = "传入要删除的ID") + public R delete(@RequestBody List ids) { + return R.status(lfGardenService.deleteLogic(ids)); } -} \ No newline at end of file +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/LfHonorController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfHonor/LfHonorController.java similarity index 47% rename from ruoyi-system/src/main/java/com/ruoyi/system/controller/LfHonorController.java rename to ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfHonor/LfHonorController.java index 4bb5cd9..26237f7 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/LfHonorController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfHonor/LfHonorController.java @@ -1,49 +1,60 @@ -package com.ruoyi.system.controller; +package com.ruoyi.web.controller.lfHonor; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.ruoyi.system.dto.LfHonorDTO; +import com.ruoyi.system.qo.LfHonorQO; +import com.ruoyi.system.service.ILfHonorService; +import com.ruoyi.system.vo.LfHonorVO; import com.sky.core.tool.api.R; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import lombok.AllArgsConstructor; - - import org.springframework.web.bind.annotation.*; -import com.ruoyi.system.entity.LfHonor; -import com.ruoyi.system.vo.LfHonorVO; -import com.ruoyi.system.qo.LfHonorQO; -import com.ruoyi.system.dto.LfHonorDTO; -import com.ruoyi.system.service.ILfHonorService; + +import java.util.List; /** - * 控制器 + * 控制器 * * @author zqj * @since 2023-04-23 */ +@Api(value = "荣誉信息接口") +@RequestMapping("/lf_honor") @RestController @AllArgsConstructor -@RequestMapping("/lf_honor") -@Api(value = "", tags = "接口") public class LfHonorController { -private ILfHonorService lfHonorService; - + private ILfHonorService lfHonorService; @GetMapping("/page") @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入lfHonor") - public R>page( LfHonorQO lfHonorQO){ - IPage pages= lfHonorService.selectLfHonorPage(lfHonorQO); - return R.data(pages); + public R> page(LfHonorQO lfHonorQO) { + IPage pages = lfHonorService.selectLfHonorPage(lfHonorQO); + return R.data(pages); } @PostMapping("/save") @ApiOperationSupport(order = 1) @ApiOperation(value = "新增", notes = "传入mailSendRecord") - public R save(@RequestBody LfHonorDTO lfHonorDTO) { - lfHonorService.save(lfHonorDTO); - return R.status(true); + public R save(@RequestBody LfHonorDTO lfHonorDTO) { + return R.status(lfHonorService.save(lfHonorDTO)); + } + + @PostMapping("/update") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "修改", notes = "传入mailSendRecord") + public R update(@RequestBody LfHonorDTO lfHonorDTO) { + return R.status(lfHonorService.updateById(lfHonorDTO)); + } + + @PostMapping("/delete") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "删除", notes = "传入要删除的ID") + public R delete(@RequestBody List ids) { + return R.status(lfHonorService.deleteLogic(ids)); } -} \ No newline at end of file +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/LfImageController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfImage/LfImageController.java similarity index 48% rename from ruoyi-system/src/main/java/com/ruoyi/system/controller/LfImageController.java rename to ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfImage/LfImageController.java index 684ed31..5cf27e9 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/LfImageController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfImage/LfImageController.java @@ -1,49 +1,60 @@ -package com.ruoyi.system.controller; +package com.ruoyi.web.controller.lfImage; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.ruoyi.system.dto.LfImageDTO; +import com.ruoyi.system.qo.LfImageQO; +import com.ruoyi.system.service.ILfImageService; +import com.ruoyi.system.vo.LfImageVO; import com.sky.core.tool.api.R; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import lombok.AllArgsConstructor; - - import org.springframework.web.bind.annotation.*; -import com.ruoyi.system.entity.LfImage; -import com.ruoyi.system.vo.LfImageVO; -import com.ruoyi.system.qo.LfImageQO; -import com.ruoyi.system.dto.LfImageDTO; -import com.ruoyi.system.service.ILfImageService; + +import java.util.List; /** - * 控制器 + * 控制器 * * @author zqj * @since 2023-04-23 */ +@Api(value = "图片接口") +@RequestMapping("/lf_image") @RestController @AllArgsConstructor -@RequestMapping("/lf_image") -@Api(value = "", tags = "接口") public class LfImageController { -private ILfImageService lfImageService; - + private ILfImageService lfImageService; @GetMapping("/page") @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入lfImage") - public R>page( LfImageQO lfImageQO){ - IPage pages= lfImageService.selectLfImagePage(lfImageQO); - return R.data(pages); + public R> page(LfImageQO lfImageQO) { + IPage pages = lfImageService.selectLfImagePage(lfImageQO); + return R.data(pages); } @PostMapping("/save") @ApiOperationSupport(order = 1) @ApiOperation(value = "新增", notes = "传入mailSendRecord") - public R save(@RequestBody LfImageDTO lfImageDTO) { - lfImageService.save(lfImageDTO); - return R.status(true); + public R save(@RequestBody LfImageDTO lfImageDTO) { + return R.status(lfImageService.save(lfImageDTO)); + } + + @PostMapping("/update") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "修改", notes = "传入mailSendRecord") + public R update(@RequestBody LfImageDTO lfImageDTO) { + return R.status(lfImageService.updateById(lfImageDTO)); + } + + @PostMapping("/delete") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "删除", notes = "传入要删除的ID") + public R delete(@RequestBody List ids) { + return R.status(lfImageService.deleteLogic(ids)); } -} \ No newline at end of file +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/LfPlaceController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfPlace/LfPlaceController.java similarity index 48% rename from ruoyi-system/src/main/java/com/ruoyi/system/controller/LfPlaceController.java rename to ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfPlace/LfPlaceController.java index 869033e..3b70d66 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/LfPlaceController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfPlace/LfPlaceController.java @@ -1,49 +1,61 @@ -package com.ruoyi.system.controller; +package com.ruoyi.web.controller.lfPlace; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.ruoyi.system.dto.LfPlaceDTO; +import com.ruoyi.system.qo.LfPlaceQO; +import com.ruoyi.system.service.ILfPlaceService; +import com.ruoyi.system.vo.LfPlaceVO; import com.sky.core.tool.api.R; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import lombok.AllArgsConstructor; - - import org.springframework.web.bind.annotation.*; -import com.ruoyi.system.entity.LfPlace; -import com.ruoyi.system.vo.LfPlaceVO; -import com.ruoyi.system.qo.LfPlaceQO; -import com.ruoyi.system.dto.LfPlaceDTO; -import com.ruoyi.system.service.ILfPlaceService; + +import java.util.List; /** - * 控制器 + * 控制器 * * @author zqj * @since 2023-04-23 */ +@Api(value = "场所接口") +@RequestMapping("/lf_place") @RestController @AllArgsConstructor -@RequestMapping("/lf_place") -@Api(value = "", tags = "接口") public class LfPlaceController { -private ILfPlaceService lfPlaceService; - + private ILfPlaceService lfPlaceService; @GetMapping("/page") + @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入lfPlace") - public R>page( LfPlaceQO lfPlaceQO){ - IPage pages= lfPlaceService.selectLfPlacePage(lfPlaceQO); - return R.data(pages); + public R> page(LfPlaceQO lfPlaceQO) { + IPage pages = lfPlaceService.selectLfPlacePage(lfPlaceQO); + return R.data(pages); } @PostMapping("/save") @ApiOperationSupport(order = 1) @ApiOperation(value = "新增", notes = "传入mailSendRecord") - public R save(@RequestBody LfPlaceDTO lfPlaceDTO) { - lfPlaceService.save(lfPlaceDTO); - return R.status(true); + public R save(@RequestBody LfPlaceDTO lfPlaceDTO) { + return R.status(lfPlaceService.save(lfPlaceDTO)); + } + + @PostMapping("/update") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "修改", notes = "传入mailSendRecord") + public R update(@RequestBody LfPlaceDTO lfPlaceDTO) { + return R.status(lfPlaceService.updateById(lfPlaceDTO)); + } + + @PostMapping("/delete") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "删除", notes = "传入要删除的ID") + public R delete(@RequestBody List ids) { + return R.status(lfPlaceService.deleteLogic(ids)); } -} \ No newline at end of file +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/LfVillageController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfVillage/LfVillageController.java similarity index 60% rename from ruoyi-system/src/main/java/com/ruoyi/system/controller/LfVillageController.java rename to ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfVillage/LfVillageController.java index e72619f..5c19000 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/LfVillageController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfVillage/LfVillageController.java @@ -1,20 +1,18 @@ -package com.ruoyi.system.controller; +package com.ruoyi.web.controller.lfVillage; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.ruoyi.system.controller.vo.VillageVO; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.ruoyi.system.dto.LfVillageDTO; +import com.ruoyi.system.qo.LfVillageQO; +import com.ruoyi.system.service.ILfVillageService; +import com.ruoyi.system.vo.LfVillageVO; import com.sky.core.tool.api.R; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import lombok.AllArgsConstructor; - - import org.springframework.web.bind.annotation.*; -import com.ruoyi.system.entity.LfVillage; -import com.ruoyi.system.vo.LfVillageVO; -import com.ruoyi.system.qo.LfVillageQO; -import com.ruoyi.system.dto.LfVillageDTO; -import com.ruoyi.system.service.ILfVillageService; + +import java.util.List; /** * 控制器 @@ -22,15 +20,14 @@ import com.ruoyi.system.service.ILfVillageService; * @author zqj * @since 2023-04-23 */ +@Api(value = "村庄概况接口") +@RequestMapping("/lf_village") @RestController @AllArgsConstructor -@RequestMapping("/lf_village") -@Api(value = "", tags = "接口") public class LfVillageController { private ILfVillageService lfVillageService; - @GetMapping("/page") @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入lfVillage") @@ -42,9 +39,22 @@ public class LfVillageController { @PostMapping("/save") @ApiOperationSupport(order = 1) @ApiOperation(value = "新增", notes = "传入mailSendRecord") - public R save(@RequestBody LfVillageDTO lfVillageDTO) { - lfVillageService.save(lfVillageDTO); - return R.status(true); + public R save(@RequestBody LfVillageDTO lfVillageDTO) { + return R.status(lfVillageService.save(lfVillageDTO)); + } + + @PostMapping("/update") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "修改", notes = "传入mailSendRecord") + public R update(@RequestBody LfVillageDTO lfVillageDTO) { + return R.status(lfVillageService.updateById(lfVillageDTO)); + } + + @PostMapping("/delete") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "删除", notes = "传入要删除的ID") + public R delete(@RequestBody List ids) { + return R.status(lfVillageService.deleteLogic(ids)); } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/LfWorkshopDataController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfWorkshopData/LfWorkshopDataController.java similarity index 61% rename from ruoyi-system/src/main/java/com/ruoyi/system/controller/LfWorkshopDataController.java rename to ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfWorkshopData/LfWorkshopDataController.java index 9805c3a..8f8c614 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/LfWorkshopDataController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/lfWorkshopData/LfWorkshopDataController.java @@ -1,22 +1,17 @@ -package com.ruoyi.system.controller; +package com.ruoyi.web.controller.lfWorkshopData; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.ruoyi.system.controller.vo.WorkshopVO; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.ruoyi.system.dto.LfWorkshopDataDTO; +import com.ruoyi.system.qo.LfWorkshopDataQO; +import com.ruoyi.system.service.ILfWorkshopDataService; +import com.ruoyi.system.vo.LfWorkshopDataVO; import com.sky.core.tool.api.R; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import lombok.AllArgsConstructor; - - import org.springframework.web.bind.annotation.*; -import com.ruoyi.system.entity.LfWorkshopData; -import com.ruoyi.system.vo.LfWorkshopDataVO; -import com.ruoyi.system.qo.LfWorkshopDataQO; -import com.ruoyi.system.dto.LfWorkshopDataDTO; -import com.ruoyi.system.service.ILfWorkshopDataService; -import java.util.Calendar; import java.util.List; /** @@ -25,15 +20,14 @@ import java.util.List; * @author zqj * @since 2023-04-23 */ +@Api(value = "共富工坊接口") +@RequestMapping("/lf_workshop_data") @RestController @AllArgsConstructor -@RequestMapping("/lf_workshop_data") -@Api(value = "", tags = "接口") public class LfWorkshopDataController { private ILfWorkshopDataService lfWorkshopDataService; - @GetMapping("/page") @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入lfWorkshopData") @@ -45,9 +39,22 @@ public class LfWorkshopDataController { @PostMapping("/save") @ApiOperationSupport(order = 1) @ApiOperation(value = "新增", notes = "传入mailSendRecord") - public R save(@RequestBody LfWorkshopDataDTO lfWorkshopDataDTO) { - lfWorkshopDataService.save(lfWorkshopDataDTO); - return R.status(true); + public R save(@RequestBody LfWorkshopDataDTO lfWorkshopDataDTO) { + return R.status(lfWorkshopDataService.save(lfWorkshopDataDTO)); + } + + @PostMapping("/update") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "修改", notes = "传入mailSendRecord") + public R update(@RequestBody LfWorkshopDataDTO lfWorkshopDataDTO) { + return R.status(lfWorkshopDataService.updateById(lfWorkshopDataDTO)); + } + + @PostMapping("/delete") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "删除", notes = "传入要删除的ID") + public R delete(@RequestBody List ids) { + return R.status(lfWorkshopDataService.deleteLogic(ids)); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/management/ManagementController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/management/ManagementController.java new file mode 100644 index 0000000..953ac41 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/management/ManagementController.java @@ -0,0 +1,61 @@ +package com.ruoyi.web.controller.management; + +import com.alibaba.fastjson.JSONObject; +import com.ruoyi.system.service.*; +import com.ruoyi.web.service.IUserRoleService; +import com.ruoyi.web.service.IUserService; +import com.sky.core.tool.api.R; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Api(value = "后台管理接口") +@RequestMapping("/management") +@RestController +public class ManagementController { + + @Autowired + private ILfVillageService villageService; + @Autowired + private ILfWorkshopDataService workshopDataService; + @Autowired + private ILfEventsService eventsService; + @Autowired + private ILfAwardsService awardsService; + @Autowired + private ILfPlaceService placeService; + @Autowired + private ILfCpcmService cpcmService; + @Autowired + private ILfGardenService gardenService; + @Autowired + private ILfOrderService orderService; + @Autowired + private ILfMonitorService monitorService; + @Autowired + private IUserService userService; + @Autowired + private IUserRoleService userRoleService; + + @GetMapping("/overview") + @ApiOperation(value = "总览接口", notes = "总览接口") + public R overview() { + return R.data(null); + } + + @GetMapping("/editYihuyidang") + @ApiOperation(value = "一户一档接口", notes = "一户一档接口") + public R editYihuyidang() { + return R.data(null); + } + + @GetMapping("/editMonitor") + @ApiOperation(value = "监控编辑接口", notes = "监控编辑接口") + public R editMonitor() { + return R.data(null); + } + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/miniapp/MiniAppController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/miniapp/MiniAppController.java new file mode 100644 index 0000000..8e51c3d --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/miniapp/MiniAppController.java @@ -0,0 +1,124 @@ +package com.ruoyi.web.controller.miniapp; + +import com.alibaba.fastjson.JSONObject; +import com.ruoyi.system.controller.vo.OrderVO; +import com.ruoyi.system.entity.LfOrder; +import com.ruoyi.system.entity.WeChatUserInfoDTO; +import com.ruoyi.web.service.IUserService; +import com.sky.core.tool.api.R; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.Date; +import java.util.List; + +@Api(value = "小程序接口") +@RequestMapping("/miniapp") +@RestController +public class MiniAppController { + + @Autowired + private IUserService userService; + + @ApiOperation("小程序登录接口") + @PostMapping(value = "/wxLogin") + public R wxLogin(@RequestBody WeChatUserInfoDTO weChatUserInfoDTO){ + return userService.wxLogin(weChatUserInfoDTO); + } + + @ApiOperation("首页卡丁乐园接口") + @PostMapping(value = "/kartingPark") + public R kartingPark(){ + return null; + } + + @ApiOperation("乐活村庄接口") + @PostMapping(value = "/lehuoVillage") + public R lehuoVillage(){ + return null; + } + + @ApiOperation("最美庭院接口") + @PostMapping(value = "/beautifulCourtyard") + public R beautifulCourtyard(){ + return null; + } + + @ApiOperation("文章内容接口") + @PostMapping(value = "/article") + public R article(long articleId){ + return null; + } + + @ApiOperation("售票商店接口") + @PostMapping(value = "/store") + public R store(){ + return null; + } + + @ApiOperation("商品详情接口") + @PostMapping(value = "/commodity") + public R commodity(){ + return null; + } + + @ApiOperation("票价接口") + @PostMapping(value = "/datePrice") + public R datePrice(Date date){ + return null; + } + + @ApiOperation("生成订单支付接口") + @PostMapping(value = "/miniAppPay") + public R miniAppPay(@RequestBody LfOrder lfOrder, HttpServletRequest request){ + return null; + } + + @ApiOperation(value = "微信小程序支付异步通知回调", notes = "微信小程序支付异步通知回调") + @PostMapping(value = "/payNotify") + @ResponseBody + public R payNotify(HttpServletRequest request) { + return null; + } + + @ApiOperation("订单列表接口") + @PostMapping(value = "/orderList") + public R orderList(OrderVO orderVO){ + return null; + } + + @ApiOperation("订单接口") + @PostMapping(value = "/order") + public R order(long id){ + return null; + } + + @ApiOperation("退款接口") + @PostMapping(value = "/refund") + public R refund(@RequestParam(value = "transactionId", required = false) String transactionId, + @RequestParam(value = "outTradeNo", required = false) String outTradeNo){ + return null; + } + + @ApiOperation("工作台接口") + @PostMapping(value = "/staging") + public R staging(){ + return null; + } + + @ApiOperation("核销接口") + @PostMapping(value = "/consumption") + public R consumption(long orderId){ + return null; + } + + @ApiOperation("门牌二维码接口") + @PostMapping(value = "/brand") + public R brand(long id){ + return null; + } + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/service/IUserRoleService.java b/ruoyi-admin/src/main/java/com/ruoyi/web/service/IUserRoleService.java new file mode 100644 index 0000000..674370d --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/service/IUserRoleService.java @@ -0,0 +1,26 @@ + +package com.ruoyi.web.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.ruoyi.system.entity.UserRole; +import com.ruoyi.system.qo.UserRoleQO; +import com.ruoyi.system.vo.UserRoleVO; +import com.sky.core.mp.base.BaseService; + +/** + * 服务类 + * + * @author zqj + * @since 2023-04-26 + */ +public interface IUserRoleService extends BaseService { + + /** + * 自定义分页 + * + * @param userRole + * @return + */ + IPage selectUserRolePage( UserRoleQO userRole); + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/service/IUserService.java b/ruoyi-admin/src/main/java/com/ruoyi/web/service/IUserService.java new file mode 100644 index 0000000..ed15d58 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/service/IUserService.java @@ -0,0 +1,33 @@ + +package com.ruoyi.web.service; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.ruoyi.system.entity.User; +import com.ruoyi.system.entity.WeChatUserInfoDTO; +import com.ruoyi.system.qo.UserQO; +import com.ruoyi.system.vo.UserVO; +import com.sky.core.mp.base.BaseService; +import com.sky.core.tool.api.R; + +/** + * 服务类 + * + * @author zqj + * @since 2023-04-26 + */ +public interface IUserService extends BaseService { + + /** + * 自定义分页 + * + * @param user + * @return + */ + IPage selectUserPage( UserQO user); + + R wxLogin(WeChatUserInfoDTO weChatUserInfoDTO); + + User getByUserId(Long userId); + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/service/IWxPayService.java b/ruoyi-admin/src/main/java/com/ruoyi/web/service/IWxPayService.java new file mode 100644 index 0000000..9770b6a --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/service/IWxPayService.java @@ -0,0 +1,17 @@ +package com.ruoyi.web.service; + +import com.ruoyi.system.entity.LfOrder; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; + +import javax.servlet.http.HttpServletRequest; + +public interface IWxPayService { + + public String miniAppPay(@RequestBody LfOrder lfOrder, HttpServletRequest request); + + public String payNotify(HttpServletRequest request); + + String refund(@RequestParam(value = "transactionId", required = false) String transactionId, + @RequestParam(value = "outTradeNo", required = false) String outTradeNo); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/service/impl/UserRoleServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/web/service/impl/UserRoleServiceImpl.java new file mode 100644 index 0000000..9b0fcf8 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/service/impl/UserRoleServiceImpl.java @@ -0,0 +1,31 @@ + +package com.ruoyi.web.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.system.entity.UserRole; +import com.ruoyi.system.mapper.UserRoleMapper; +import com.ruoyi.system.qo.UserRoleQO; +import com.ruoyi.system.vo.UserRoleVO; +import com.ruoyi.web.service.IUserRoleService; +import com.sky.core.mp.base.BaseServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 服务实现类 + * + * @author zqj + * @since 2023-04-26 + */ +@Service +public class UserRoleServiceImpl extends BaseServiceImpl implements IUserRoleService { + + @Override + public IPage selectUserRolePage(UserRoleQO userRole) { + QueryWrapper queryWrapper = getQueryChainWrapper(userRole); + IPage respPge = this.page(new Page<>(userRole.getPageNo(), userRole.getPageSize()), queryWrapper); + return respPge; + } + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/service/impl/UserServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/web/service/impl/UserServiceImpl.java new file mode 100644 index 0000000..bfba1db --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/service/impl/UserServiceImpl.java @@ -0,0 +1,134 @@ + +package com.ruoyi.web.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.http.HttpUtil; +import cn.hutool.json.JSONUtil; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.entity.User; +import com.ruoyi.system.entity.WeChatUserInfoDTO; +import com.ruoyi.system.entity.WeChateUserInfoVo; +import com.ruoyi.system.entity.WxPayBean; +import com.ruoyi.system.mapper.UserMapper; +import com.ruoyi.system.qo.UserQO; +import com.ruoyi.system.vo.UserVO; +import com.ruoyi.web.service.IUserService; +import com.sky.core.mp.base.BaseServiceImpl; +import com.sky.core.tool.api.R; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.Authentication; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.HashMap; + + +/** + * 服务实现类 + * + * @author zqj + * @since 2023-04-26 + */ +@Service +@Slf4j +public class UserServiceImpl extends BaseServiceImpl implements IUserService { + + @Resource + WxPayBean wxPayBean; + + @Resource + private AuthenticationManager authenticationManager; + + @Autowired + private TokenService tokenService; + + @Override + public IPage selectUserPage(UserQO user) { + QueryWrapper queryWrapper = getQueryChainWrapper(user); + IPage respPge = this.page(new Page<>(user.getPageNo(), user.getPageSize()), queryWrapper); + return respPge; + } + + @Override + public R wxLogin(WeChatUserInfoDTO weChatUserInfoDTO) { + cn.hutool.json.JSONObject sessionInfo = getSessionKeyOrOpenId(weChatUserInfoDTO.getCode()); + // 获取会话密钥(session_key) + String sessionKey = sessionInfo.getStr("session_key"); + // 用户的唯一标识(openid) + String openId = sessionInfo.getStr("openid"); + cn.hutool.json.JSONObject rawData = new cn.hutool.json.JSONObject(weChatUserInfoDTO.getRawData()); + WeChateUserInfoVo weChateUserInfoVo = JSONUtil.toBean(rawData, WeChateUserInfoVo.class); + log.info("sessionKey:{},openId:{}", sessionKey, openId); + weChateUserInfoVo.setOpenId(openId); + + //存数据库 + UserQO userQO = new UserQO(); + userQO.setOpenid(openId); + QueryWrapper queryWrapper = getQueryChainWrapper(userQO); + User user = this.getOne(queryWrapper); + String password = "password"; + if (BeanUtil.isEmpty(user)) { + user = new User(); + user.setOpenid(openId); + user.setUserName(openId); + user.setPassword(new BCryptPasswordEncoder().encode(password)); + user.setAvatar(weChateUserInfoVo.getAvatarUrl()); + user.setNickName(weChateUserInfoVo.getNickName()); + this.save(user); + } + User userinfo = this.getOne(queryWrapper); + weChateUserInfoVo.setNickName(userinfo.getNickName()); + weChateUserInfoVo.setAvatarUrl(userinfo.getAvatar()); + weChateUserInfoVo.setId(String.valueOf(userinfo.getUserId())); + // 生成token + Authentication authentication = null; + try { + // 该方法会去调用UserDetailsServiceImpl.loadUserByUsername + authentication = authenticationManager + .authenticate(new UsernamePasswordAuthenticationToken(user.getUserName(), password)); + } catch (Exception e) { + e.printStackTrace(); + } + LoginUser loginUser = (LoginUser) authentication.getPrincipal(); + // 生成token + String token = tokenService.createToken(loginUser); + JSONObject obj = new JSONObject(); + obj.put("token", token); + obj.put("userInfo", weChateUserInfoVo); + return R.data(obj); + } + + @Override + public User getByUserId(Long userId) { + UserQO userQO = new UserQO(); + userQO.setUserId(userId); + QueryWrapper queryWrapper = getQueryChainWrapper(userQO); + return this.getOne(queryWrapper); + } + + public cn.hutool.json.JSONObject getSessionKeyOrOpenId(String code) { + String requestUrl = "https://api.weixin.qq.com/sns/jscode2session"; + HashMap requestUrlParam = new HashMap<>(); + //小程序appId + requestUrlParam.put("appid", wxPayBean.getAppId()); + //小程序secret + requestUrlParam.put("secret", wxPayBean.getAppSecret()); + //小程序端返回的code + requestUrlParam.put("js_code", code); + //默认参数 + requestUrlParam.put("grant_type", "authorization_code"); + //发送post请求读取调用微信接口获取openid用户唯一标识 + String result = HttpUtil.get(requestUrl, requestUrlParam); + return JSONUtil.parseObj(result); + } + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/service/impl/WxV2PayServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/web/service/impl/WxV2PayServiceImpl.java new file mode 100644 index 0000000..a47618d --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/service/impl/WxV2PayServiceImpl.java @@ -0,0 +1,226 @@ +package com.ruoyi.web.service.impl; + +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ijpay.core.enums.SignType; +import com.ijpay.core.enums.TradeType; +import com.ijpay.core.kit.HttpKit; +import com.ijpay.core.kit.IpKit; +import com.ijpay.core.kit.WxPayKit; +import com.ijpay.wxpay.WxPayApi; +import com.ijpay.wxpay.WxPayApiConfig; +import com.ijpay.wxpay.WxPayApiConfigKit; +import com.ijpay.wxpay.model.RefundModel; +import com.ijpay.wxpay.model.RefundQueryModel; +import com.ijpay.wxpay.model.UnifiedOrderModel; +import com.ruoyi.system.entity.LfOrder; +import com.ruoyi.system.entity.User; +import com.ruoyi.system.entity.WxPayBean; +import com.ruoyi.system.qo.UserQO; +import com.ruoyi.system.service.ILfOrderService; +import com.ruoyi.web.service.IUserService; +import com.ruoyi.web.service.IWxPayService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.math.BigDecimal; +import java.util.HashMap; +import java.util.Map; + +@Service("WxV2PayServiceImpl") +public class WxV2PayServiceImpl implements IWxPayService { + + private final Logger log = LoggerFactory.getLogger(this.getClass()); + + @Autowired + WxPayBean wxPayBean; + + @Resource + public IUserService userService; + @Resource + public ILfOrderService orderService; + + private String refundNotifyUrl; + + @Override + public String miniAppPay(@RequestBody LfOrder lfOrder, HttpServletRequest request) { + String openId = userService.getByUserId(lfOrder.getUserId()).getOpenid(); + + String ip = IpKit.getRealIp(request); + if (StrUtil.isBlank(ip)) { + ip = "127.0.0.1"; + } +// WxPayApiConfig wxPayApiConfig = WxPayApiConfigKit.getWxPayApiConfig(); + BigDecimal money = lfOrder.getTotalPrice().movePointRight(2); + Map params = UnifiedOrderModel + .builder() + .appid(wxPayBean.getAppId()) + .mch_id(wxPayBean.getMchId()) + .nonce_str(WxPayKit.generateStr()) + .body("卡丁乐园") + .attach("卡丁乐园") + .out_trade_no("testordernumber") + .total_fee(String.valueOf(money)) + .spbill_create_ip(ip) + .notify_url(wxPayBean.getNotifyUrl()) + .trade_type(TradeType.JSAPI.getTradeType()) + .openid(openId) + .build() + .createSign(wxPayBean.getPartnerKey(), SignType.HMACSHA256); + + String xmlResult = WxPayApi.pushOrder(false, params); + + log.info(xmlResult); + Map result = WxPayKit.xmlToMap(xmlResult); + + String returnCode = result.get("return_code"); + String returnMsg = result.get("return_msg"); + if (!WxPayKit.codeIsOk(returnCode)) { + return returnMsg; + } + String resultCode = result.get("result_code"); + if (!WxPayKit.codeIsOk(resultCode)) { + return returnMsg; + } + // 以下字段在 return_code 和 result_code 都为 SUCCESS 的时候有返回 + String prepayId = result.get("prepay_id"); + Map packageParams = WxPayKit.miniAppPrepayIdCreateSign(wxPayBean.getAppId(), prepayId, + wxPayBean.getPartnerKey(), SignType.HMACSHA256); + String jsonStr = JSON.toJSONString(packageParams); + log.info("小程序支付的参数:" + jsonStr); + orderService.save(lfOrder); + return jsonStr; + } + + /** + * 异步通知 + */ + @Override + public String payNotify(HttpServletRequest request) { + String xmlMsg = HttpKit.readData(request); + log.info("支付通知=" + xmlMsg); + Map params = WxPayKit.xmlToMap(xmlMsg); + + String returnCode = params.get("return_code"); + + // 更新订单信息 + LambdaQueryWrapper lfOrderLambdaQueryWrapper = new LambdaQueryWrapper<>(); + lfOrderLambdaQueryWrapper.eq(LfOrder::getOrderNo, params.get("out_trade_no"));//订单id + LfOrder lfOrder = new LfOrder(); + lfOrder.setStatus(2); + orderService.update(lfOrder, lfOrderLambdaQueryWrapper); + // 注意重复通知的情况,同一订单号可能收到多次通知,请注意一定先判断订单状态 + // 注意此处签名方式需与统一下单的签名类型一致 + if (WxPayKit.verifyNotify(params, wxPayBean.getPartnerKey(), SignType.HMACSHA256)) { + if (WxPayKit.codeIsOk(returnCode)) { + // 发送通知等 + Map xml = new HashMap(2); + xml.put("return_code", "SUCCESS"); + xml.put("return_msg", "OK"); + return WxPayKit.toXml(xml); + } + } + return null; + } + + /** + * 微信退款 + */ + @Override + public String refund(@RequestParam(value = "transactionId", required = false) String transactionId, + @RequestParam(value = "outTradeNo", required = false) String outTradeNo) { + try { + log.info("transactionId: {} outTradeNo:{}", transactionId, outTradeNo); + if (StrUtil.isBlank(outTradeNo) && StrUtil.isBlank(transactionId)) { + return "transactionId、out_trade_no二选一"; + } + WxPayApiConfig wxPayApiConfig = WxPayApiConfigKit.getWxPayApiConfig(); + LfOrder lfOrder = new LfOrder(); + lfOrder.setOrderNo(outTradeNo); + QueryWrapper queryWrapper = orderService.getQueryChainWrapper(lfOrder); + orderService.getOne(queryWrapper); + Map params = RefundModel.builder() + .appid(wxPayApiConfig.getAppId()) + .mch_id(wxPayApiConfig.getMchId()) + .nonce_str(WxPayKit.generateStr()) + .transaction_id(transactionId) + .out_trade_no(outTradeNo) + .out_refund_no(WxPayKit.generateStr()) + .total_fee(String.valueOf(orderService.getOne(queryWrapper).getTotalPrice().movePointRight(2))) + .refund_fee(String.valueOf(orderService.getOne(queryWrapper).getTotalPrice().movePointRight(2))) + .notify_url(refundNotifyUrl) + .build() + .createSign(wxPayApiConfig.getPartnerKey(), SignType.MD5); + LambdaQueryWrapper lfOrderLambdaQueryWrapper = new LambdaQueryWrapper<>(); + lfOrderLambdaQueryWrapper.eq(LfOrder::getOrderNo, params.get("out_trade_no")); + lfOrder = new LfOrder(); + lfOrder.setStatus(3); + orderService.update(lfOrder, lfOrderLambdaQueryWrapper); + String refundStr = WxPayApi.orderRefund(false, params, wxPayApiConfig.getCertPath(), wxPayApiConfig.getMchId()); + log.info("refundStr: {}", refundStr); + return refundStr; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 微信退款查询 + */ + @RequestMapping(value = "/refundQuery", method = {RequestMethod.POST, RequestMethod.GET}) + @ResponseBody + public String refundQuery(@RequestParam("transactionId") String transactionId, + @RequestParam("out_trade_no") String outTradeNo, + @RequestParam("out_refund_no") String outRefundNo, + @RequestParam("refund_id") String refundId) { + + WxPayApiConfig wxPayApiConfig = WxPayApiConfigKit.getWxPayApiConfig(); + + Map params = RefundQueryModel.builder() + .appid(wxPayApiConfig.getAppId()) + .mch_id(wxPayApiConfig.getMchId()) + .nonce_str(WxPayKit.generateStr()) + .transaction_id(transactionId) + .out_trade_no(outTradeNo) + .out_refund_no(outRefundNo) + .refund_id(refundId) + .build() + .createSign(wxPayApiConfig.getPartnerKey(), SignType.MD5); + + return WxPayApi.orderRefundQuery(false, params); + } + + /** + * 退款通知 + */ + @RequestMapping(value = "/refundNotify", method = {RequestMethod.POST, RequestMethod.GET}) + @ResponseBody + public String refundNotify(HttpServletRequest request) { + String xmlMsg = HttpKit.readData(request); + log.info("退款通知=" + xmlMsg); + Map params = WxPayKit.xmlToMap(xmlMsg); + + String returnCode = params.get("return_code"); + // 注意重复通知的情况,同一订单号可能收到多次通知,请注意一定先判断订单状态 + if (WxPayKit.codeIsOk(returnCode)) { + String reqInfo = params.get("req_info"); + String decryptData = WxPayKit.decryptData(reqInfo, WxPayApiConfigKit.getWxPayApiConfig().getPartnerKey()); + log.info("退款通知解密后的数据=" + decryptData); + // 更新订单信息 + // 发送通知等 + Map xml = new HashMap(2); + xml.put("return_code", "SUCCESS"); + xml.put("return_msg", "OK"); + return WxPayKit.toXml(xml); + } + return null; + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/service/impl/WxV3PayServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/web/service/impl/WxV3PayServiceImpl.java new file mode 100644 index 0000000..51feef9 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/service/impl/WxV3PayServiceImpl.java @@ -0,0 +1,26 @@ +package com.ruoyi.web.service.impl; + +import com.ruoyi.system.entity.LfOrder; +import com.ruoyi.web.service.IWxPayService; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.RequestBody; + +import javax.servlet.http.HttpServletRequest; + +@Service("WxV3PayServiceImpl") +public class WxV3PayServiceImpl implements IWxPayService { + @Override + public String miniAppPay(@RequestBody LfOrder lfOrder, HttpServletRequest request) { + return null; + } + + @Override + public String payNotify(HttpServletRequest request) { + return null; + } + + @Override + public String refund(String transactionId, String outTradeNo) { + return null; + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/wxpay/WxPayController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/wxpay/WxPayController.java new file mode 100644 index 0000000..e03ec1e --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/wxpay/WxPayController.java @@ -0,0 +1,45 @@ +package com.ruoyi.web.wxpay; + +import com.ruoyi.system.entity.LfOrder; +import com.ruoyi.web.service.IWxPayService; +import com.sky.core.tool.api.R; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; + +@Api(tags = "支付") +@Controller +@RequestMapping("/wxPay") +public class WxPayController { + + @Autowired + @Qualifier("WxV2PayServiceImpl") + private IWxPayService wxPayService; + + @ApiOperation(value = "微信小程序支付", notes = "微信小程序支付") + @RequestMapping(value = "/miniAppPay", method = {RequestMethod.POST, RequestMethod.GET}) + @ResponseBody + public R miniAppPay(@RequestBody LfOrder lfOrder, HttpServletRequest request) { + return R.data(wxPayService.miniAppPay(lfOrder, request)); + } + + @ApiOperation(value = "微信小程序支付异步通知回调", notes = "微信小程序支付异步通知回调") + @RequestMapping(value = "/payNotify", method = {RequestMethod.POST, RequestMethod.GET}) + @ResponseBody + public R payNotify(HttpServletRequest request) { + return R.data(wxPayService.payNotify(request)); + } + + @ApiOperation(value = "微信小程序退款", notes = "微信小程序退款") + @RequestMapping(value = "/refund", method = {RequestMethod.POST, RequestMethod.GET}) + @ResponseBody + public R refund(@RequestParam(value = "transactionId", required = false) String transactionId, + @RequestParam(value = "outTradeNo", required = false) String outTradeNo) { + return R.data(wxPayService.refund(transactionId, outTradeNo)); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/wxpay/WxPayV3Controller.java b/ruoyi-admin/src/main/java/com/ruoyi/web/wxpay/WxPayV3Controller.java new file mode 100644 index 0000000..892fb53 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/wxpay/WxPayV3Controller.java @@ -0,0 +1,820 @@ +package com.ruoyi.web.wxpay; + +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.io.file.FileWriter; +import cn.hutool.core.util.StrUtil; +import cn.hutool.crypto.SecureUtil; +import cn.hutool.http.ContentType; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; +import com.ijpay.core.IJPayHttpResponse; +import com.ijpay.core.enums.RequestMethodEnum; +import com.ijpay.core.kit.AesUtil; +import com.ijpay.core.kit.HttpKit; +import com.ijpay.core.kit.PayKit; +import com.ijpay.core.kit.WxPayKit; +import com.ijpay.core.utils.DateTimeZoneUtil; +import com.ijpay.wxpay.WxPayApi; +import com.ijpay.wxpay.enums.WxDomainEnum; +import com.ijpay.wxpay.enums.v3.Apply4SubApiEnum; +import com.ijpay.wxpay.enums.v3.BasePayApiEnum; +import com.ijpay.wxpay.enums.v3.ComplaintsApiEnum; +import com.ijpay.wxpay.enums.v3.OtherApiEnum; +import com.ijpay.wxpay.enums.v3.PayGiftActivityApiEnum; +import com.ijpay.wxpay.enums.v3.PayScoreApiEnum; +import com.ijpay.wxpay.model.v3.Amount; +import com.ijpay.wxpay.model.v3.Payer; +import com.ijpay.wxpay.model.v3.RefundAmount; +import com.ijpay.wxpay.model.v3.RefundGoodsDetail; +import com.ijpay.wxpay.model.v3.RefundModel; +import com.ijpay.wxpay.model.v3.UnifiedOrderModel; +import com.ruoyi.system.entity.WxPayV3Bean; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; +import java.security.PrivateKey; +import java.security.cert.X509Certificate; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + *

IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。

+ * + *

不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。

+ * + *

IJPay 交流群: 723992875、864988890

+ * + *

Node.js 版: https://gitee.com/javen205/TNWX

+ * + *

微信支付 v3 接口示例

+ * + * @author Javen + */ +@Controller +@RequestMapping("/v3") +public class WxPayV3Controller { + private final Logger log = LoggerFactory.getLogger(this.getClass()); + private final static int OK = 200; + + @Resource + WxPayV3Bean wxPayV3Bean; + + String serialNo; + String platSerialNo; + + + @RequestMapping("") + @ResponseBody + public String index() { + log.info(wxPayV3Bean.toString()); + try { + String classPath = "classpath:/dev/apiclient_key.pem"; + String v3 = "classpath:/dev/wxpay_v3.properties"; + String absolutePath = PayKit.getAbsolutePath(classPath); + log.info("absolutePath:{}", absolutePath); + String certFileContent = PayKit.getCertFileContent(classPath); + log.info("classPath content:{}", certFileContent); + InputStream inputStream = PayKit.getCertFileInputStream(v3); + if (null != inputStream) { + ByteArrayOutputStream result = new ByteArrayOutputStream(); + byte[] buffer = new byte[1024]; + int length; + while ((length = inputStream.read(buffer)) != -1) { + result.write(buffer, 0, length); + } + String str = result.toString(); + log.info("file content:{}", str); + } + } catch (Exception e) { + log.error("文件不存在", e); + } + return ("欢迎使用 IJPay 中的微信支付 Api-v3 -By Javen

交流群:723992875、864988890"); + } + + @RequestMapping("/getSerialNumber") + @ResponseBody + public String serialNumber() { + return getSerialNumber(); + } + + @RequestMapping("/getPlatSerialNumber") + @ResponseBody + public String platSerialNumber() { + return getPlatSerialNumber(); + } + + private String getSerialNumber() { + if (StrUtil.isEmpty(serialNo)) { + // 获取证书序列号 + X509Certificate certificate = PayKit.getCertificate(wxPayV3Bean.getCertPath()); + if (null != certificate) { + serialNo = certificate.getSerialNumber().toString(16).toUpperCase(); + // 提前两天检查证书是否有效 + boolean isValid = PayKit.checkCertificateIsValid(certificate, wxPayV3Bean.getMchId(), -2); + log.info("证书是否可用 {} 证书有效期为 {}", isValid, DateUtil.format(certificate.getNotAfter(), DatePattern.NORM_DATETIME_PATTERN)); + } +// System.out.println("输出证书信息:\n" + certificate.toString()); +// // 输出关键信息,截取部分并进行标记 +// System.out.println("证书序列号:" + certificate.getSerialNumber().toString(16)); +// System.out.println("版本号:" + certificate.getVersion()); +// System.out.println("签发者:" + certificate.getIssuerDN()); +// System.out.println("有效起始日期:" + certificate.getNotBefore()); +// System.out.println("有效终止日期:" + certificate.getNotAfter()); +// System.out.println("主体名:" + certificate.getSubjectDN()); +// System.out.println("签名算法:" + certificate.getSigAlgName()); +// System.out.println("签名:" + certificate.getSignature().toString()); + } + System.out.println("serialNo:" + serialNo); + return serialNo; + } + + private String getPlatSerialNumber() { + if (StrUtil.isEmpty(platSerialNo)) { + // 获取平台证书序列号 + X509Certificate certificate = PayKit.getCertificate(FileUtil.getInputStream(wxPayV3Bean.getPlatformCertPath())); + platSerialNo = certificate.getSerialNumber().toString(16).toUpperCase(); + } + System.out.println("platSerialNo:" + platSerialNo); + return platSerialNo; + } + + private String savePlatformCert(String associatedData, String nonce, String cipherText, String certPath) { + try { + AesUtil aesUtil = new AesUtil(wxPayV3Bean.getApiKey3().getBytes(StandardCharsets.UTF_8)); + // 平台证书密文解密 + // encrypt_certificate 中的 associated_data nonce ciphertext + String publicKey = aesUtil.decryptToString( + associatedData.getBytes(StandardCharsets.UTF_8), + nonce.getBytes(StandardCharsets.UTF_8), + cipherText + ); + // 保存证书 + FileWriter writer = new FileWriter(certPath); + writer.write(publicKey); + // 获取平台证书序列号 + X509Certificate certificate = PayKit.getCertificate(new ByteArrayInputStream(publicKey.getBytes())); + return certificate.getSerialNumber().toString(16).toUpperCase(); + } catch (Exception e) { + e.printStackTrace(); + return e.getMessage(); + } + } + + + @RequestMapping("/platformCert") + @ResponseBody + public String platformCert() { + try { + String associatedData = "certificate"; + String nonce = "80d28946a64a"; + String cipherText = "DwAqW4+4TeUaOEylfKEXhw+XqGh/YTRhUmLw/tBfQ5nM9DZ9d+9aGEghycwV1jwo52vXb/t6ueBvBRHRIW5JgDRcXmTHw9IMTrIK6HxTt2qiaGTWJU9whsF+GGeQdA7gBCHZm3AJUwrzerAGW1mclXBTvXqaCl6haE7AOHJ2g4RtQThi3nxOI63/yc3WaiAlSR22GuCpy6wJBfljBq5Bx2xXDZXlF2TNbDIeodiEnJEG2m9eBWKuvKPyUPyClRXG1fdOkKnCZZ6u+ipb4IJx28n3MmhEtuc2heqqlFUbeONaRpXv6KOZmH/IdEL6nqNDP2D7cXutNVCi0TtSfC7ojnO/+PKRu3MGO2Z9q3zyZXmkWHCSms/C3ACatPUKHIK+92MxjSQDc1E/8faghTc9bDgn8cqWpVKcL3GHK+RfuYKiMcdSkUDJyMJOwEXMYNUdseQMJ3gL4pfxuQu6QrVvJ17q3ZjzkexkPNU4PNSlIBJg+KX61cyBTBumaHy/EbHiP9V2GeM729a0h5UYYJVedSo1guIGjMZ4tA3WgwQrlpp3VAMKEBLRJMcnHd4pH5YQ/4hiUlHGEHttWtnxKFwnJ6jHr3OmFLV1FiUUOZEDAqR0U1KhtGjOffnmB9tymWF8FwRNiH2Tee/cCDBaHhNtfPI5129SrlSR7bZc+h7uzz9z+1OOkNrWHzAoWEe3XVGKAywpn5HGbcL+9nsEVZRJLvV7aOxAZBkxhg8H5Fjt1ioTJL+qXgRzse1BX1iiwfCR0fzEWT9ldDTDW0Y1b3tb419MhdmTQB5FsMXYOzqp5h+Tz1FwEGsa6TJsmdjJQSNz+7qPSg5D6C2gc9/6PkysSu/6XfsWXD7cQkuZ+TJ/Xb6Q1Uu7ZB90SauA8uPQUIchW5zQ6UfK5dwMkOuEcE/141/Aw2rlDqjtsE17u1dQ6TCax/ZQTDQ2MDUaBPEaDIMPcgL7fCeijoRgovkBY92m86leZvQ+HVbxlFx5CoPhz4a81kt9XJuEYOztSIKlm7QNfW0BvSUhLmxDNCjcxqwyydtKbLzA+EBb2gG4ORiH8IOTbV0+G4S6BqetU7RrO+/nKt21nXVqXUmdkhkBakLN8FUcHygyWnVxbA7OI2RGnJJUnxqHd3kTbzD5Wxco4JIQsTOV6KtO5c960oVYUARZIP1SdQhqwELm27AktEN7kzg/ew/blnTys/eauGyw78XCROb9F1wbZBToUZ7L+8/m/2tyyyqNid+sC9fYqJoIOGfFOe6COWzTI/XPytCHwgHeUxmgk7NYfU0ukR223RPUOym6kLzSMMBKCivnNg68tbLRJHEOpQTXFBaFFHt2qpceJpJgw5sKFqx3eQnIFuyvA1i8s2zKLhULZio9hpsDJQREOcNeHVjEZazdCGnbe3Vjg7uqOoVHdE/YbNzJNQEsB3/erYJB+eGzyFwFmdAHenG5RE6FhCutjszwRiSvW9F7wvRK36gm7NnVJZkvlbGwh0UHr0pbcrOmxT81xtNSvMzT0VZNLTUX2ur3AGLwi2ej8BIC0H41nw4ToxTnwtFR1Xy55+pUiwpB7JzraA08dCXdFdtZ72Tw/dNBy5h1P7EtQYiKzXp6rndfOEWgNOsan7e1XRpCnX7xoAkdPvy40OuQ5gNbDKry5gVDEZhmEk/WRuGGaX06CG9m7NfErUsnQYrDJVjXWKYuARd9R7W0aa5nUXqz/Pjul/LAatJgWhZgFBGXhNr9iAoade/0FPpBj0QWa8SWqKYKiOqXqhfhppUq35FIa0a1Vvxcn3E38XYpVZVTDEXcEcD0RLCu/ezdOa6vRcB7hjgXFIRZQAka0aXnQxwOZwE2Rt3yWXqc+Q1ah2oOrg8Lg3ETc644X9QP4FxOtDwz/A=="; + return savePlatformCert(associatedData, nonce, cipherText, wxPayV3Bean.getPlatformCertPath()); + } catch (Exception e) { + e.printStackTrace(); + return e.getMessage(); + } + } + + @RequestMapping("/get") + @ResponseBody + public String v3Get() { + // 获取平台证书列表 + try { + IJPayHttpResponse response = WxPayApi.v3( + RequestMethodEnum.GET, + WxDomainEnum.CHINA.toString(), + OtherApiEnum.GET_CERTIFICATES.toString(), + wxPayV3Bean.getMchId(), + getSerialNumber(), + null, + wxPayV3Bean.getKeyPath(), + "" + ); + + String timestamp = response.getHeader("Wechatpay-Timestamp"); + String nonceStr = response.getHeader("Wechatpay-Nonce"); + String serialNumber = response.getHeader("Wechatpay-Serial"); + String signature = response.getHeader("Wechatpay-Signature"); + + String body = response.getBody(); + int status = response.getStatus(); + + log.info("serialNumber: {}", serialNumber); + log.info("status: {}", status); + log.info("body: {}", body); + int isOk = 200; + if (status == isOk) { + JSONObject jsonObject = JSONUtil.parseObj(body); + JSONArray dataArray = jsonObject.getJSONArray("data"); + // 默认认为只有一个平台证书 + JSONObject encryptObject = dataArray.getJSONObject(0); + JSONObject encryptCertificate = encryptObject.getJSONObject("encrypt_certificate"); + String associatedData = encryptCertificate.getStr("associated_data"); + String cipherText = encryptCertificate.getStr("ciphertext"); + String nonce = encryptCertificate.getStr("nonce"); + String serialNo = encryptObject.getStr("serial_no"); + final String platSerialNo = savePlatformCert(associatedData, nonce, cipherText, wxPayV3Bean.getPlatformCertPath()); + log.info("平台证书序列号: {} serialNo: {}", platSerialNo, serialNo); + } + // 根据证书序列号查询对应的证书来验证签名结果 + boolean verifySignature = WxPayKit.verifySignature(response, wxPayV3Bean.getPlatformCertPath()); + System.out.println("verifySignature:" + verifySignature); + return body; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + @RequestMapping("/nativePay") + @ResponseBody + public String nativePay() { + try { + String timeExpire = DateTimeZoneUtil.dateToTimeZone(System.currentTimeMillis() + 1000 * 60 * 3); + UnifiedOrderModel unifiedOrderModel = new UnifiedOrderModel() + .setAppid(wxPayV3Bean.getAppId()) + .setMchid(wxPayV3Bean.getMchId()) + .setDescription("IJPay 让支付触手可及") + .setOut_trade_no(PayKit.generateStr()) + .setTime_expire(timeExpire) + .setAttach("微信系开发脚手架 https://gitee.com/javen205/TNWX") + .setNotify_url(wxPayV3Bean.getDomain().concat("/v3/payNotify")) + .setAmount(new Amount().setTotal(1)); + + log.info("统一下单参数 {}", JSONUtil.toJsonStr(unifiedOrderModel)); + IJPayHttpResponse response = WxPayApi.v3( + RequestMethodEnum.POST, + WxDomainEnum.CHINA.toString(), + BasePayApiEnum.NATIVE_PAY.toString(), + wxPayV3Bean.getMchId(), + getSerialNumber(), + null, + wxPayV3Bean.getKeyPath(), + JSONUtil.toJsonStr(unifiedOrderModel) + ); + log.info("统一下单响应 {}", response); + // 根据证书序列号查询对应的证书来验证签名结果 + boolean verifySignature = WxPayKit.verifySignature(response, wxPayV3Bean.getPlatformCertPath()); + log.info("verifySignature: {}", verifySignature); + return response.getBody(); + } catch (Exception e) { + e.printStackTrace(); + return e.getMessage(); + } + } + + @RequestMapping("/appPay") + @ResponseBody + public String appPay() { + try { + String timeExpire = DateTimeZoneUtil.dateToTimeZone(System.currentTimeMillis() + 1000 * 60 * 3); + UnifiedOrderModel unifiedOrderModel = new UnifiedOrderModel() + .setAppid(wxPayV3Bean.getAppId()) + .setMchid(wxPayV3Bean.getMchId()) + .setDescription("IJPay 让支付触手可及") + .setOut_trade_no(PayKit.generateStr()) + .setTime_expire(timeExpire) + .setAttach("微信系开发脚手架 https://gitee.com/javen205/TNWX") + .setNotify_url(wxPayV3Bean.getDomain().concat("/v3/payNotify")) + .setAmount(new Amount().setTotal(1)); + + log.info("统一下单参数 {}", JSONUtil.toJsonStr(unifiedOrderModel)); + IJPayHttpResponse response = WxPayApi.v3( + RequestMethodEnum.POST, + WxDomainEnum.CHINA.toString(), + BasePayApiEnum.APP_PAY.toString(), + wxPayV3Bean.getMchId(), + getSerialNumber(), + null, + wxPayV3Bean.getKeyPath(), + JSONUtil.toJsonStr(unifiedOrderModel) + ); + log.info("统一下单响应 {}", response); + // 根据证书序列号查询对应的证书来验证签名结果 + boolean verifySignature = WxPayKit.verifySignature(response, wxPayV3Bean.getPlatformCertPath()); + log.info("verifySignature: {}", verifySignature); + if (response.getStatus() == OK && verifySignature) { + String body = response.getBody(); + JSONObject jsonObject = JSONUtil.parseObj(body); + String prepayId = jsonObject.getStr("prepay_id"); + Map map = WxPayKit.appCreateSign(wxPayV3Bean.getAppId(), wxPayV3Bean.getMchId(), prepayId, wxPayV3Bean.getKeyPath()); + log.info("唤起支付参数:{}", map); + return JSONUtil.toJsonStr(map); + } + return JSONUtil.toJsonStr(response); + } catch (Exception e) { + e.printStackTrace(); + return e.getMessage(); + } + } + + + @RequestMapping("/query") + @ResponseBody + public String query(@RequestParam String outTradeNo) { + try { + Map params = new HashMap<>(16); + params.put("mchid", wxPayV3Bean.getMchId()); + + log.info("统一下单参数 {}", JSONUtil.toJsonStr(params)); + IJPayHttpResponse response = WxPayApi.v3( + RequestMethodEnum.GET, + WxDomainEnum.CHINA.toString(), + String.format(BasePayApiEnum.ORDER_QUERY_BY_OUT_TRADE_NO.toString(), outTradeNo), + wxPayV3Bean.getMchId(), + getSerialNumber(), + null, + wxPayV3Bean.getKeyPath(), + params + ); + log.info("查询响应 {}", response); + if (response.getStatus() == OK) { + // 根据证书序列号查询对应的证书来验证签名结果 + boolean verifySignature = WxPayKit.verifySignature(response, wxPayV3Bean.getPlatformCertPath()); + log.info("verifySignature: {}", verifySignature); + return response.getBody(); + } + return JSONUtil.toJsonStr(response); + } catch (Exception e) { + e.printStackTrace(); + return e.getMessage(); + } + } + + + @RequestMapping("/jsApiPay") + @ResponseBody + public String jsApiPay(@RequestParam(value = "openId", required = false, defaultValue = "o-_-itxuXeGW3O1cxJ7FXNmq8Wf8") String openId) { + try { + String timeExpire = DateTimeZoneUtil.dateToTimeZone(System.currentTimeMillis() + 1000 * 60 * 3); + UnifiedOrderModel unifiedOrderModel = new UnifiedOrderModel() + .setAppid(wxPayV3Bean.getAppId()) + .setMchid(wxPayV3Bean.getMchId()) + .setDescription("IJPay 让支付触手可及") + .setOut_trade_no(PayKit.generateStr()) + .setTime_expire(timeExpire) + .setAttach("微信系开发脚手架 https://gitee.com/javen205/TNWX") + .setNotify_url(wxPayV3Bean.getDomain().concat("/v3/payNotify")) + .setAmount(new Amount().setTotal(1)) + .setPayer(new Payer().setOpenid(openId)); + + log.info("统一下单参数 {}", JSONUtil.toJsonStr(unifiedOrderModel)); + IJPayHttpResponse response = WxPayApi.v3( + RequestMethodEnum.POST, + WxDomainEnum.CHINA.toString(), + BasePayApiEnum.JS_API_PAY.toString(), + wxPayV3Bean.getMchId(), + getSerialNumber(), + null, + wxPayV3Bean.getKeyPath(), + JSONUtil.toJsonStr(unifiedOrderModel) + ); + log.info("统一下单响应 {}", response); + // 根据证书序列号查询对应的证书来验证签名结果 + boolean verifySignature = WxPayKit.verifySignature(response, wxPayV3Bean.getPlatformCertPath()); + log.info("verifySignature: {}", verifySignature); + if (response.getStatus() == OK && verifySignature) { + String body = response.getBody(); + JSONObject jsonObject = JSONUtil.parseObj(body); + String prepayId = jsonObject.getStr("prepay_id"); + Map map = WxPayKit.jsApiCreateSign(wxPayV3Bean.getAppId(), prepayId, wxPayV3Bean.getKeyPath()); + log.info("唤起支付参数:{}", map); + return JSONUtil.toJsonStr(map); + } + return JSONUtil.toJsonStr(response); + } catch (Exception e) { + e.printStackTrace(); + return e.getMessage(); + } + } + + @RequestMapping("/put") + @ResponseBody + public String put() { + try { + Map params = new HashMap<>(); + params.put("url", "https://gitee.com/javen205/IJPay"); + + IJPayHttpResponse response = WxPayApi.v3( + RequestMethodEnum.PUT, + WxDomainEnum.CHINA.toString(), + ComplaintsApiEnum.COMPLAINTS_NOTIFICATION.toString(), + wxPayV3Bean.getMchId(), + getSerialNumber(), + null, + wxPayV3Bean.getKeyPath(), + JSONUtil.toJsonStr(params) + ); + // 根据证书序列号查询对应的证书来验证签名结果 + boolean verifySignature = WxPayKit.verifySignature(response, wxPayV3Bean.getPlatformCertPath()); + log.info("verifySignature: {}", verifySignature); + log.info("响应 {}", response); + return response.getBody(); + } catch (Exception e) { + e.printStackTrace(); + return e.getMessage(); + } + } + + + @RequestMapping("/getParams") + @ResponseBody + public String payScoreServiceOrder() { + try { + Map params = new HashMap<>(); + params.put("service_id", "500001"); + params.put("appid", "wxd678efh567hg6787"); + params.put("out_order_no", "1234323JKHDFE1243252"); + + IJPayHttpResponse result = WxPayApi.v3( + RequestMethodEnum.GET, + WxDomainEnum.CHINA.toString(), + PayScoreApiEnum.PAY_SCORE_SERVICE_ORDER.toString(), + wxPayV3Bean.getMchId(), + getSerialNumber(), + null, + wxPayV3Bean.getKeyPath(), + params + ); + System.out.println(result); + return JSONUtil.toJsonStr(result); + } catch (Exception e) { + e.printStackTrace(); + return e.getMessage(); + } + } + + @RequestMapping("/delete") + @ResponseBody + public String v3Delete() { + // 创建/查询/更新/删除投诉通知回调 + try { + HashMap hashMap = new HashMap<>(12); + hashMap.put("url", "https://qq.com"); + IJPayHttpResponse result = WxPayApi.v3( + RequestMethodEnum.POST, + WxDomainEnum.CHINA.toString(), + ComplaintsApiEnum.COMPLAINTS_NOTIFICATION.toString(), + wxPayV3Bean.getMchId(), + getSerialNumber(), + null, + wxPayV3Bean.getKeyPath(), + JSONUtil.toJsonStr(hashMap) + ); + System.out.println(result); + + result = WxPayApi.v3( + RequestMethodEnum.DELETE, + WxDomainEnum.CHINA.toString(), + ComplaintsApiEnum.COMPLAINTS_NOTIFICATION.toString(), + wxPayV3Bean.getMchId(), + getSerialNumber(), + null, + wxPayV3Bean.getKeyPath(), + "" + ); + // 根据证书序列号查询对应的证书来验证签名结果 + boolean verifySignature = WxPayKit.verifySignature(result, wxPayV3Bean.getPlatformCertPath()); + System.out.println("verifySignature:" + verifySignature); + // 如果返回的为 204 表示删除成功 + System.out.println(result); + return JSONUtil.toJsonStr(result); + } catch (Exception e) { + e.printStackTrace(); + return e.getMessage(); + } + } + + @RequestMapping("/upload") + @ResponseBody + public String v3Upload() { + // v3 接口上传文件 + try { + String filePath = "/Users/Javen/Documents/pic/cat.png"; + + File file = FileUtil.newFile(filePath); + String sha256 = SecureUtil.sha256(file); + + HashMap map = new HashMap<>(); + map.put("filename", file.getName()); + map.put("sha256", sha256); + String body = JSONUtil.toJsonStr(map); + + System.out.println(body); + + IJPayHttpResponse result = WxPayApi.v3( + WxDomainEnum.CHINA.toString(), + OtherApiEnum.MERCHANT_UPLOAD_MEDIA.toString(), + wxPayV3Bean.getMchId(), + getSerialNumber(), + null, + wxPayV3Bean.getKeyPath(), + body, + file + ); + // 根据证书序列号查询对应的证书来验证签名结果 + boolean verifySignature = WxPayKit.verifySignature(result, wxPayV3Bean.getPlatformCertPath()); + System.out.println("verifySignature:" + verifySignature); + System.out.println(result); + return JSONUtil.toJsonStr(result); + } catch (Exception e) { + e.printStackTrace(); + return e.getMessage(); + } + } + + @RequestMapping("/post") + @ResponseBody + public String payGiftActivity() { + // 支付有礼-终止活动 + try { + String urlSuffix = String.format(PayGiftActivityApiEnum.PAY_GIFT_ACTIVITY_TERMINATE.toString(), "10028001"); + System.out.println(urlSuffix); + IJPayHttpResponse result = WxPayApi.v3( + RequestMethodEnum.POST, + WxDomainEnum.CHINA.toString(), + urlSuffix, + wxPayV3Bean.getMchId(), + getSerialNumber(), + null, + wxPayV3Bean.getKeyPath(), + "" + ); + System.out.println(result); + return JSONUtil.toJsonStr(result); + } catch (Exception e) { + e.printStackTrace(); + return e.getMessage(); + } + } + + @RequestMapping("/sensitive") + @ResponseBody + public String sensitive() { + // 带有敏感信息接口 + try { + String body = "处理请求参数"; + + IJPayHttpResponse result = WxPayApi.v3( + RequestMethodEnum.POST, + WxDomainEnum.CHINA.toString(), + Apply4SubApiEnum.APPLY_4_SUB.toString(), + wxPayV3Bean.getMchId(), + getSerialNumber(), + getPlatSerialNumber(), + wxPayV3Bean.getKeyPath(), + body + ); + System.out.println(result); + return JSONUtil.toJsonStr(result); + } catch (Exception e) { + e.printStackTrace(); + return e.getMessage(); + } + } + + @RequestMapping("/cipher") + @ResponseBody + public String cipher() { + try { + // 敏感信息加密 + X509Certificate certificate = PayKit.getCertificate(FileUtil.getInputStream(wxPayV3Bean.getPlatformCertPath())); + String encrypt = PayKit.rsaEncryptOAEP("IJPay", certificate); + System.out.println(encrypt); + // 敏感信息解密 + String encryptStr = ""; + PrivateKey privateKey = PayKit.getPrivateKey(wxPayV3Bean.getKeyPath()); + String decrypt = PayKit.rsaDecryptOAEP(encryptStr, privateKey); + System.out.println(decrypt); + } catch (Exception e) { + e.printStackTrace(); + return e.getMessage(); + } + return null; + } + + /** + * 申请交易账单 + * + * @param billDate 2020-06-14 当天账单后一天出,不然会出现「账单日期格式不正确」错误 + * @return 交易账单下载地址 + */ + @RequestMapping("/tradeBill") + @ResponseBody + public String tradeBill(@RequestParam(value = "billDate", required = false) String billDate) { + try { + if (StrUtil.isEmpty(billDate)) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + calendar.add(Calendar.DATE, -1); + billDate = DateUtil.format(calendar.getTime(), "YYYY-MM-dd"); + } + Map params = new HashMap<>(12); + params.put("bill_date", billDate); + params.put("bill_type", "ALL"); + params.put("tar_type", "GZIP"); + + IJPayHttpResponse result = WxPayApi.v3( + RequestMethodEnum.GET, + WxDomainEnum.CHINA.toString(), + BasePayApiEnum.TRADE_BILL.toString(), + wxPayV3Bean.getMchId(), + getSerialNumber(), + null, + wxPayV3Bean.getKeyPath(), + params + ); + // 根据证书序列号查询对应的证书来验证签名结果 + boolean verifySignature = WxPayKit.verifySignature(result, wxPayV3Bean.getPlatformCertPath()); + log.info("verifySignature: {}", verifySignature); + log.info("result:{}", result); + return JSONUtil.toJsonStr(result); + } catch (Exception e) { + e.printStackTrace(); + return e.getMessage(); + } + } + + /** + * 申请资金账单 + * + * @param billDate 2020-06-14 当天账单后一天出,不然会出现「账单日期格式不正确」错误 + * @return 资金账单下载地址 + */ + @RequestMapping("/fundFlowBill") + @ResponseBody + public String fundFlowBill(@RequestParam(value = "billDate", required = false) String billDate) { + try { + if (StrUtil.isEmpty(billDate)) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + calendar.add(Calendar.DATE, -1); + billDate = DateUtil.format(calendar.getTime(), "YYYY-MM-dd"); + } + Map params = new HashMap<>(12); + params.put("bill_date", billDate); + params.put("account_type", "BASIC"); + + IJPayHttpResponse result = WxPayApi.v3( + RequestMethodEnum.GET, + WxDomainEnum.CHINA.toString(), + BasePayApiEnum.FUND_FLOW_BILL.toString(), + wxPayV3Bean.getMchId(), + getSerialNumber(), + null, + wxPayV3Bean.getKeyPath(), + params + ); + // 根据证书序列号查询对应的证书来验证签名结果 + boolean verifySignature = WxPayKit.verifySignature(result, wxPayV3Bean.getPlatformCertPath()); + log.info("verifySignature: {}", verifySignature); + log.info("result:{}", result); + return JSONUtil.toJsonStr(result); + } catch (Exception e) { + e.printStackTrace(); + return e.getMessage(); + } + } + + @RequestMapping("/billDownload") + @ResponseBody + public String billDownload(@RequestParam(value = "token") String token, + @RequestParam(value = "tarType", required = false) String tarType) { + try { + + Map params = new HashMap<>(12); + params.put("token", token); + if (StrUtil.isNotEmpty(tarType)) { + params.put("tartype", tarType); + } + + IJPayHttpResponse result = WxPayApi.v3( + RequestMethodEnum.GET, + WxDomainEnum.CHINA.toString(), + BasePayApiEnum.BILL_DOWNLOAD.toString(), + wxPayV3Bean.getMchId(), + getSerialNumber(), + null, + wxPayV3Bean.getKeyPath(), + params + ); + log.info("result:{}", result); + return JSONUtil.toJsonStr(result); + } catch (Exception e) { + e.printStackTrace(); + return e.getMessage(); + } + } + + @RequestMapping("/refund") + @ResponseBody + public String refund(@RequestParam(required = false) String transactionId, + @RequestParam(required = false) String outTradeNo) { + try { + String outRefundNo = PayKit.generateStr(); + log.info("商户退款单号: {}", outRefundNo); + + List list = new ArrayList<>(); + RefundGoodsDetail refundGoodsDetail = new RefundGoodsDetail() + .setMerchant_goods_id("123") + .setGoods_name("IJPay 测试") + .setUnit_price(1) + .setRefund_amount(1) + .setRefund_quantity(1); + list.add(refundGoodsDetail); + + RefundModel refundModel = new RefundModel() + .setOut_refund_no(outRefundNo) + .setReason("IJPay 测试退款") + .setNotify_url(wxPayV3Bean.getDomain().concat("/v3/refundNotify")) + .setAmount(new RefundAmount().setRefund(1).setTotal(1).setCurrency("CNY")) + .setGoods_detail(list); + + if (StrUtil.isNotEmpty(transactionId)) { + refundModel.setTransaction_id(transactionId); + } + if (StrUtil.isNotEmpty(outTradeNo)) { + refundModel.setOut_trade_no(outTradeNo); + } + log.info("退款参数 {}", JSONUtil.toJsonStr(refundModel)); + IJPayHttpResponse response = WxPayApi.v3( + RequestMethodEnum.POST, + WxDomainEnum.CHINA.toString(), + BasePayApiEnum.REFUND.toString(), + wxPayV3Bean.getMchId(), + getSerialNumber(), + null, + wxPayV3Bean.getKeyPath(), + JSONUtil.toJsonStr(refundModel) + ); + // 根据证书序列号查询对应的证书来验证签名结果 + boolean verifySignature = WxPayKit.verifySignature(response, wxPayV3Bean.getPlatformCertPath()); + log.info("verifySignature: {}", verifySignature); + log.info("退款响应 {}", response); + + if (verifySignature) { + return response.getBody(); + } + } catch (Exception e) { + e.printStackTrace(); + return e.getMessage(); + } + return null; + } + + @RequestMapping(value = "/payNotify", method = {org.springframework.web.bind.annotation.RequestMethod.POST, org.springframework.web.bind.annotation.RequestMethod.GET}) + @ResponseBody + public void payNotify(HttpServletRequest request, HttpServletResponse response) { + Map map = new HashMap<>(12); + try { + String timestamp = request.getHeader("Wechatpay-Timestamp"); + String nonce = request.getHeader("Wechatpay-Nonce"); + String serialNo = request.getHeader("Wechatpay-Serial"); + String signature = request.getHeader("Wechatpay-Signature"); + + log.info("timestamp:{} nonce:{} serialNo:{} signature:{}", timestamp, nonce, serialNo, signature); + String result = HttpKit.readData(request); + log.info("支付通知密文 {}", result); + + // 需要通过证书序列号查找对应的证书,verifyNotify 中有验证证书的序列号 + String plainText = WxPayKit.verifyNotify(serialNo, result, signature, nonce, timestamp, + wxPayV3Bean.getApiKey3(), wxPayV3Bean.getPlatformCertPath()); + + log.info("支付通知明文 {}", plainText); + + if (StrUtil.isNotEmpty(plainText)) { + response.setStatus(200); + map.put("code", "SUCCESS"); + map.put("message", "SUCCESS"); + } else { + response.setStatus(500); + map.put("code", "ERROR"); + map.put("message", "签名错误"); + } + response.setHeader("Content-type", ContentType.JSON.toString()); + response.getOutputStream().write(JSONUtil.toJsonStr(map).getBytes(StandardCharsets.UTF_8)); + response.flushBuffer(); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java index 4ba168a..c079e4c 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java @@ -115,6 +115,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter .antMatchers("/*/api-docs").anonymous() .antMatchers("/druid/**").anonymous() .antMatchers("/big_screen/**").anonymous() + .antMatchers("/miniapp/**").anonymous() + .antMatchers("/wxPay/**").anonymous() // 除上面外的所有请求全部需要鉴权认证 .anyRequest().authenticated() .and() diff --git a/ruoyi-system/pom.xml b/ruoyi-system/pom.xml index c06e3b6..b049095 100644 --- a/ruoyi-system/pom.xml +++ b/ruoyi-system/pom.xml @@ -34,7 +34,12 @@ core-mybatis-plus ${sky.project.version} - + + + com.github.javen205 + IJPay-WxPay + 2.9.6 + diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/ArticleVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/ArticleVO.java new file mode 100644 index 0000000..ad753da --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/ArticleVO.java @@ -0,0 +1,21 @@ +package com.ruoyi.system.controller.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ArticleVO { + + @ApiModelProperty(value = "主键") + private long id; + + @ApiModelProperty(value = "文章类型(1:乐活村庄, 2:最美庭院)") + private int type; + + @ApiModelProperty(value = "标题") + private String title; + + @ApiModelProperty(value = "富文本内容") + private String text; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/AwardsVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/AwardsVO.java index ae41052..26f90f7 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/AwardsVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/AwardsVO.java @@ -3,14 +3,16 @@ package com.ruoyi.system.controller.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import java.time.LocalDate; -import java.util.List; +import java.util.Date; @Data public class AwardsVO { + @ApiModelProperty(value = "主键") + private long id; + @ApiModelProperty(value = "评选时间") - private LocalDate date; + private Date date; @ApiModelProperty(value = "获奖等级") private String level; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/BrandVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/BrandVO.java new file mode 100644 index 0000000..fd83841 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/BrandVO.java @@ -0,0 +1,26 @@ +package com.ruoyi.system.controller.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class BrandVO { + + @ApiModelProperty(value = "主键") + private long id; + + @ApiModelProperty(value = "户主") + private String master; + + @ApiModelProperty(value = "电话") + private String phoneNumber; + + @ApiModelProperty(value = "地址") + private String address; + + @ApiModelProperty(value = "荣誉列表") + private List honorVOList; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/CommodityVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/CommodityVO.java new file mode 100644 index 0000000..83015d9 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/CommodityVO.java @@ -0,0 +1,44 @@ +package com.ruoyi.system.controller.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class CommodityVO { + + @ApiModelProperty(value = "主键") + private long id; + + @ApiModelProperty(value = "商品名") + public String name; + + @ApiModelProperty(value = "默认价格") + public BigDecimal price; + + @ApiModelProperty(value = "默认折扣") + public BigDecimal discount; + + @ApiModelProperty(value = "使用人数") + public int user_num; + + @ApiModelProperty(value = "图片url") + public String img_url; + + @ApiModelProperty(value = "详情介绍") + public String brief_introduction; + + @ApiModelProperty(value = "购买须知") + public String purchase_notes; + + @ApiModelProperty(value = "图文详情") + public String details; + + @ApiModelProperty(value = "价格标记(false:默认价格, true:另设价格)") + public boolean price_flag; + + @ApiModelProperty(value = "下架标记(false:上架, true:下架)") + public boolean state; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/CpcmVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/CpcmVO.java index bdbf0f9..3c233af 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/CpcmVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/CpcmVO.java @@ -8,6 +8,9 @@ import java.util.List; @Data public class CpcmVO { + @ApiModelProperty(value = "主键") + private long id; + @ApiModelProperty(value = "姓名") private String name; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/CropVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/CropVO.java index 0e58275..d71edeb 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/CropVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/CropVO.java @@ -3,16 +3,19 @@ package com.ruoyi.system.controller.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import java.time.LocalDate; +import java.util.Date; @Data public class CropVO { + @ApiModelProperty(value = "主键") + private long id; + @ApiModelProperty(value = "作物名称") private String name; @ApiModelProperty(value = "种植日期") - private LocalDate plantDate; + private Date plantDate; @ApiModelProperty(value = "生长周期") private int growthDays; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/EventsVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/EventsVO.java index 0be79b3..59784f2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/EventsVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/EventsVO.java @@ -3,16 +3,19 @@ package com.ruoyi.system.controller.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import java.time.LocalDate; +import java.util.Date; @Data public class EventsVO { + @ApiModelProperty(value = "主键") + private long id; + @ApiModelProperty(value = "活动主题") private String theme; @ApiModelProperty(value = "举办时间") - private LocalDate date; + private Date date; @ApiModelProperty(value = "图片url") private String imgUrl; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/GardenVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/GardenVO.java index 8ff3ec7..de51d6a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/GardenVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/GardenVO.java @@ -8,6 +8,9 @@ import java.util.List; @Data public class GardenVO { + @ApiModelProperty(value = "主键") + private long id; + @ApiModelProperty(value = "温度") private float temperature; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/HistoryVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/HistoryVO.java index 452dcf5..2be49b0 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/HistoryVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/HistoryVO.java @@ -1,19 +1,24 @@ package com.ruoyi.system.controller.vo; +import com.ruoyi.system.entity.MonthRevenue; +import com.ruoyi.system.entity.MonthTickets; +import com.ruoyi.system.entity.MonthVisitor; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import org.apache.poi.hpsf.Decimal; import java.util.List; @Data public class HistoryVO { + @ApiModelProperty(value = "主键") + private long id; + @ApiModelProperty(value = "在线购票数月统计") - private List monthTickets; + private List monthTickets; @ApiModelProperty(value = "游客数月统计") - private List monthVisitor; + private List monthVisitor; @ApiModelProperty(value = "收入月统计") private List monthRevenue; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/HonorVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/HonorVO.java index 6d20e66..86cfc35 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/HonorVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/HonorVO.java @@ -3,14 +3,20 @@ package com.ruoyi.system.controller.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import java.time.LocalDate; +import java.util.Date; @Data public class HonorVO { + @ApiModelProperty(value = "主键") + private long id; + @ApiModelProperty(value = "荣誉信息") private String info; @ApiModelProperty(value = "获奖时间") - private LocalDate date; + private Date date; + + @ApiModelProperty(value = "图片url") + private String imgUrl; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/MonitorVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/MonitorVO.java index bcfd069..edf50a3 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/MonitorVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/MonitorVO.java @@ -6,6 +6,9 @@ import lombok.Data; @Data public class MonitorVO { + @ApiModelProperty(value = "主键") + private long id; + @ApiModelProperty(value = "视频地址") private String streamUrl; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/OrderDetails.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/OrderDetails.java index 1cac974..80fec23 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/OrderDetails.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/OrderDetails.java @@ -7,6 +7,9 @@ import org.apache.poi.hpsf.Decimal; @Data public class OrderDetails { + @ApiModelProperty(value = "主键") + private long id; + @ApiModelProperty(value = "订单id") private long orderId; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/OrderVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/OrderVO.java index 7b03119..c65fcc4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/OrderVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/OrderVO.java @@ -4,11 +4,14 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.apache.poi.hpsf.Decimal; -import java.time.LocalDate; +import java.util.Date; @Data public class OrderVO { + @ApiModelProperty(value = "主键") + private long id; + @ApiModelProperty(value = "微信订单号") private String orderNo; @@ -21,12 +24,18 @@ public class OrderVO { @ApiModelProperty(value = "商品id") private long commodityId; - @ApiModelProperty(value = "订单日期") - private LocalDate useDate; + @ApiModelProperty(value = "预定日期") + private Date useDate; @ApiModelProperty(value = "订单总价") private Decimal totalPrice; + @ApiModelProperty(value = "订单月份") + private int month; + + @ApiModelProperty(value = "订单总人数") + private int userNum; + @ApiModelProperty(value = "已核销") private boolean isUsed; @@ -48,7 +57,13 @@ public class OrderVO { @ApiModelProperty(value = "二维码") private String qrCode; - @ApiModelProperty(value = "订单月份") - private int month; + @ApiModelProperty(value = "订单状态(1:未支付, 2:已支付, 3:已退款)") + private int status; + + @ApiModelProperty(value = "联系人") + private String contacts; + + @ApiModelProperty(value = "手机号") + private String phonenumber; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/PlaceVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/PlaceVO.java index 166f571..d0267b6 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/PlaceVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/PlaceVO.java @@ -6,7 +6,10 @@ import lombok.Data; @Data public class PlaceVO { - @ApiModelProperty(value = "类型") + @ApiModelProperty(value = "主键") + private long id; + + @ApiModelProperty(value = "类型(1:游乐设施, 2:景点, 3:党员, 4:美丽庭院, 5:经营主体, 6:共享菜园)") private int type; @ApiModelProperty(value = "名称") diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/UserVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/UserVO.java new file mode 100644 index 0000000..36046f0 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/UserVO.java @@ -0,0 +1,33 @@ +package com.ruoyi.system.controller.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class UserVO { + + @ApiModelProperty(value = "主键") + private long id; + + @ApiModelProperty(value = "用户类型(1:管理员, 2:普通)") + private String userType; + + @ApiModelProperty(value = "微信openid") + private String openid; + + @ApiModelProperty(value = "微信昵称") + private String nickName; + + @ApiModelProperty(value = "微信头像") + private String avatar; + + @ApiModelProperty(value = "真实姓名") + private String userName; + + @ApiModelProperty(value = "身份证号") + private String idNumber; + + @ApiModelProperty(value = "电话号码") + private String phonenumber; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/VillageVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/VillageVO.java index e29d05b..ca0ee66 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/VillageVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/VillageVO.java @@ -8,6 +8,9 @@ import java.util.List; @Data public class VillageVO { + @ApiModelProperty(value = "主键") + private long id; + @ApiModelProperty(value = "乡村名") private String name; @@ -38,7 +41,10 @@ public class VillageVO { @ApiModelProperty(value = "视频url") private String videoUrl; - @ApiModelProperty(value = "图片列表") - private List images; + @ApiModelProperty(value = "图片url") + private String imgUrl; + + @ApiModelProperty(value = "卡丁乐园图片url") + private String kartingImgUrl; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/WorkshopVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/WorkshopVO.java index 5cdde4f..cea36d4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/WorkshopVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/WorkshopVO.java @@ -6,6 +6,9 @@ import lombok.Data; @Data public class WorkshopVO { + @ApiModelProperty(value = "主键") + private long id; + @ApiModelProperty(value = "年份") private int year; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/custom/OkHttpKit.java b/ruoyi-system/src/main/java/com/ruoyi/system/custom/OkHttpKit.java new file mode 100644 index 0000000..3259858 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/custom/OkHttpKit.java @@ -0,0 +1,52 @@ +/** + *

IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。

+ * + *

不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。

+ * + *

IJPay 交流群: 723992875、864988890

+ * + *

Node.js 版: https://gitee.com/javen205/TNWX

+ * + *

自定义 Http 客户端

+ * + * @author Javen + */ +package com.ruoyi.system.custom; + +import com.ijpay.core.http.AbstractHttpDelegate; + +import java.io.InputStream; +import java.util.Map; + +public class OkHttpKit extends AbstractHttpDelegate { + @Override + public String get(String url) { + // 替换具体实现 + return super.get(url); + } + + @Override + public String post(String url, String data) { + // 替换具体实现 + return super.post(url, data); + } + + @Override + public String post(String url, String data, String certPath, String certPass) { + // 替换具体实现 + return super.post(url, data, certPath, certPass); + } + + @Override + public String post(String url, Map paramMap) { + // 替换具体实现 + return super.post(url, paramMap); + } + + @Override + public String post(String url, String data, InputStream certFile, String certPass) { + // 替换具体实现 + return super.post(url, data, certFile, certPass); + } + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfArticleDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfArticleDTO.java new file mode 100644 index 0000000..1ed3fb3 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfArticleDTO.java @@ -0,0 +1,19 @@ + +package com.ruoyi.system.dto; + +import com.ruoyi.system.entity.LfArticle; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 数据传输对象实体类 + * + * @author zqj + * @since 2023-04-28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class LfArticleDTO extends LfArticle { + private static final long serialVersionUID = 1L; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfBrandDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfBrandDTO.java new file mode 100644 index 0000000..1025f03 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfBrandDTO.java @@ -0,0 +1,19 @@ + +package com.ruoyi.system.dto; + +import com.ruoyi.system.entity.LfBrand; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 数据传输对象实体类 + * + * @author zqj + * @since 2023-04-28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class LfBrandDTO extends LfBrand { + private static final long serialVersionUID = 1L; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfCommodityDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfCommodityDTO.java new file mode 100644 index 0000000..e4a2ee2 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfCommodityDTO.java @@ -0,0 +1,19 @@ + +package com.ruoyi.system.dto; + +import com.ruoyi.system.entity.LfCommodity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 数据传输对象实体类 + * + * @author zqj + * @since 2023-04-28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class LfCommodityDTO extends LfCommodity { + private static final long serialVersionUID = 1L; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfHonorDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfHonorDTO.java index f137c9a..b008ac1 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfHonorDTO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfHonorDTO.java @@ -9,7 +9,7 @@ import lombok.EqualsAndHashCode; * 数据传输对象实体类 * * @author zqj - * @since 2023-04-23 + * @since 2023-04-28 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfOrderDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfOrderDTO.java index 69df726..a97afe1 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfOrderDTO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfOrderDTO.java @@ -9,7 +9,7 @@ import lombok.EqualsAndHashCode; * 数据传输对象实体类 * * @author zqj - * @since 2023-04-24 + * @since 2023-04-28 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfUserDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfUserDTO.java new file mode 100644 index 0000000..867d0dd --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfUserDTO.java @@ -0,0 +1,19 @@ + +package com.ruoyi.system.dto; + +import com.ruoyi.system.entity.LfUser; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 数据传输对象实体类 + * + * @author zqj + * @since 2023-04-26 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class LfUserDTO extends LfUser { + private static final long serialVersionUID = 1L; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfVillageDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfVillageDTO.java index 87673ce..f00e42e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfVillageDTO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/LfVillageDTO.java @@ -9,7 +9,7 @@ import lombok.EqualsAndHashCode; * 数据传输对象实体类 * * @author zqj - * @since 2023-04-23 + * @since 2023-05-05 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/UserDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/UserDTO.java new file mode 100644 index 0000000..4eb80ab --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/UserDTO.java @@ -0,0 +1,19 @@ + +package com.ruoyi.system.dto; + +import com.ruoyi.system.entity.User; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 数据传输对象实体类 + * + * @author zqj + * @since 2023-04-27 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class UserDTO extends User { + private static final long serialVersionUID = 1L; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/UserRoleDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/UserRoleDTO.java new file mode 100644 index 0000000..4b4bb57 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/UserRoleDTO.java @@ -0,0 +1,19 @@ + +package com.ruoyi.system.dto; + +import com.ruoyi.system.entity.UserRole; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 数据传输对象实体类 + * + * @author zqj + * @since 2023-04-27 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class UserRoleDTO extends UserRole { + private static final long serialVersionUID = 1L; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/H5SceneInfo.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/H5SceneInfo.java new file mode 100644 index 0000000..00deef8 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/H5SceneInfo.java @@ -0,0 +1,82 @@ +package com.ruoyi.system.entity; + +import com.alibaba.fastjson.JSON; + +/** + * @author Javen + */ +public class H5SceneInfo { + private H5 h5_info; + + public H5 getH5Info() { + return h5_info; + } + + public void setH5Info(H5 h5_info) { + this.h5_info = h5_info; + } + + + @Override + public String toString() { + return JSON.toJSONString(this); + } + + + public static class H5 { + private String type; + private String app_name; + private String bundle_id; + private String package_name; + private String wap_url; + private String wap_name; + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getApp_name() { + return app_name; + } + + public void setApp_name(String app_name) { + this.app_name = app_name; + } + + public String getBundle_id() { + return bundle_id; + } + + public void setBundle_id(String bundle_id) { + this.bundle_id = bundle_id; + } + + public String getPackage_name() { + return package_name; + } + + public void setPackage_name(String package_name) { + this.package_name = package_name; + } + + public String getWap_url() { + return wap_url; + } + + public void setWap_url(String wap_url) { + this.wap_url = wap_url; + } + + public String getWap_name() { + return wap_name; + } + + public void setWap_name(String wap_name) { + this.wap_name = wap_name; + } + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfArticle.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfArticle.java new file mode 100644 index 0000000..8665b3a --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfArticle.java @@ -0,0 +1,40 @@ + +package com.ruoyi.system.entity; + +import com.sky.core.mp.base.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * 实体类 + * + * @author zqj + * @since 2023-04-28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "LfArticle对象", description = "LfArticle对象") +public class LfArticle extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * 文章类型(乐活村庄,最美庭院) + */ + @ApiModelProperty(value = "文章类型(乐活村庄,最美庭院)") + private Integer type; + /** + * 标题 + */ + @ApiModelProperty(value = "标题") + private String title; + /** + * 富文本内容 + */ + @ApiModelProperty(value = "富文本内容") + private String text; + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfAwards.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfAwards.java index 63ef818..5dc60ff 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfAwards.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfAwards.java @@ -1,13 +1,14 @@ package com.ruoyi.system.entity; -import java.time.LocalDate; import com.sky.core.mp.base.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import java.util.Date; + /** * 实体类 * @@ -24,23 +25,23 @@ public class LfAwards extends BaseEntity { /** * 评选时间 */ - @ApiModelProperty(value = "评选时间") - private LocalDate date; + @ApiModelProperty(value = "评选时间") + private Date date; /** * 获奖等级 */ - @ApiModelProperty(value = "获奖等级") - private String level; + @ApiModelProperty(value = "获奖等级") + private String level; /** * 获奖农户 */ - @ApiModelProperty(value = "获奖农户") - private String person; + @ApiModelProperty(value = "获奖农户") + private String person; /** * 图片url */ - @ApiModelProperty(value = "图片url") - private String imgUrl; + @ApiModelProperty(value = "图片url") + private String imgUrl; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfBrand.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfBrand.java new file mode 100644 index 0000000..5661928 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfBrand.java @@ -0,0 +1,50 @@ + +package com.ruoyi.system.entity; + +import com.sky.core.mp.base.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * 实体类 + * + * @author zqj + * @since 2023-04-28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "LfBrand对象", description = "LfBrand对象") +public class LfBrand extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * 户主 + */ + @ApiModelProperty(value = "户主") + private String master; + /** + * 电话 + */ + @ApiModelProperty(value = "电话") + private String phoneNumber; + /** + * 地址 + */ + @ApiModelProperty(value = "地址") + private String address; + /** + * 荣誉信息 + */ + @ApiModelProperty(value = "荣誉信息") + private String honorInfo; + /** + * 荣誉照片 + */ + @ApiModelProperty(value = "荣誉照片") + private String honorImg; + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfCommodity.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfCommodity.java new file mode 100644 index 0000000..c6e0b1e --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfCommodity.java @@ -0,0 +1,82 @@ + +package com.ruoyi.system.entity; + +import java.math.BigDecimal; + +import com.sky.core.mp.base.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * 实体类 + * + * @author zqj + * @since 2023-04-28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "LfCommodity对象", description = "LfCommodity对象") +public class LfCommodity extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * 店铺id(lf_store.id) + */ + @ApiModelProperty(value = "店铺id(lf_store.id)") + private Long storeId; + /** + * 商品名 + */ + @ApiModelProperty(value = "商品名") + private String name; + /** + * 默认价格 + */ + @ApiModelProperty(value = "默认价格") + private BigDecimal price; + /** + * 默认折扣 + */ + @ApiModelProperty(value = "默认折扣") + private BigDecimal discount; + /** + * 使用人数 + */ + @ApiModelProperty(value = "使用人数") + private Integer userNum; + /** + * 图片url + */ + @ApiModelProperty(value = "图片url") + private String imgUrl; + /** + * 详情介绍 + */ + @ApiModelProperty(value = "详情介绍") + private String briefIntroduction; + /** + * 购买须知 + */ + @ApiModelProperty(value = "购买须知") + private String purchaseNotes; + /** + * 图文详情 + */ + @ApiModelProperty(value = "图文详情") + private String details; + /** + * 价格标记(false:默认价格, true:另设价格) + */ + @ApiModelProperty(value = "价格标记(false:默认价格, true:另设价格)") + private Boolean priceFlag; + /** + * 下架状态(false:上架, true:下架) + */ + @ApiModelProperty(value = "下架状态(false:上架, true:下架)") + private Boolean state; + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfCpcm.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfCpcm.java index 72c293e..054fb86 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfCpcm.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfCpcm.java @@ -23,33 +23,33 @@ public class LfCpcm extends BaseEntity { /** * 场所id(lf_place.id) */ - @ApiModelProperty(value = "场所id(lf_place.id)") - private Long placeId; + @ApiModelProperty(value = "场所id(lf_place.id)") + private Long placeId; /** * 姓名 */ - @ApiModelProperty(value = "姓名") - private String name; + @ApiModelProperty(value = "姓名") + private String name; /** * 性别 */ - @ApiModelProperty(value = "性别") - private String sex; + @ApiModelProperty(value = "性别") + private String sex; /** * 民族 */ - @ApiModelProperty(value = "民族") - private String nation; + @ApiModelProperty(value = "民族") + private String nation; /** * 年龄 */ - @ApiModelProperty(value = "年龄") - private Integer age; + @ApiModelProperty(value = "年龄") + private Integer age; /** * 住址 */ - @ApiModelProperty(value = "住址") - private String address; + @ApiModelProperty(value = "住址") + private String address; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfCrop.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfCrop.java index cfffb5b..4384d37 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfCrop.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfCrop.java @@ -1,13 +1,14 @@ package com.ruoyi.system.entity; -import java.time.LocalDate; import com.sky.core.mp.base.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import java.util.Date; + /** * 实体类 * @@ -24,23 +25,23 @@ public class LfCrop extends BaseEntity { /** * 菜园id(lf_garden.id) */ - @ApiModelProperty(value = "菜园id(lf_garden.id)") - private Long gardenId; + @ApiModelProperty(value = "菜园id(lf_garden.id)") + private Long gardenId; /** * 作物名称 */ - @ApiModelProperty(value = "作物名称") - private String name; + @ApiModelProperty(value = "作物名称") + private String name; /** * 种植日期 */ - @ApiModelProperty(value = "种植日期") - private LocalDate plantDate; + @ApiModelProperty(value = "种植日期") + private Date plantDate; /** * 生长周期(天) */ - @ApiModelProperty(value = "生长周期(天)") - private Integer growthDays; + @ApiModelProperty(value = "生长周期(天)") + private Integer growthDays; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfEvents.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfEvents.java index f600fad..6f3c845 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfEvents.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfEvents.java @@ -1,13 +1,14 @@ package com.ruoyi.system.entity; -import java.time.LocalDate; import com.sky.core.mp.base.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import java.util.Date; + /** * 实体类 * @@ -24,18 +25,18 @@ public class LfEvents extends BaseEntity { /** * 活动主题 */ - @ApiModelProperty(value = "活动主题") - private String theme; + @ApiModelProperty(value = "活动主题") + private String theme; /** * 举办时间 */ - @ApiModelProperty(value = "举办时间") - private LocalDate date; + @ApiModelProperty(value = "举办时间") + private Date date; /** * 图片url */ - @ApiModelProperty(value = "图片url") - private String imgUrl; + @ApiModelProperty(value = "图片url") + private String imgUrl; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfGarden.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfGarden.java index 565e714..84e3779 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfGarden.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfGarden.java @@ -23,39 +23,39 @@ public class LfGarden extends BaseEntity { /** * 场所id(lf_place.id) */ - @ApiModelProperty(value = "场所id(lf_place.id)") - private Long placeId; + @ApiModelProperty(value = "场所id(lf_place.id)") + private Long placeId; /** * 温度 */ - @ApiModelProperty(value = "温度") - private String temperature; + @ApiModelProperty(value = "温度") + private String temperature; /** * 湿度 */ - @ApiModelProperty(value = "湿度") - private String humidity; + @ApiModelProperty(value = "湿度") + private String humidity; /** * PH值 */ - @ApiModelProperty(value = "PH值") - private String ph; + @ApiModelProperty(value = "PH值") + private String ph; /** * 日照时长 */ - @ApiModelProperty(value = "日照时长") - private String sunshine; + @ApiModelProperty(value = "日照时长") + private String sunshine; /** * 认养班级 */ - @ApiModelProperty(value = "认养班级") - private String className; + @ApiModelProperty(value = "认养班级") + private String className; /** * 负责人 */ - @ApiModelProperty(value = "负责人") - private String -director; + @ApiModelProperty(value = "负责人") + private String + director; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfHonor.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfHonor.java index d1cd314..921e1c4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfHonor.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfHonor.java @@ -2,6 +2,7 @@ package com.ruoyi.system.entity; import java.time.LocalDate; + import com.sky.core.mp.base.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -12,7 +13,7 @@ import io.swagger.annotations.ApiModelProperty; * 实体类 * * @author zqj - * @since 2023-04-23 + * @since 2023-04-28 */ @Data @EqualsAndHashCode(callSuper = true) @@ -24,18 +25,28 @@ public class LfHonor extends BaseEntity { /** * 党员id(lf_cpcm.id) */ - @ApiModelProperty(value = "党员id(lf_cpcm.id)") - private Long cpcmId; + @ApiModelProperty(value = "党员id(lf_cpcm.id)") + private Long cpcmId; /** * 荣誉信息 */ - @ApiModelProperty(value = "荣誉信息") - private String info; + @ApiModelProperty(value = "荣誉信息") + private String info; /** * 获奖时间 */ - @ApiModelProperty(value = "获奖时间") - private LocalDate date; + @ApiModelProperty(value = "获奖时间") + private LocalDate date; + /** + * 门牌id(lf_brand.id) + */ + @ApiModelProperty(value = "门牌id(lf_brand.id)") + private Long brandId; + /** + * 图片url + */ + @ApiModelProperty(value = "图片url") + private String imgUrl; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfImage.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfImage.java index 0d517dd..090668f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfImage.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfImage.java @@ -23,18 +23,18 @@ public class LfImage extends BaseEntity { /** * 表名 */ - @ApiModelProperty(value = "表名") - private String tableName; + @ApiModelProperty(value = "表名") + private String tableName; /** * 对象id */ - @ApiModelProperty(value = "对象id") - private Long objectId; + @ApiModelProperty(value = "对象id") + private Long objectId; /** * 图片url */ - @ApiModelProperty(value = "图片url") - private String imgUrl; + @ApiModelProperty(value = "图片url") + private String imgUrl; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfMonitor.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfMonitor.java index 2880b19..bab429b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfMonitor.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfMonitor.java @@ -23,18 +23,18 @@ public class LfMonitor extends BaseEntity { /** * 视频地址 */ - @ApiModelProperty(value = "视频地址") - private String streamUrl; + @ApiModelProperty(value = "视频地址") + private String streamUrl; /** * 监控名 */ - @ApiModelProperty(value = "监控名") - private String name; + @ApiModelProperty(value = "监控名") + private String name; /** * 订单月份 */ - @ApiModelProperty(value = "订单月份") - private Integer month; + @ApiModelProperty(value = "订单月份") + private Integer month; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfOrder.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfOrder.java index 5677419..01e939e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfOrder.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfOrder.java @@ -2,7 +2,7 @@ package com.ruoyi.system.entity; import java.math.BigDecimal; -import java.time.LocalDate; +import java.util.Date; import com.sky.core.mp.base.BaseEntity; import lombok.Data; @@ -14,7 +14,7 @@ import io.swagger.annotations.ApiModelProperty; * 实体类 * * @author zqj - * @since 2023-04-24 + * @since 2023-04-28 */ @Data @EqualsAndHashCode(callSuper = true) @@ -32,27 +32,37 @@ public class LfOrder extends BaseEntity { * 用户id(lf_user.id) */ @ApiModelProperty(value = "用户id(lf_user.id)") - private Long userId; + private long userId; /** * 商铺id(lf_store.id) */ @ApiModelProperty(value = "商铺id(lf_store.id)") - private Long storeId; + private long storeId; /** * 商品id(lf_commodity.id) */ @ApiModelProperty(value = "商品id(lf_commodity.id)") - private Long commodityId; + private long commodityId; /** - * 订单日期 + * 预定日期 */ - @ApiModelProperty(value = "订单日期") - private LocalDate useDate; + @ApiModelProperty(value = "预定日期") + private Date useDate; /** * 订单总价 */ @ApiModelProperty(value = "订单总价") private BigDecimal totalPrice; + /** + * 订单月份 + */ + @ApiModelProperty(value = "订单月份") + private int month; + /** + * 订单总人数 + */ + @ApiModelProperty(value = "订单总人数") + private int userNum; /** * 已核销 */ @@ -62,17 +72,17 @@ public class LfOrder extends BaseEntity { * 核销者id */ @ApiModelProperty(value = "核销者id") - private Long adminId; + private long adminId; /** * 已退款 */ @ApiModelProperty(value = "已退款") - private Boolean isRefund; + private boolean isRefund; /** * 退款理由 */ @ApiModelProperty(value = "退款理由") - private Long refundId; + private long refundId; /** * 其它退款理由 */ @@ -82,17 +92,27 @@ public class LfOrder extends BaseEntity { * 已取消 */ @ApiModelProperty(value = "已取消") - private Boolean isCancel; + private boolean isCancel; /** * 二维码 */ @ApiModelProperty(value = "二维码") private String qrCode; /** - * 订单月份 + * 订单状态(1:未支付, 2:已支付, 3:正在退款, 4:已退款) */ - @ApiModelProperty(value = "订单月份") - private Integer month; + @ApiModelProperty(value = "订单状态(1:未支付, 2:已支付, 3:正在退款, 4:已退款)") + private int status; + /** + * 联系人 + */ + @ApiModelProperty(value = "联系人") + private String contacts; + /** + * 手机号 + */ + @ApiModelProperty(value = "手机号") + private String phonenumber; /** * 月销售额 @@ -100,4 +120,10 @@ public class LfOrder extends BaseEntity { @ApiModelProperty(value = "月销售额") private BigDecimal sumMonth; + /** + * 月游客数 + */ + @ApiModelProperty(value = "月游客数") + private long visitorNum; + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfPlace.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfPlace.java index facb4b6..88b0ad2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfPlace.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfPlace.java @@ -23,38 +23,38 @@ public class LfPlace extends BaseEntity { /** * 1:游乐设施, 2:景点, 3:党员, 4:美丽庭院, 5:经营主体, 6:共享菜园 */ - @ApiModelProperty(value = "1:游乐设施, 2:景点, 3:党员, 4:美丽庭院, 5:经营主体, 6:共享菜园") - private Integer type; + @ApiModelProperty(value = "1:游乐设施, 2:景点, 3:党员, 4:美丽庭院, 5:经营主体, 6:共享菜园") + private Integer type; /** * 名称 */ - @ApiModelProperty(value = "名称") - private String name; + @ApiModelProperty(value = "名称") + private String name; /** * 地址 */ - @ApiModelProperty(value = "地址") - private String address; + @ApiModelProperty(value = "地址") + private String address; /** * 经度 */ - @ApiModelProperty(value = "经度") - private String longitude; + @ApiModelProperty(value = "经度") + private String longitude; /** * 纬度 */ - @ApiModelProperty(value = "纬度") - private String latitude; + @ApiModelProperty(value = "纬度") + private String latitude; /** * 详情信息 */ - @ApiModelProperty(value = "详情信息") - private String info; + @ApiModelProperty(value = "详情信息") + private String info; /** * 图片url */ - @ApiModelProperty(value = "图片url") - private String imgUrl; + @ApiModelProperty(value = "图片url") + private String imgUrl; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfUser.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfUser.java new file mode 100644 index 0000000..468748e --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfUser.java @@ -0,0 +1,60 @@ + +package com.ruoyi.system.entity; + +import com.sky.core.mp.base.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * 实体类 + * + * @author zqj + * @since 2023-04-26 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "LfUser对象", description = "LfUser对象") +public class LfUser extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * 用户类型(1:管理员, 2:普通) + */ + @ApiModelProperty(value = "用户类型(1:管理员, 2:普通)") + private Integer type; + /** + * 微信openid + */ + @ApiModelProperty(value = "微信openid") + private String openid; + /** + * 微信昵称 + */ + @ApiModelProperty(value = "微信昵称") + private String nickName; + /** + * 微信头像 + */ + @ApiModelProperty(value = "微信头像") + private String avatar; + /** + * 真实姓名 + */ + @ApiModelProperty(value = "真实姓名") + private String realName; + /** + * 身份证号 + */ + @ApiModelProperty(value = "身份证号") + private String idNumber; + /** + * 电话号码 + */ + @ApiModelProperty(value = "电话号码") + private String phoneNumber; + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfVillage.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfVillage.java index c277c05..b3361c0 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfVillage.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfVillage.java @@ -11,7 +11,7 @@ import io.swagger.annotations.ApiModelProperty; * 实体类 * * @author zqj - * @since 2023-04-23 + * @since 2023-05-05 */ @Data @EqualsAndHashCode(callSuper = true) @@ -23,53 +23,63 @@ public class LfVillage extends BaseEntity { /** * 名称 */ - @ApiModelProperty(value = "名称") - private String name; + @ApiModelProperty(value = "名称") + private String name; /** * 村域面积 */ - @ApiModelProperty(value = "村域面积") - private String area; + @ApiModelProperty(value = "村域面积") + private String area; /** * 景点数 */ - @ApiModelProperty(value = "景点数") - private String scenicNum; + @ApiModelProperty(value = "景点数") + private String scenicNum; /** * 经营个体数 */ - @ApiModelProperty(value = "经营个体数") - private String individualNum; + @ApiModelProperty(value = "经营个体数") + private String individualNum; /** * 产业收入 */ - @ApiModelProperty(value = "产业收入") - private String industrialIncome; + @ApiModelProperty(value = "产业收入") + private String industrialIncome; /** * 人均收入 */ - @ApiModelProperty(value = "人均收入") - private String capitaIncome; + @ApiModelProperty(value = "人均收入") + private String capitaIncome; /** * 年均增收 */ - @ApiModelProperty(value = "年均增收") - private String increaseIncome; + @ApiModelProperty(value = "年均增收") + private String increaseIncome; /** * 简介 */ - @ApiModelProperty(value = "简介") - private String briefIntroduction; + @ApiModelProperty(value = "简介") + private String briefIntroduction; /** * 详细介绍 */ - @ApiModelProperty(value = "详细介绍") - private String detailedIntroduction; + @ApiModelProperty(value = "详细介绍") + private String detailedIntroduction; /** * 视频url */ - @ApiModelProperty(value = "视频url") - private String videoUrl; + @ApiModelProperty(value = "视频url") + private String videoUrl; + /** + * 图片url + */ + @ApiModelProperty(value = "图片url") + private String imgUrl; + /** + * 卡丁乐园图片url + */ + @ApiModelProperty(value = "卡丁乐园图片url") + private String kartingImgUrl; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfWorkshopData.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfWorkshopData.java index 1550af8..6217a86 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfWorkshopData.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/LfWorkshopData.java @@ -23,18 +23,18 @@ public class LfWorkshopData extends BaseEntity { /** * 年份 */ - @ApiModelProperty(value = "年份") - private Integer year; + @ApiModelProperty(value = "年份") + private Integer year; /** * 岗位数 */ - @ApiModelProperty(value = "岗位数") - private Long positionNum; + @ApiModelProperty(value = "岗位数") + private Long positionNum; /** * 就业人数 */ - @ApiModelProperty(value = "就业人数") - private Long employedPersonNum; + @ApiModelProperty(value = "就业人数") + private Long employedPersonNum; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/MonthRevenue.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/MonthRevenue.java similarity index 87% rename from ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/MonthRevenue.java rename to ruoyi-system/src/main/java/com/ruoyi/system/entity/MonthRevenue.java index 7a12cf0..e8dad5b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/MonthRevenue.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/MonthRevenue.java @@ -1,4 +1,4 @@ -package com.ruoyi.system.controller.vo; +package com.ruoyi.system.entity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/MonthTicketsVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/MonthTickets.java similarity index 75% rename from ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/MonthTicketsVO.java rename to ruoyi-system/src/main/java/com/ruoyi/system/entity/MonthTickets.java index f8767e6..9332497 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/MonthTicketsVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/MonthTickets.java @@ -1,10 +1,10 @@ -package com.ruoyi.system.controller.vo; +package com.ruoyi.system.entity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data -public class MonthTicketsVO { +public class MonthTickets { @ApiModelProperty(value = "月份") private int month; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/MonthVisitorVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/MonthVisitor.java similarity index 75% rename from ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/MonthVisitorVO.java rename to ruoyi-system/src/main/java/com/ruoyi/system/entity/MonthVisitor.java index b25fed3..08be29a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/vo/MonthVisitorVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/MonthVisitor.java @@ -1,10 +1,10 @@ -package com.ruoyi.system.controller.vo; +package com.ruoyi.system.entity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data -public class MonthVisitorVO { +public class MonthVisitor { @ApiModelProperty(value = "月份") private int month; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/User.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/User.java new file mode 100644 index 0000000..4892a02 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/User.java @@ -0,0 +1,119 @@ + +package com.ruoyi.system.entity; + +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 com.fasterxml.jackson.annotation.JsonFormat; +import com.sky.core.mp.base.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import java.util.Date; + +/** + * 实体类 + * + * @author zqj + * @since 2023-04-27 + */ +@Data +@TableName("sys_user") +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "User对象", description = "User对象") +public class User extends BaseEntity { + + private static final long serialVersionUID = 1L; + + private Long userId; + private Long deptId; + /** + * 真实姓名 + */ + @ApiModelProperty(value = "真实姓名") + private String userName; + /** + * 微信昵称 + */ + @ApiModelProperty(value = "微信昵称") + private String nickName; + private String userType; + private String email; + /** + * 手机号码 + */ + @ApiModelProperty(value = "手机号码") + private String phonenumber; + private String sex; + private String avatar; + private String password; + private String status; + private String delFlag; + private String loginIp; + private Date loginDate; + /** + * 创建人 + */ + @ApiModelProperty(value = "创建人") + private String createBy; + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建时间") + private Date createTime; + /** + * 更新人 + */ + @ApiModelProperty(value = "更新人") + private String updateBy; + /** + * 更新时间 + */ + @ApiModelProperty(value = "更新时间") + private Date updateTime; + private String remark; + /** + * 微信openid + */ + @ApiModelProperty(value = "微信openid") + private String openid; + /** + * 身份证号 + */ + @ApiModelProperty(value = "身份证号") + private String idNumber; + + /** + * 主键 + */ + @TableField(exist = false) + private Long id; + + /** + * 创建者 + */ + @TableField(exist = false) + private String createdBy; + + /** + * 创建时间 + */ + @TableField(exist = false) + private Date createdAt; + + /** + * 更新者 + */ + @TableField(exist = false) + private String updatedBy; + + /** + * 更新时间 + */ + @TableField(exist = false) + private Date updatedAt; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/UserRole.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/UserRole.java new file mode 100644 index 0000000..ab7be41 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/UserRole.java @@ -0,0 +1,29 @@ + +package com.ruoyi.system.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.sky.core.mp.base.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * 实体类 + * + * @author zqj + * @since 2023-04-27 + */ +@Data +@TableName("sys_user_role") +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "UserRole对象", description = "UserRole对象") +public class UserRole extends BaseEntity { + + private static final long serialVersionUID = 1L; + + private Long userId; + private Long roleId; + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/WeChatUserInfoDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/WeChatUserInfoDTO.java new file mode 100644 index 0000000..d0db44e --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/WeChatUserInfoDTO.java @@ -0,0 +1,37 @@ +package com.ruoyi.system.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +@Data +public class WeChatUserInfoDTO { + /** + * 微信返回的code + */ + @ApiModelProperty(value = "微信返回的code",required = true) + @NotBlank + private String code; + /** + * 非敏感的用户信息 + */ + @ApiModelProperty(value = "非敏感的用户信息") + private String rawData; + /** + * 签名信息 + */ + @ApiModelProperty(value = "签名信息") + private String signature; + /** + * 加密的数据 + */ + @ApiModelProperty(value = "加密的数据") + private String encrypteData; + /** + * 加密密钥 + */ + @ApiModelProperty(value = "加密密钥") + private String iv; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/WeChateUserInfoVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/WeChateUserInfoVo.java new file mode 100644 index 0000000..c6e0c19 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/WeChateUserInfoVo.java @@ -0,0 +1,23 @@ +package com.ruoyi.system.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class WeChateUserInfoVo { + + @ApiModelProperty(value = "id") + String id; + @ApiModelProperty(value = "手机号码",required = true) + String phoneNumber; + @ApiModelProperty(value = "手机号码",required = true) + String purePhoneNumber; + @ApiModelProperty(value = "国家编码",required = true) + String countryCode; + @ApiModelProperty(value = "openId,微信用户唯一标识",required = true) + String openId; + @ApiModelProperty(value = "微信昵称",required = true) + String nickName; + @ApiModelProperty(value = "用户微信头像地址",required = true) + String avatarUrl; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/WxLogin.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/WxLogin.java new file mode 100644 index 0000000..effd122 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/WxLogin.java @@ -0,0 +1,29 @@ +package com.ruoyi.system.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotEmpty; +import java.io.Serializable; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class WxLogin implements Serializable { + + @ApiModelProperty(value = "小程序 appId") + public String openId; + + @ApiModelProperty(value = "小程序 appSecret") + public String secret; + + @ApiModelProperty(value = "登录时获取的 code") + @NotEmpty(message = "code不能为空") + public String js_code; + + @ApiModelProperty(value = "授权类型,此处只需填写 authorization_code") + public String grant_type; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/WxPayBean.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/WxPayBean.java new file mode 100644 index 0000000..14d77ab --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/WxPayBean.java @@ -0,0 +1,93 @@ +package com.ruoyi.system.entity; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.PropertySource; +import org.springframework.stereotype.Component; + +/** + *

IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。

+ * + *

不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。

+ * + *

IJPay 交流群: 723992875、864988890

+ * + *

Node.js 版: https://gitee.com/javen205/TNWX

+ * + *

微信配置 Bean

+ * + * @author Javen + */ +@Component +@PropertySource("classpath:/wxpay.properties") +@ConfigurationProperties(prefix = "wxpay") +public class WxPayBean { + private String appId; + private String appSecret; + private String mchId; + private String partnerKey; + private String certPath; + private String domain; + private String notifyUrl; + + public String getNotifyUrl(){ + return notifyUrl; + } + + public void setNotifyUrl(String notifyUrl){ + this.notifyUrl = notifyUrl; + } + + public String getAppId() { + return appId; + } + + public void setAppId(String appId) { + this.appId = appId; + } + + public String getAppSecret() { + return appSecret; + } + + public void setAppSecret(String appSecret) { + this.appSecret = appSecret; + } + + public String getMchId() { + return mchId; + } + + public void setMchId(String mchId) { + this.mchId = mchId; + } + + public String getPartnerKey() { + return partnerKey; + } + + public void setPartnerKey(String partnerKey) { + this.partnerKey = partnerKey; + } + + public String getCertPath() { + return certPath; + } + + public void setCertPath(String certPath) { + this.certPath = certPath; + } + + public String getDomain() { + return domain; + } + + public void setDomain(String domain) { + this.domain = domain; + } + + @Override + public String toString() { + return "WxPayBean [appId=" + appId + ", appSecret=" + appSecret + ", mchId=" + mchId + ", partnerKey=" + + partnerKey + ", certPath=" + certPath + ", domain=" + domain + "]"; + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/entity/WxPayV3Bean.java b/ruoyi-system/src/main/java/com/ruoyi/system/entity/WxPayV3Bean.java new file mode 100644 index 0000000..004d726 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/entity/WxPayV3Bean.java @@ -0,0 +1,119 @@ +package com.ruoyi.system.entity; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.PropertySource; +import org.springframework.stereotype.Component; + +/** + *

IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。

+ * + *

不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。

+ * + *

IJPay 交流群: 723992875、864988890

+ * + *

Node.js 版: https://gitee.com/javen205/TNWX

+ * + *

微信配置 Bean

+ * + * @author Javen + */ +@Component +@PropertySource("classpath:/wxpay_v3.properties") +@ConfigurationProperties(prefix = "v3") +public class WxPayV3Bean { + private String appId; + private String keyPath; + private String certPath; + private String certP12Path; + private String platformCertPath; + private String mchId; + private String apiKey; + private String apiKey3; + private String domain; + + public String getAppId() { + return appId; + } + + public void setAppId(String appId) { + this.appId = appId; + } + + public String getKeyPath() { + return keyPath; + } + + public void setKeyPath(String keyPath) { + this.keyPath = keyPath; + } + + public String getCertPath() { + return certPath; + } + + public void setCertPath(String certPath) { + this.certPath = certPath; + } + + public String getCertP12Path() { + return certP12Path; + } + + public void setCertP12Path(String certP12Path) { + this.certP12Path = certP12Path; + } + + public String getPlatformCertPath() { + return platformCertPath; + } + + public void setPlatformCertPath(String platformCertPath) { + this.platformCertPath = platformCertPath; + } + + public String getMchId() { + return mchId; + } + + public void setMchId(String mchId) { + this.mchId = mchId; + } + + public String getApiKey() { + return apiKey; + } + + public void setApiKey(String apiKey) { + this.apiKey = apiKey; + } + + public String getApiKey3() { + return apiKey3; + } + + public void setApiKey3(String apiKey3) { + this.apiKey3 = apiKey3; + } + + public String getDomain() { + return domain; + } + + public void setDomain(String domain) { + this.domain = domain; + } + + @Override + public String toString() { + return "WxPayV3Bean{" + + "keyPath='" + keyPath + '\'' + + ", certPath='" + certPath + '\'' + + ", certP12Path='" + certP12Path + '\'' + + ", platformCertPath='" + platformCertPath + '\'' + + ", mchId='" + mchId + '\'' + + ", apiKey='" + apiKey + '\'' + + ", apiKey3='" + apiKey3 + '\'' + + ", domain='" + domain + '\'' + + '}'; + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/kit/IpKit.java b/ruoyi-system/src/main/java/com/ruoyi/system/kit/IpKit.java new file mode 100644 index 0000000..6a6c2d4 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/kit/IpKit.java @@ -0,0 +1,32 @@ +package com.ruoyi.system.kit; + +import javax.servlet.http.HttpServletRequest; + +/** + * @author Javen + */ +public class IpKit { + private final static String UNKNOWN = "unknown"; + + public static String getRealIp(HttpServletRequest request) { + String ip = request.getHeader("x-forwarded-for"); + if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + ip = request.getHeader("Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + ip = request.getHeader("WL-Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); + } + return ip; + } + + public static String getRealIpV2(HttpServletRequest request) { + String accessIp = request.getHeader("x-forwarded-for"); + if (null == accessIp) { + return request.getRemoteAddr(); + } + return accessIp; + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfArticleMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfArticleMapper.java new file mode 100644 index 0000000..83065cf --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfArticleMapper.java @@ -0,0 +1,27 @@ + +package com.ruoyi.system.mapper; + +import com.ruoyi.system.entity.LfArticle; +import com.ruoyi.system.vo.LfArticleVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import java.util.List; + +/** + * Mapper 接口 + * + * @author zqj + * @since 2023-04-28 + */ +public interface LfArticleMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page + * @param lfArticle + * @return + */ + List selectLfArticlePage(IPage page, LfArticleVO lfArticle); + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfArticleMapper.xml b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfArticleMapper.xml new file mode 100644 index 0000000..f6a2e7d --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfArticleMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfBrandMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfBrandMapper.java new file mode 100644 index 0000000..9f0ec9c --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfBrandMapper.java @@ -0,0 +1,27 @@ + +package com.ruoyi.system.mapper; + +import com.ruoyi.system.entity.LfBrand; +import com.ruoyi.system.vo.LfBrandVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import java.util.List; + +/** + * Mapper 接口 + * + * @author zqj + * @since 2023-04-28 + */ +public interface LfBrandMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page + * @param lfBrand + * @return + */ + List selectLfBrandPage(IPage page, LfBrandVO lfBrand); + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfBrandMapper.xml b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfBrandMapper.xml new file mode 100644 index 0000000..a7082ae --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfBrandMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfCommodityMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfCommodityMapper.java new file mode 100644 index 0000000..1b342ef --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfCommodityMapper.java @@ -0,0 +1,27 @@ + +package com.ruoyi.system.mapper; + +import com.ruoyi.system.entity.LfCommodity; +import com.ruoyi.system.vo.LfCommodityVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import java.util.List; + +/** + * Mapper 接口 + * + * @author zqj + * @since 2023-04-28 + */ +public interface LfCommodityMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page + * @param lfCommodity + * @return + */ + List selectLfCommodityPage(IPage page, LfCommodityVO lfCommodity); + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfCommodityMapper.xml b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfCommodityMapper.xml new file mode 100644 index 0000000..9038af4 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfCommodityMapper.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfHonorMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfHonorMapper.java index 07971b2..a108102 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfHonorMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfHonorMapper.java @@ -11,7 +11,7 @@ import java.util.List; * Mapper 接口 * * @author zqj - * @since 2023-04-23 + * @since 2023-04-28 */ public interface LfHonorMapper extends BaseMapper { diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfHonorMapper.xml b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfHonorMapper.xml index b4419d6..104b546 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfHonorMapper.xml +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfHonorMapper.xml @@ -13,6 +13,8 @@ + + diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfOrderMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfOrderMapper.java index 0cc60ab..199498d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfOrderMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfOrderMapper.java @@ -11,7 +11,7 @@ import java.util.List; * Mapper 接口 * * @author zqj - * @since 2023-04-24 + * @since 2023-04-28 */ public interface LfOrderMapper extends BaseMapper { diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfOrderMapper.xml b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfOrderMapper.xml index 2329d76..746bffd 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfOrderMapper.xml +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfOrderMapper.xml @@ -16,6 +16,8 @@ + + @@ -23,7 +25,9 @@ - + + + diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfUserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfUserMapper.java new file mode 100644 index 0000000..1cb25cd --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfUserMapper.java @@ -0,0 +1,27 @@ + +package com.ruoyi.system.mapper; + +import com.ruoyi.system.entity.LfUser; +import com.ruoyi.system.vo.LfUserVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import java.util.List; + +/** + * Mapper 接口 + * + * @author zqj + * @since 2023-04-26 + */ +public interface LfUserMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page + * @param lfUser + * @return + */ + List selectLfUserPage(IPage page, LfUserVO lfUser); + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfUserMapper.xml b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfUserMapper.xml new file mode 100644 index 0000000..a6a4e9e --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfUserMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfVillageMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfVillageMapper.java index 9b47f10..3822b08 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfVillageMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfVillageMapper.java @@ -11,7 +11,7 @@ import java.util.List; * Mapper 接口 * * @author zqj - * @since 2023-04-23 + * @since 2023-05-05 */ public interface LfVillageMapper extends BaseMapper { diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfVillageMapper.xml b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfVillageMapper.xml index 8dea8cd..78d417d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfVillageMapper.xml +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/LfVillageMapper.xml @@ -20,6 +20,8 @@ + + diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserMapper.java new file mode 100644 index 0000000..47a3825 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserMapper.java @@ -0,0 +1,27 @@ + +package com.ruoyi.system.mapper; + +import com.ruoyi.system.entity.User; +import com.ruoyi.system.vo.UserVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import java.util.List; + +/** + * Mapper 接口 + * + * @author zqj + * @since 2023-04-27 + */ +public interface UserMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page + * @param user + * @return + */ + List selectUserPage(IPage page, UserVO user); + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserMapper.xml b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserMapper.xml new file mode 100644 index 0000000..a204d09 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserMapper.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserRoleMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserRoleMapper.java new file mode 100644 index 0000000..5e4f345 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserRoleMapper.java @@ -0,0 +1,27 @@ + +package com.ruoyi.system.mapper; + +import com.ruoyi.system.entity.UserRole; +import com.ruoyi.system.vo.UserRoleVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import java.util.List; + +/** + * Mapper 接口 + * + * @author zqj + * @since 2023-04-27 + */ +public interface UserRoleMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page + * @param userRole + * @return + */ + List selectUserRolePage(IPage page, UserRoleVO userRole); + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserRoleMapper.xml b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserRoleMapper.xml new file mode 100644 index 0000000..d4292b7 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserRoleMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfArticleQO.java b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfArticleQO.java new file mode 100644 index 0000000..7b98137 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfArticleQO.java @@ -0,0 +1,49 @@ +package com.ruoyi.system.qo; + +import com.sky.core.mp.base.BaseQuery; +import org.springframework.web.bind.annotation.RequestParam; +import com.sky.core.mp.annotation.QueryCondition; + +import java.time.LocalDateTime; + +import lombok.Data; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * 查询对象 + * + * @author zqj + * @since 2023-04-28 + */ +@Data + +@ApiModel(value = "LfArticle查询对象", description = "LfArticle查询对象") + +public class LfArticleQO extends BaseQuery { + + private static final long serialVersionUID = 1L; + + /** + * 文章类型(乐活村庄,最美庭院) + */ + @ApiModelProperty(value = "文章类型(乐活村庄,最美庭院)") + @QueryCondition + private Integer type; + + /** + * 标题 + */ + @ApiModelProperty(value = "标题") + @QueryCondition + private String title; + + /** + * 富文本内容 + */ + @ApiModelProperty(value = "富文本内容") + @QueryCondition + private String text; + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfAwardsQO.java b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfAwardsQO.java index 5e0faca..ccc37dc 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfAwardsQO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfAwardsQO.java @@ -3,11 +3,12 @@ package com.ruoyi.system.qo; import com.sky.core.mp.base.BaseQuery; import com.sky.core.mp.annotation.QueryCondition; -import java.time.LocalDate; - import lombok.Data; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; /** * 查询对象 @@ -21,16 +22,15 @@ import io.swagger.annotations.ApiModelProperty; public class LfAwardsQO extends BaseQuery { - private static final long serialVersionUID = 1L; - /** * 评选时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "评选时间") @QueryCondition - private LocalDate date; + private Date date; /** * 获奖等级 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfBrandQO.java b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfBrandQO.java new file mode 100644 index 0000000..71abeac --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfBrandQO.java @@ -0,0 +1,63 @@ +package com.ruoyi.system.qo; + +import com.sky.core.mp.base.BaseQuery; +import org.springframework.web.bind.annotation.RequestParam; +import com.sky.core.mp.annotation.QueryCondition; + +import java.time.LocalDateTime; + +import lombok.Data; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * 查询对象 + * + * @author zqj + * @since 2023-04-28 + */ +@Data + +@ApiModel(value = "LfBrand查询对象", description = "LfBrand查询对象") + +public class LfBrandQO extends BaseQuery { + + private static final long serialVersionUID = 1L; + + /** + * 户主 + */ + @ApiModelProperty(value = "户主") + @QueryCondition + private String master; + + /** + * 电话 + */ + @ApiModelProperty(value = "电话") + @QueryCondition + private String phoneNumber; + + /** + * 地址 + */ + @ApiModelProperty(value = "地址") + @QueryCondition + private String address; + + /** + * 荣誉信息 + */ + @ApiModelProperty(value = "荣誉信息") + @QueryCondition + private String honorInfo; + + /** + * 荣誉照片 + */ + @ApiModelProperty(value = "荣誉照片") + @QueryCondition + private String honorImg; + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfCommodityQO.java b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfCommodityQO.java new file mode 100644 index 0000000..455f388 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfCommodityQO.java @@ -0,0 +1,104 @@ +package com.ruoyi.system.qo; + +import com.sky.core.mp.base.BaseQuery; +import com.sky.core.mp.annotation.QueryCondition; + +import java.math.BigDecimal; + +import lombok.Data; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * 查询对象 + * + * @author zqj + * @since 2023-04-28 + */ +@Data + +@ApiModel(value = "LfCommodity查询对象", description = "LfCommodity查询对象") + +public class LfCommodityQO extends BaseQuery { + + private static final long serialVersionUID = 1L; + + /** + * 店铺id(lf_store.id) + */ + @ApiModelProperty(value = "店铺id(lf_store.id)") + @QueryCondition + private Long storeId; + + /** + * 商品名 + */ + @ApiModelProperty(value = "商品名") + @QueryCondition + private String name; + + /** + * 默认价格 + */ + @ApiModelProperty(value = "默认价格") + @QueryCondition + private BigDecimal price; + + /** + * 默认折扣 + */ + @ApiModelProperty(value = "默认折扣") + @QueryCondition + private BigDecimal discount; + + /** + * 使用人数 + */ + @ApiModelProperty(value = "使用人数") + @QueryCondition + private Integer userNum; + + /** + * 图片url + */ + @ApiModelProperty(value = "图片url") + @QueryCondition + private String imgUrl; + + /** + * 详情介绍 + */ + @ApiModelProperty(value = "详情介绍") + @QueryCondition + private String briefIntroduction; + + /** + * 购买须知 + */ + @ApiModelProperty(value = "购买须知") + @QueryCondition + private String purchaseNotes; + + /** + * 图文详情 + */ + @ApiModelProperty(value = "图文详情") + @QueryCondition + private String details; + + /** + * 价格标记(false:默认价格, true:另设价格) + */ + @ApiModelProperty(value = "价格标记(false:默认价格, true:另设价格)") + @QueryCondition + private Boolean priceFlag; + + /** + * 下架状态(false:上架, true:下架) + */ + @ApiModelProperty(value = "下架状态(false:上架, true:下架)") + @QueryCondition + private Boolean state; + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfCpcmQO.java b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfCpcmQO.java index 0a41b67..a35b763 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfCpcmQO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfCpcmQO.java @@ -1,11 +1,8 @@ package com.ruoyi.system.qo; import com.sky.core.mp.base.BaseQuery; -import org.springframework.web.bind.annotation.RequestParam; import com.sky.core.mp.annotation.QueryCondition; -import java.time.LocalDateTime; - import lombok.Data; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -22,10 +19,8 @@ import io.swagger.annotations.ApiModelProperty; public class LfCpcmQO extends BaseQuery { - private static final long serialVersionUID = 1L; - /** * 场所id(lf_place.id) */ diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfCropQO.java b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfCropQO.java index 8aecabf..ffbb7ce 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfCropQO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfCropQO.java @@ -3,11 +3,12 @@ package com.ruoyi.system.qo; import com.sky.core.mp.base.BaseQuery; import com.sky.core.mp.annotation.QueryCondition; -import java.time.LocalDate; - import lombok.Data; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; /** * 查询对象 @@ -21,10 +22,8 @@ import io.swagger.annotations.ApiModelProperty; public class LfCropQO extends BaseQuery { - private static final long serialVersionUID = 1L; - /** * 菜园id(lf_garden.id) */ @@ -42,9 +41,10 @@ public class LfCropQO extends BaseQuery { /** * 种植日期 */ + @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "种植日期") @QueryCondition - private LocalDate plantDate; + private Date plantDate; /** * 生长周期(天) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfEventsQO.java b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfEventsQO.java index 9f34fc6..94260ce 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfEventsQO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfEventsQO.java @@ -3,11 +3,12 @@ package com.ruoyi.system.qo; import com.sky.core.mp.base.BaseQuery; import com.sky.core.mp.annotation.QueryCondition; -import java.time.LocalDate; - import lombok.Data; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; /** * 查询对象 @@ -21,10 +22,8 @@ import io.swagger.annotations.ApiModelProperty; public class LfEventsQO extends BaseQuery { - private static final long serialVersionUID = 1L; - /** * 活动主题 */ @@ -35,9 +34,10 @@ public class LfEventsQO extends BaseQuery { /** * 举办时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "举办时间") @QueryCondition - private LocalDate date; + private Date date; /** * 图片url diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfGardenQO.java b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfGardenQO.java index c66fc20..94f2c15 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfGardenQO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfGardenQO.java @@ -18,10 +18,8 @@ import io.swagger.annotations.ApiModelProperty; public class LfGardenQO extends BaseQuery { - private static final long serialVersionUID = 1L; - /** * 场所id(lf_place.id) */ diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfHonorQO.java b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfHonorQO.java index c510031..718b0de 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfHonorQO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfHonorQO.java @@ -3,17 +3,18 @@ package com.ruoyi.system.qo; import com.sky.core.mp.base.BaseQuery; import com.sky.core.mp.annotation.QueryCondition; -import java.time.LocalDate; +import java.util.Date; import lombok.Data; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import org.springframework.format.annotation.DateTimeFormat; /** * 查询对象 * * @author zqj - * @since 2023-04-23 + * @since 2023-04-28 */ @Data @@ -21,10 +22,8 @@ import io.swagger.annotations.ApiModelProperty; public class LfHonorQO extends BaseQuery { - private static final long serialVersionUID = 1L; - /** * 党员id(lf_cpcm.id) */ @@ -42,9 +41,24 @@ public class LfHonorQO extends BaseQuery { /** * 获奖时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "获奖时间") @QueryCondition - private LocalDate date; + private Date date; + + /** + * 门牌id(lf_brand.id) + */ + @ApiModelProperty(value = "门牌id(lf_brand.id)") + @QueryCondition + private Long brandId; + + /** + * 图片url + */ + @ApiModelProperty(value = "图片url") + @QueryCondition + private String imgUrl; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfImageQO.java b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfImageQO.java index 28e144d..a0cd487 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfImageQO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfImageQO.java @@ -1,11 +1,8 @@ package com.ruoyi.system.qo; import com.sky.core.mp.base.BaseQuery; -import org.springframework.web.bind.annotation.RequestParam; import com.sky.core.mp.annotation.QueryCondition; -import java.time.LocalDateTime; - import lombok.Data; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -22,10 +19,8 @@ import io.swagger.annotations.ApiModelProperty; public class LfImageQO extends BaseQuery { - private static final long serialVersionUID = 1L; - /** * 表名 */ diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfMonitorQO.java b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfMonitorQO.java index 20e47b1..774f429 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfMonitorQO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfMonitorQO.java @@ -1,9 +1,8 @@ package com.ruoyi.system.qo; import com.sky.core.mp.base.BaseQuery; -import org.springframework.web.bind.annotation.RequestParam; import com.sky.core.mp.annotation.QueryCondition; -import java.time.LocalDateTime; + import lombok.Data; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -20,30 +19,28 @@ import io.swagger.annotations.ApiModelProperty; public class LfMonitorQO extends BaseQuery { - private static final long serialVersionUID = 1L; - /** * 视频地址 */ - @ApiModelProperty(value = "视频地址") -@QueryCondition - private String streamUrl; + @ApiModelProperty(value = "视频地址") + @QueryCondition + private String streamUrl; /** * 监控名 */ - @ApiModelProperty(value = "监控名") -@QueryCondition - private String name; + @ApiModelProperty(value = "监控名") + @QueryCondition + private String name; /** * 订单月份 */ - @ApiModelProperty(value = "订单月份") -@QueryCondition - private Integer month; + @ApiModelProperty(value = "订单月份") + @QueryCondition + private Integer month; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfOrderDetailsQO.java b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfOrderDetailsQO.java index 3fed010..a0efac5 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfOrderDetailsQO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfOrderDetailsQO.java @@ -1,11 +1,9 @@ package com.ruoyi.system.qo; import com.sky.core.mp.base.BaseQuery; -import org.springframework.web.bind.annotation.RequestParam; import com.sky.core.mp.annotation.QueryCondition; import java.math.BigDecimal; -import java.time.LocalDateTime; import lombok.Data; import io.swagger.annotations.ApiModel; @@ -23,10 +21,8 @@ import io.swagger.annotations.ApiModelProperty; public class LfOrderDetailsQO extends BaseQuery { - private static final long serialVersionUID = 1L; - /** * 订单id(lf_order.id) */ diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfOrderQO.java b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfOrderQO.java index 923d45e..3cf391a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfOrderQO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfOrderQO.java @@ -4,17 +4,18 @@ import com.sky.core.mp.base.BaseQuery; import com.sky.core.mp.annotation.QueryCondition; import java.math.BigDecimal; -import java.time.LocalDate; +import java.util.Date; import lombok.Data; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import org.springframework.format.annotation.DateTimeFormat; /** * 查询对象 * * @author zqj - * @since 2023-04-24 + * @since 2023-04-28 */ @Data @@ -22,10 +23,8 @@ import io.swagger.annotations.ApiModelProperty; public class LfOrderQO extends BaseQuery { - private static final long serialVersionUID = 1L; - /** * 微信订单号 */ @@ -55,11 +54,12 @@ public class LfOrderQO extends BaseQuery { private Long commodityId; /** - * 订单日期 + * 预定日期 */ - @ApiModelProperty(value = "订单日期") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "预定日期") @QueryCondition - private LocalDate useDate; + private Date useDate; /** * 订单总价 @@ -68,6 +68,20 @@ public class LfOrderQO extends BaseQuery { @QueryCondition private BigDecimal totalPrice; + /** + * 订单月份 + */ + @ApiModelProperty(value = "订单月份") + @QueryCondition + private Integer month; + + /** + * 订单总人数 + */ + @ApiModelProperty(value = "订单总人数") + @QueryCondition + private Integer userNum; + /** * 已核销 */ @@ -118,11 +132,25 @@ public class LfOrderQO extends BaseQuery { private String qrCode; /** - * 订单月份 + * 订单状态(1:未支付, 2:已支付, 3:正在退款, 4:已退款) */ - @ApiModelProperty(value = "订单月份") + @ApiModelProperty(value = "订单状态(1:未支付, 2:已支付, 3:正在退款, 4:已退款)") @QueryCondition - private Integer month; + private Integer status; + + /** + * 联系人 + */ + @ApiModelProperty(value = "联系人") + @QueryCondition + private String contacts; + + /** + * 手机号 + */ + @ApiModelProperty(value = "手机号") + @QueryCondition + private String phonenumber; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfPlaceQO.java b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfPlaceQO.java index 81e1f48..fc97994 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfPlaceQO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfPlaceQO.java @@ -1,9 +1,7 @@ package com.ruoyi.system.qo; import com.sky.core.mp.base.BaseQuery; -import org.springframework.web.bind.annotation.RequestParam; import com.sky.core.mp.annotation.QueryCondition; -import java.time.LocalDateTime; import lombok.Data; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -20,58 +18,56 @@ import io.swagger.annotations.ApiModelProperty; public class LfPlaceQO extends BaseQuery { - private static final long serialVersionUID = 1L; - /** * 1:游乐设施, 2:景点, 3:党员, 4:美丽庭院, 5:经营主体, 6:共享菜园 */ - @ApiModelProperty(value = "1:游乐设施, 2:景点, 3:党员, 4:美丽庭院, 5:经营主体, 6:共享菜园") -@QueryCondition - private Integer type; + @ApiModelProperty(value = "1:游乐设施, 2:景点, 3:党员, 4:美丽庭院, 5:经营主体, 6:共享菜园") + @QueryCondition + private Integer type; /** * 名称 */ - @ApiModelProperty(value = "名称") -@QueryCondition - private String name; + @ApiModelProperty(value = "名称") + @QueryCondition + private String name; /** * 地址 */ - @ApiModelProperty(value = "地址") -@QueryCondition - private String address; + @ApiModelProperty(value = "地址") + @QueryCondition + private String address; /** * 经度 */ - @ApiModelProperty(value = "经度") -@QueryCondition - private String longitude; + @ApiModelProperty(value = "经度") + @QueryCondition + private String longitude; /** * 纬度 */ - @ApiModelProperty(value = "纬度") -@QueryCondition - private String latitude; + @ApiModelProperty(value = "纬度") + @QueryCondition + private String latitude; /** * 详情信息 */ - @ApiModelProperty(value = "详情信息") -@QueryCondition - private String info; + @ApiModelProperty(value = "详情信息") + @QueryCondition + private String info; /** * 图片url */ - @ApiModelProperty(value = "图片url") -@QueryCondition - private String imgUrl; + @ApiModelProperty(value = "图片url") + @QueryCondition + private String imgUrl; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfVillageQO.java b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfVillageQO.java index d9a2988..3e83507 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfVillageQO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfVillageQO.java @@ -14,7 +14,7 @@ import io.swagger.annotations.ApiModelProperty; * 查询对象 * * @author zqj - * @since 2023-04-23 + * @since 2023-05-05 */ @Data @@ -22,10 +22,8 @@ import io.swagger.annotations.ApiModelProperty; public class LfVillageQO extends BaseQuery { - private static final long serialVersionUID = 1L; - /** * 名称 */ @@ -96,5 +94,19 @@ public class LfVillageQO extends BaseQuery { @QueryCondition private String videoUrl; + /** + * 图片url + */ + @ApiModelProperty(value = "图片url") + @QueryCondition + private String imgUrl; + + /** + * 卡丁乐园图片url + */ + @ApiModelProperty(value = "卡丁乐园图片url") + @QueryCondition + private String kartingImgUrl; + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfWorkshopDataQO.java b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfWorkshopDataQO.java index 9c59573..85e412c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfWorkshopDataQO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/qo/LfWorkshopDataQO.java @@ -2,11 +2,8 @@ package com.ruoyi.system.qo; import com.sky.core.mp.base.BaseQuery; import com.sky.core.mp.support.SqlOperate; -import org.springframework.web.bind.annotation.RequestParam; import com.sky.core.mp.annotation.QueryCondition; -import java.time.LocalDateTime; - import lombok.Data; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -23,7 +20,6 @@ import io.swagger.annotations.ApiModelProperty; public class LfWorkshopDataQO extends BaseQuery { - private static final long serialVersionUID = 1L; /** diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/qo/UserQO.java b/ruoyi-system/src/main/java/com/ruoyi/system/qo/UserQO.java new file mode 100644 index 0000000..ff31cf8 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/qo/UserQO.java @@ -0,0 +1,125 @@ +package com.ruoyi.system.qo; + +import com.sky.core.mp.base.BaseQuery; +import com.sky.core.mp.annotation.QueryCondition; +import lombok.Data; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import java.util.Date; + +/** + * 查询对象 + * + * @author zqj + * @since 2023-04-27 + */ +@Data + +@ApiModel(value = "User查询对象", description = "User查询对象") + +public class UserQO extends BaseQuery { + + private static final long serialVersionUID = 1L; + + @QueryCondition + private Long userId; + + @QueryCondition + private Long deptId; + + /** + * 真实姓名 + */ + @ApiModelProperty(value = "真实姓名") + @QueryCondition + private String userName; + + /** + * 微信昵称 + */ + @ApiModelProperty(value = "微信昵称") + @QueryCondition + private String nickName; + + @QueryCondition + private String userType; + + @QueryCondition + private String email; + + /** + * 手机号码 + */ + @ApiModelProperty(value = "手机号码") + @QueryCondition + private String phonenumber; + + @QueryCondition + private String sex; + + @QueryCondition + private String avatar; + + @QueryCondition + private String password; + + @QueryCondition + private String status; + + @QueryCondition + private String delFlag; + + @QueryCondition + private String loginIp; + + @QueryCondition + private Date loginDate; + + /** + * 创建人 + */ + @ApiModelProperty(value = "创建人") + @QueryCondition + private String createBy; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建时间") + @QueryCondition + private Date createTime; + + /** + * 更新人 + */ + @ApiModelProperty(value = "更新人") + @QueryCondition + private String updateBy; + + /** + * 更新时间 + */ + @ApiModelProperty(value = "更新时间") + @QueryCondition + private Date updateTime; + + @QueryCondition + private String remark; + + /** + * 微信openid + */ + @ApiModelProperty(value = "微信openid") + @QueryCondition + private String openid; + + /** + * 身份证号 + */ + @ApiModelProperty(value = "身份证号") + @QueryCondition + private String idNumber; + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/qo/UserRoleQO.java b/ruoyi-system/src/main/java/com/ruoyi/system/qo/UserRoleQO.java new file mode 100644 index 0000000..0351c12 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/qo/UserRoleQO.java @@ -0,0 +1,29 @@ +package com.ruoyi.system.qo; + +import com.sky.core.mp.base.BaseQuery; +import com.sky.core.mp.annotation.QueryCondition; +import lombok.Data; +import io.swagger.annotations.ApiModel; + +/** + * 查询对象 + * + * @author zqj + * @since 2023-04-27 + */ +@Data + +@ApiModel(value = "UserRole查询对象", description = "UserRole查询对象") + +public class UserRoleQO extends BaseQuery { + + private static final long serialVersionUID = 1L; + + @QueryCondition + private Long userId; + + @QueryCondition + private Long roleId; + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ILfArticleService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ILfArticleService.java new file mode 100644 index 0000000..c15a247 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ILfArticleService.java @@ -0,0 +1,26 @@ + +package com.ruoyi.system.service; + +import com.ruoyi.system.entity.LfArticle; +import com.ruoyi.system.qo.LfArticleQO; +import com.ruoyi.system.vo.LfArticleVO; +import com.sky.core.mp.base.BaseService; +import com.baomidou.mybatisplus.core.metadata.IPage; + +/** + * 服务类 + * + * @author zqj + * @since 2023-04-28 + */ +public interface ILfArticleService extends BaseService { + + /** + * 自定义分页 + * + * @param lfArticle + * @return + */ + IPage selectLfArticlePage( LfArticleQO lfArticle); + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ILfBrandService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ILfBrandService.java new file mode 100644 index 0000000..e0604b9 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ILfBrandService.java @@ -0,0 +1,26 @@ + +package com.ruoyi.system.service; + +import com.ruoyi.system.entity.LfBrand; +import com.ruoyi.system.qo.LfBrandQO; +import com.ruoyi.system.vo.LfBrandVO; +import com.sky.core.mp.base.BaseService; +import com.baomidou.mybatisplus.core.metadata.IPage; + +/** + * 服务类 + * + * @author zqj + * @since 2023-04-28 + */ +public interface ILfBrandService extends BaseService { + + /** + * 自定义分页 + * + * @param lfBrand + * @return + */ + IPage selectLfBrandPage( LfBrandQO lfBrand); + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ILfCommodityService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ILfCommodityService.java new file mode 100644 index 0000000..92aa49e --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ILfCommodityService.java @@ -0,0 +1,26 @@ + +package com.ruoyi.system.service; + +import com.ruoyi.system.entity.LfCommodity; +import com.ruoyi.system.qo.LfCommodityQO; +import com.ruoyi.system.vo.LfCommodityVO; +import com.sky.core.mp.base.BaseService; +import com.baomidou.mybatisplus.core.metadata.IPage; + +/** + * 服务类 + * + * @author zqj + * @since 2023-04-28 + */ +public interface ILfCommodityService extends BaseService { + + /** + * 自定义分页 + * + * @param lfCommodity + * @return + */ + IPage selectLfCommodityPage(LfCommodityQO lfCommodity); + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ILfOrderDetailsService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ILfOrderDetailsService.java index 07b559b..778df3a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ILfOrderDetailsService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ILfOrderDetailsService.java @@ -1,8 +1,8 @@ package com.ruoyi.system.service; -import com.ruoyi.system.controller.vo.MonthTicketsVO; import com.ruoyi.system.entity.LfOrderDetails; +import com.ruoyi.system.entity.MonthTickets; import com.ruoyi.system.qo.LfOrderDetailsQO; import com.ruoyi.system.vo.LfOrderDetailsVO; import com.sky.core.mp.base.BaseService; @@ -27,6 +27,6 @@ public interface ILfOrderDetailsService extends BaseService { */ IPage selectLfOrderDetailsPage( LfOrderDetailsQO lfOrderDetails); - List selectTicketsNum(Date year); + List selectTicketsNum(Date year); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ILfVillageService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ILfVillageService.java index d37238a..5abaad4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ILfVillageService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ILfVillageService.java @@ -26,4 +26,6 @@ public interface ILfVillageService extends BaseService { VillageVO selectVillage(); + boolean updateVillage(LfVillage lfVillage); + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfArticleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfArticleServiceImpl.java new file mode 100644 index 0000000..b4e3bc1 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfArticleServiceImpl.java @@ -0,0 +1,31 @@ + +package com.ruoyi.system.service.impl; + +import com.ruoyi.system.entity.LfArticle; +import com.ruoyi.system.vo.LfArticleVO; +import com.ruoyi.system.qo.LfArticleQO; +import com.ruoyi.system.mapper.LfArticleMapper; +import com.ruoyi.system.service.ILfArticleService; +import com.sky.core.mp.base.BaseServiceImpl; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +/** + * 服务实现类 + * + * @author zqj + * @since 2023-04-28 + */ +@Service +public class LfArticleServiceImpl extends BaseServiceImpl implements ILfArticleService { + + @Override + public IPage selectLfArticlePage(LfArticleQO lfArticle) { + QueryWrapper queryWrapper = getQueryChainWrapper(lfArticle); + IPage respPge = this.page(new Page<>(lfArticle.getPageNo(), lfArticle.getPageSize()), queryWrapper); + return respPge; + } + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfBrandServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfBrandServiceImpl.java new file mode 100644 index 0000000..86bf355 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfBrandServiceImpl.java @@ -0,0 +1,31 @@ + +package com.ruoyi.system.service.impl; + +import com.ruoyi.system.entity.LfBrand; +import com.ruoyi.system.vo.LfBrandVO; +import com.ruoyi.system.qo.LfBrandQO; +import com.ruoyi.system.mapper.LfBrandMapper; +import com.ruoyi.system.service.ILfBrandService; +import com.sky.core.mp.base.BaseServiceImpl; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +/** + * 服务实现类 + * + * @author zqj + * @since 2023-04-28 + */ +@Service +public class LfBrandServiceImpl extends BaseServiceImpl implements ILfBrandService { + + @Override + public IPage selectLfBrandPage(LfBrandQO lfBrand) { + QueryWrapper queryWrapper = getQueryChainWrapper(lfBrand); + IPage respPge = this.page(new Page<>(lfBrand.getPageNo(), lfBrand.getPageSize()), queryWrapper); + return respPge; + } + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfCommodityServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfCommodityServiceImpl.java new file mode 100644 index 0000000..8c55905 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfCommodityServiceImpl.java @@ -0,0 +1,31 @@ + +package com.ruoyi.system.service.impl; + +import com.ruoyi.system.entity.LfCommodity; +import com.ruoyi.system.vo.LfCommodityVO; +import com.ruoyi.system.qo.LfCommodityQO; +import com.ruoyi.system.mapper.LfCommodityMapper; +import com.ruoyi.system.service.ILfCommodityService; +import com.sky.core.mp.base.BaseServiceImpl; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +/** + * 服务实现类 + * + * @author zqj + * @since 2023-04-28 + */ +@Service +public class LfCommodityServiceImpl extends BaseServiceImpl implements ILfCommodityService { + + @Override + public IPage selectLfCommodityPage(LfCommodityQO lfCommodity) { + QueryWrapper queryWrapper = getQueryChainWrapper(lfCommodity); + IPage respPge = this.page(new Page<>(lfCommodity.getPageNo(), lfCommodity.getPageSize()), queryWrapper); + return respPge; + } + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfOrderDetailsServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfOrderDetailsServiceImpl.java index e47e3db..c50ad9a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfOrderDetailsServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfOrderDetailsServiceImpl.java @@ -3,8 +3,8 @@ package com.ruoyi.system.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; -import com.ruoyi.system.controller.vo.MonthTicketsVO; import com.ruoyi.system.entity.LfOrderDetails; +import com.ruoyi.system.entity.MonthTickets; import com.ruoyi.system.vo.LfOrderDetailsVO; import com.ruoyi.system.qo.LfOrderDetailsQO; import com.ruoyi.system.mapper.LfOrderDetailsMapper; @@ -36,7 +36,7 @@ public class LfOrderDetailsServiceImpl extends BaseServiceImpl selectTicketsNum(Date year) { + public List selectTicketsNum(Date year) { LfOrderDetailsQO lfOrderDetailsQO = new LfOrderDetailsQO(); lfOrderDetailsQO.setStartTime(DateUtil.beginOfYear(year)); lfOrderDetailsQO.setEndTime(DateUtil.endOfYear(year)); @@ -46,11 +46,11 @@ public class LfOrderDetailsServiceImpl extends BaseServiceImpl lfOrderDetailsList = this.list(queryWrapper); - List monthTicketsVOList = new ArrayList<>(); + List monthTicketsVOList = new ArrayList<>(); for (LfOrderDetails lfOrderDetails : lfOrderDetailsList) { - MonthTicketsVO monthTicketsVO = new MonthTicketsVO(); - BeanUtil.copyProperties(lfOrderDetails, monthTicketsVO); - monthTicketsVOList.add(monthTicketsVO); + MonthTickets monthTickets = new MonthTickets(); + BeanUtil.copyProperties(lfOrderDetails, monthTickets); + monthTicketsVOList.add(monthTickets); } return monthTicketsVOList; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfOrderServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfOrderServiceImpl.java index d3d7fca..566d8d7 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfOrderServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfOrderServiceImpl.java @@ -4,8 +4,9 @@ package com.ruoyi.system.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; import com.ruoyi.system.controller.vo.HistoryVO; -import com.ruoyi.system.controller.vo.MonthRevenue; import com.ruoyi.system.entity.LfOrder; +import com.ruoyi.system.entity.MonthRevenue; +import com.ruoyi.system.entity.MonthVisitor; import com.ruoyi.system.service.ILfOrderDetailsService; import com.ruoyi.system.vo.LfOrderVO; import com.ruoyi.system.qo.LfOrderQO; @@ -18,6 +19,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -49,17 +51,25 @@ public class LfOrderServiceImpl extends BaseServiceImpl lfOrderQO.setEndTime(DateUtil.endOfYear(year)); lfOrderQO.setIsCancel(false); QueryWrapper queryWrapper = getQueryChainWrapper(lfOrderQO); - queryWrapper.select("month, sum(total_price) as sum_month"); + queryWrapper.select("month, sum(total_price) as sum_month, sum(user_num) as visitorNum"); queryWrapper.groupBy("month"); queryWrapper.orderByAsc("month"); List lfOrderList = this.list(queryWrapper); List monthRevenueList = new ArrayList<>(); + List monthVisitorList = new ArrayList<>(); for (LfOrder lfOrder : lfOrderList) { MonthRevenue monthRevenue = new MonthRevenue(); BeanUtil.copyProperties(lfOrder, monthRevenue); + if (monthRevenue.getSumMonth() == null){ + monthRevenue.setSumMonth(BigDecimal.ZERO); + } monthRevenueList.add(monthRevenue); + MonthVisitor monthVisitor = new MonthVisitor(); + BeanUtil.copyProperties(lfOrder, monthVisitor); + monthVisitorList.add(monthVisitor); } historyVO.setMonthRevenue(monthRevenueList); + historyVO.setMonthVisitor(monthVisitorList); historyVO.setMonthTickets(orderDetailsService.selectTicketsNum(year)); return historyVO; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfVillageServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfVillageServiceImpl.java index 3d84974..a29a725 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfVillageServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LfVillageServiceImpl.java @@ -38,4 +38,9 @@ public class LfVillageServiceImpl extends BaseServiceImpl + * use: format("my name is {0}, and i like {1}!", "L.cm", "java") + *

+ * int long use {0,number,#} + * + * @param s + * @param args + * @return {String}转换后的字符串 + */ + public static String format(String s, Object... args) { + return MessageFormat.format(s, args); + } + + /** + * 替换某个字符 + * + * @param str + * @param regex + * @param args + * @return {String} + */ + public static String replace(String str, String regex, String... args) { + int length = args.length; + for (int i = 0; i < length; i++) { + str = str.replaceFirst(regex, args[i]); + } + return str; + } + + /** + * 清理字符串,清理出某些不可见字符 + * + * @param txt + * @return {String} + */ + public static String cleanChars(String txt) { + return txt.replaceAll("[   `·•�\\f\\t\\v]", ""); + } + + /** + * 随机字符串 + */ + private static final String INT_TEMP = "0123456789"; + private static final String STR_TEMP = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + private static final String ALL_TEMP = INT_TEMP + STR_TEMP; + + private static final Random RANDOM = new Random(); + + /** + * 生成的随机数类型 + */ + public enum RandomType { + /** + * 整数 + */ + INT, + /** + * 字符串 + */ + STRING, + /** + * 所有类型 + */ + ALL + } + + /** + * 随机数生成 + * + * @param count + * @return {String} + */ + public static String random(int count, RandomType randomType) { + if (count == 0) { + return ""; + } + if (count < 0) { + throw new IllegalArgumentException("Requested random string length " + count + " is less than 0."); + } + char[] buffer = new char[count]; + for (int i = 0; i < count; i++) { + if (randomType.equals(RandomType.INT)) { + buffer[i] = INT_TEMP.charAt(RANDOM.nextInt(INT_TEMP.length())); + } else if (randomType.equals(RandomType.STRING)) { + buffer[i] = STR_TEMP.charAt(RANDOM.nextInt(STR_TEMP.length())); + } else { + buffer[i] = ALL_TEMP.charAt(RANDOM.nextInt(ALL_TEMP.length())); + } + } + return new String(buffer); + } + + public static void main(String[] args) { + System.out.println(random(32, RandomType.ALL)); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/AjaxResult.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/AjaxResult.java new file mode 100644 index 0000000..9b26120 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/AjaxResult.java @@ -0,0 +1,85 @@ +package com.ruoyi.system.vo; + +import java.io.Serializable; + +/** + * @author Javen + */ +public class AjaxResult implements Serializable { + + private static final long serialVersionUID = 6439646269084700779L; + + private int code = 0; + + /** + * 返回的中文消息 + */ + private String message; + + /** + * 成功时携带的数据 + */ + private Object data; + + public int getCode() { + return code; + } + + public String getMessage() { + return message; + } + + public Object getData() { + return data; + } + + public void setData(Object data) { + this.data = data; + } + + /** + * 校验错误 + * + * @return + */ + public boolean hasError() { + return this.code != 0; + } + + /** + * 添加错误,用于alertError + * + * @param message + * @return + */ + public AjaxResult addError(String message) { + this.message = message; + this.code = 1; + return this; + } + + /** + * 用于Confirm的错误信息 + * + * @param message 描述消息 + * @return {AjaxResult} + */ + public AjaxResult addConfirmError(String message) { + this.message = message; + this.code = 2; + return this; + } + + /** + * 封装成功时的数据 + * + * @param data Object + * @return {AjaxResult} + */ + public AjaxResult success(Object data) { + this.data = data; + this.code = 0; + return this; + } + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfArticleVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfArticleVO.java new file mode 100644 index 0000000..a6b0723 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfArticleVO.java @@ -0,0 +1,21 @@ + +package com.ruoyi.system.vo; + +import com.ruoyi.system.entity.LfArticle; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.annotations.ApiModel; + +/** + * 视图实体类 + * + * @author zqj + * @since 2023-04-28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "LfArticleVO对象", description = "LfArticleVO对象") +public class LfArticleVO extends LfArticle { + private static final long serialVersionUID = 1L; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfBrandVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfBrandVO.java new file mode 100644 index 0000000..a34608f --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfBrandVO.java @@ -0,0 +1,21 @@ + +package com.ruoyi.system.vo; + +import com.ruoyi.system.entity.LfBrand; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.annotations.ApiModel; + +/** + * 视图实体类 + * + * @author zqj + * @since 2023-04-28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "LfBrandVO对象", description = "LfBrandVO对象") +public class LfBrandVO extends LfBrand { + private static final long serialVersionUID = 1L; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfCommodityVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfCommodityVO.java new file mode 100644 index 0000000..3d61ad1 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfCommodityVO.java @@ -0,0 +1,21 @@ + +package com.ruoyi.system.vo; + +import com.ruoyi.system.entity.LfCommodity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.annotations.ApiModel; + +/** + * 视图实体类 + * + * @author zqj + * @since 2023-04-28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "LfCommodityVO对象", description = "LfCommodityVO对象") +public class LfCommodityVO extends LfCommodity { + private static final long serialVersionUID = 1L; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfHonorVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfHonorVO.java index 51b4718..6740e5b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfHonorVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfHonorVO.java @@ -10,7 +10,7 @@ import io.swagger.annotations.ApiModel; * 视图实体类 * * @author zqj - * @since 2023-04-23 + * @since 2023-04-28 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfOrderVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfOrderVO.java index dc043e0..f497f07 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfOrderVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfOrderVO.java @@ -10,7 +10,7 @@ import io.swagger.annotations.ApiModel; * 视图实体类 * * @author zqj - * @since 2023-04-24 + * @since 2023-04-25 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfUserVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfUserVO.java new file mode 100644 index 0000000..3b49849 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfUserVO.java @@ -0,0 +1,21 @@ + +package com.ruoyi.system.vo; + +import com.ruoyi.system.entity.LfUser; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.annotations.ApiModel; + +/** + * 视图实体类 + * + * @author zqj + * @since 2023-04-26 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "LfUserVO对象", description = "LfUserVO对象") +public class LfUserVO extends LfUser { + private static final long serialVersionUID = 1L; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfVillageVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfVillageVO.java index 796e0d3..49a8fe7 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfVillageVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/LfVillageVO.java @@ -10,7 +10,7 @@ import io.swagger.annotations.ApiModel; * 视图实体类 * * @author zqj - * @since 2023-04-23 + * @since 2023-05-05 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/UserRoleVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/UserRoleVO.java new file mode 100644 index 0000000..1183bb1 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/UserRoleVO.java @@ -0,0 +1,21 @@ + +package com.ruoyi.system.vo; + +import com.ruoyi.system.entity.UserRole; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.annotations.ApiModel; + +/** + * 视图实体类 + * + * @author zqj + * @since 2023-04-27 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "UserRoleVO对象", description = "UserRoleVO对象") +public class UserRoleVO extends UserRole { + private static final long serialVersionUID = 1L; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/UserVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/UserVO.java new file mode 100644 index 0000000..771d7f1 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/UserVO.java @@ -0,0 +1,21 @@ + +package com.ruoyi.system.vo; + +import com.ruoyi.system.entity.User; +import lombok.Data; +import lombok.EqualsAndHashCode; +import io.swagger.annotations.ApiModel; + +/** + * 视图实体类 + * + * @author zqj + * @since 2023-04-27 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "UserVO对象", description = "UserVO对象") +public class UserVO extends User { + private static final long serialVersionUID = 1L; + +} diff --git a/ruoyi-system/src/main/resources/production/wxpay.properties b/ruoyi-system/src/main/resources/production/wxpay.properties new file mode 100644 index 0000000..a07e737 --- /dev/null +++ b/ruoyi-system/src/main/resources/production/wxpay.properties @@ -0,0 +1,6 @@ +wxpay.appId=\u5E94\u7528\u7F16\u53F7 +wxpay.appSecret=appSecret \u662F appId \u5BF9\u5E94\u7684\u63A5\u53E3\u5BC6\u7801\uFF0C\u5FAE\u4FE1\u516C\u4F17\u53F7\u6388\u6743\u83B7\u53D6\u7528\u6237 openId \u65F6\u4F7F\u7528 +wxpay.mchId=\u5FAE\u4FE1\u652F\u4ED8\u5546\u6237\u53F7 +wxpay.partnerKey=API \u5BC6\u94A5 +wxpay.certPath=apiclient_cert.p1 \u8BC1\u4E66\u8DEF\u5F84\uFF0C\u5728\u5FAE\u4FE1\u5546\u6237\u540E\u53F0\u4E0B\u8F7D +wxpay.domain=\u5916\u7F51\u8BBF\u95EE\u9879\u76EE\u7684\u57DF\u540D\uFF0C\u652F\u4ED8\u901A\u77E5\u4E2D\u4F1A\u4F7F\u7528 diff --git a/ruoyi-system/src/main/resources/wxpay.properties b/ruoyi-system/src/main/resources/wxpay.properties new file mode 100644 index 0000000..b7bd839 --- /dev/null +++ b/ruoyi-system/src/main/resources/wxpay.properties @@ -0,0 +1,7 @@ +wxpay.appId=wx48f57e83b9597e5d +wxpay.appSecret=2d396ea6a29b6d2373d79bbeacfae447 +wxpay.mchId=1628274546 +wxpay.partnerKey=LAKSJSS21212Wwwwssssssssssssssss +wxpay.certPath=apiclient_cert.p1 \u8BC1\u4E66\u8DEF\u5F84\uFF0C\u5728\u5FAE\u4FE1\u5546\u6237\u540E\u53F0\u4E0B\u8F7D +wxpay.domain=https://xvsc.workingman.cn/ +wxpay.notifyUrl=https://xvsc.workingman.cn/wxPay/payNotify diff --git a/ruoyi-system/src/main/resources/wxpay_v3.properties b/ruoyi-system/src/main/resources/wxpay_v3.properties new file mode 100644 index 0000000..0bb830c --- /dev/null +++ b/ruoyi-system/src/main/resources/wxpay_v3.properties @@ -0,0 +1,9 @@ +v3.appId=\u5E94\u7528\u7F16\u53F7 +v3.keyPath=key.pem +v3.certPath=cert.pem +v3.certP12Path=cert.p12 +v3.platformCertPath=wx_cert.pem +v3.mchId=\u5FAE\u4FE1\u5546\u6237\u53F7 +v3.apiKey3= Api-v3 \u5BC6\u94A5 +v3.apiKey= Api \u5BC6\u94A5 +v3.domain= https://ijpay.javen.com -- Gitee From 76d7e4d40794300f6a945b19ce4abe3741048fa4 Mon Sep 17 00:00:00 2001 From: huwj Date: Fri, 12 May 2023 14:18:42 +0800 Subject: [PATCH 02/36] =?UTF-8?q?=E5=8D=8F=E8=AE=AE=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../purchaseTicketItem/closeArgement.png | Bin 0 -> 233 bytes .../src/components/purchaseTicketItem.vue | 239 +++++++++++++++++- 2 files changed, 230 insertions(+), 9 deletions(-) create mode 100644 ruoyi-app/weixin-h5-app/src/assets/img/minprogram/purchaseTicketItem/closeArgement.png diff --git a/ruoyi-app/weixin-h5-app/src/assets/img/minprogram/purchaseTicketItem/closeArgement.png b/ruoyi-app/weixin-h5-app/src/assets/img/minprogram/purchaseTicketItem/closeArgement.png new file mode 100644 index 0000000000000000000000000000000000000000..c15db51b2cc4e7ff3e134199e77bd75e407854a5 GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|7JIrlhFJJ- zoqUk*kOEKJf2RWW_@m7m)92qa?rz`P)xPt9&t_FOwpQ1tPPY!Y|NcCEgAQ{V_xt6h z*UZz{-!nIO6#XpNIWJ9mmuBC0t(KdXm*;BU_;~X^+o4$-He0fF@rzEf)D~U98B~$M zctyc$YQ6&}lS7r>)*qZF98{LR+{~&Xz-e0epTUFW_H`$}w`qc=&Y}A^9_@8i-Wn5j g=38^(ucA5ewaqNQEGI?^0-ej?>FVdQ&MBb@00vfCNdN!< literal 0 HcmV?d00001 diff --git a/ruoyi-app/weixin-h5-app/src/components/purchaseTicketItem.vue b/ruoyi-app/weixin-h5-app/src/components/purchaseTicketItem.vue index 7416193..05de104 100644 --- a/ruoyi-app/weixin-h5-app/src/components/purchaseTicketItem.vue +++ b/ruoyi-app/weixin-h5-app/src/components/purchaseTicketItem.vue @@ -1,6 +1,6 @@ \ No newline at end of file diff --git a/ruoyi-app/weixin-h5-app/src/components/ywgzt.vue b/ruoyi-app/weixin-h5-app/src/components/ywgzt.vue index 6bc1166..ac8c416 100644 --- a/ruoyi-app/weixin-h5-app/src/components/ywgzt.vue +++ b/ruoyi-app/weixin-h5-app/src/components/ywgzt.vue @@ -2,6 +2,8 @@ import { reactive , onMounted , inject } from 'vue'; import axios from '../service/index.js' let echarts:any = inject("echarts"); +import { useRouter } from "vue-router"; +const router = useRouter() const state = reactive({ xstjName:'年份', dhtjName:'年份', @@ -37,6 +39,12 @@ onMounted(() => { dhtjdata(); tptj(); }); + +function onScanQRCode () { + router.push({ + path:'/scan' + }) +} // 销售统计 function xstjdata(){ state.xstjTime=[]; @@ -251,16 +259,27 @@ const dhtjInit = () => { }; chartBox.setOption(option); }; + +function gotoDetail(){ + router.push({ + path:'mydd', + query:{ + id:1, + isManger:false + } + }) +} +