Ver código fonte

增加商城优惠券功能

gqx 2 anos atrás
pai
commit
1c91bfc82a

+ 1 - 10
jeecg-mall-api/src/main/java/config/WebConfig.java

@@ -43,18 +43,9 @@ public class WebConfig implements WebMvcConfigurer {
 		/**
 		 * 进入ThirdSession拦截器
 		 */
-//		registry.addInterceptor(thirdSessionInterceptor()).addPathPatterns("/**");
-//				//放行接口
-////				.excludePathPatterns("/mall-api/wxuser/ma-login2");//小程序登录
-////		registry.addInterceptor(thirdSessionInterceptor());
-//		super.addInterceptors(registry);
-//		registry.addInterceptor(thirdSessionInterceptor());
-//		super.addInterceptors(registry);
-//		registry.addInterceptor(new ThirdSessionInterceptor()).addPathPatterns("/**");
-
 		registry
 				.addInterceptor(thirdSessionInterceptor())
-				.addPathPatterns("/mall-api/**")   //拦截路径
+				.addPathPatterns("/mall-api/**")  //拦截路径
                 .excludePathPatterns("/mall-api/wxuser/ma-login");     //不拦截路径
 		WebMvcConfigurer.super.addInterceptors(registry);
 

+ 4 - 1
jeecg-mall-api/src/main/java/interceptor/ThirdSessionInterceptor.java

@@ -45,6 +45,9 @@ public class ThirdSessionInterceptor implements HandlerInterceptor {
 
 	@Override
 	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+//		if (!(handler instanceof HandlerMethod)) {
+//			return super.preHandle(request, response, handler);
+//		}
 		HandlerMethod method = (HandlerMethod) handler;
 		//判断访问的control是否添加ApiLogin注解
 		ApiLogin apiLogin = method.getMethodAnnotation(ApiLogin.class);
@@ -91,7 +94,7 @@ public class ThirdSessionInterceptor implements HandlerInterceptor {
 
 				if (apiLogin != null && apiLogin.mustLogin()) {
 					//此接口必须登录商城才能访问
-					this.judeSessionUserMall(response, thirdSession);
+					return this.judeSessionUserMall(response, thirdSession);
 				}
 				return Boolean.TRUE;
 			}

+ 112 - 0
jeecg-mall-api/src/main/java/org/jeecg/modules/bus/controller/CouponsCashUsedController.java

@@ -0,0 +1,112 @@
+package org.jeecg.modules.bus.controller;
+import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.constraints.DecimalMin;
+
+import annotation.ApiLogin;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.util.ThirdSessionHolder;
+import config.WebConfig;
+import lombok.AllArgsConstructor;
+import org.apache.commons.lang3.ObjectUtils;
+import org.apache.poi.hpsf.Decimal;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.TenantContextHolder;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.business.dto.CouponsGenerateDto;
+import org.jeecg.modules.business.dto.PostDataDto;
+import org.jeecg.modules.business.dto.ProvideCouponsUsedDto;
+import org.jeecg.modules.business.entity.BusMarketCoupons;
+import org.jeecg.modules.business.entity.BusMarketCouponsCashUsed;
+import org.jeecg.modules.business.entity.BusMarketCouponsUsed;
+import org.jeecg.modules.business.entity.BusMarketMealCouponsUsed;
+import org.jeecg.modules.business.enums.CouponsStatusEnum;
+import org.jeecg.modules.business.service.IBusMarketCouponsCashUsedService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecg.modules.business.service.IBusMarketCouponsService;
+import org.jeecg.modules.business.service.IBusMarketCouponsUsedService;
+import org.jeecg.modules.system.entity.SysUser;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+
+
+@Api(tags="优惠券")
+@RestController
+@AllArgsConstructor
+@RequestMapping("/mall-api/coupons-cash-used")
+@Slf4j
+public class CouponsCashUsedController extends WebConfig {
+    @Resource
+    private IBusMarketCouponsCashUsedService busMarketCouponsCashUsedService;
+    @Resource
+    private IBusMarketCouponsService busMarketCouponsService;
+
+    /**
+     * 获取我的可用优惠券分页列表查询
+     *
+     * @param busMarketCouponsCashUsed
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @ApiOperation(value = "获取我的优惠券分页列表查询", notes = "获取我的优惠券分页列表查询")
+    @GetMapping(value = "/list")
+    @ApiLogin
+    public Result<IPage<BusMarketCouponsCashUsed>> queryPageList(BusMarketCouponsCashUsed busMarketCouponsCashUsed,
+                                                                 @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                                 @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                                 HttpServletRequest req) {
+        String tenantId = TenantContextHolder.getTenantId();
+        String userId = ThirdSessionHolder.getUserId();
+        LambdaQueryWrapper<BusMarketCouponsCashUsed> queryWrapper = QueryGenerator.initQueryWrapper(busMarketCouponsCashUsed, req.getParameterMap()).lambda();
+        queryWrapper.eq(BusMarketCouponsCashUsed::getUserid, userId);
+        queryWrapper.eq(BusMarketCouponsCashUsed::getTenantId, tenantId);
+        queryWrapper.eq(BusMarketCouponsCashUsed::getStatus, 1);
+        Page<BusMarketCouponsCashUsed> page = new Page<BusMarketCouponsCashUsed>(pageNo, pageSize);
+        IPage<BusMarketCouponsCashUsed> pageList = busMarketCouponsCashUsedService.page(page, queryWrapper);
+        pageList.getRecords().forEach(item -> {
+            BusMarketCoupons coupons = busMarketCouponsService.getById(item.getCouponsId());
+            if (coupons != null) {
+                item.setConponsName(coupons.getName());
+            }
+            CouponsStatusEnum couponsStatusEnum = CouponsStatusEnum.val(item.getStatus());
+            if (couponsStatusEnum != null) {
+                item.setStatusName(couponsStatusEnum.getTitle());
+            }
+        });
+        return Result.OK(pageList);
+    }
+}

+ 89 - 0
jeecg-mall-api/src/main/java/org/jeecg/modules/bus/controller/CouponsUsedController.java

@@ -0,0 +1,89 @@
+package org.jeecg.modules.bus.controller;
+
+import annotation.ApiLogin;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.util.ThirdSessionHolder;
+import config.WebConfig;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.TenantContextHolder;
+import org.jeecg.modules.business.dto.CouponsGenerateDto;
+import org.jeecg.modules.business.dto.PostDataDto;
+import org.jeecg.modules.business.dto.ProvideCouponsUsedDto;
+import org.jeecg.modules.business.entity.BusMarketCoupons;
+import org.jeecg.modules.business.entity.BusMarketCouponsCashUsed;
+import org.jeecg.modules.business.entity.BusMarketCouponsUsed;
+import org.jeecg.modules.business.enums.CouponsStatusEnum;
+import org.jeecg.modules.business.service.IBusMarketCouponsService;
+import org.jeecg.modules.business.service.IBusMarketCouponsUsedService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+
+@Api(tags="免房券")
+@RestController
+@AllArgsConstructor
+@RequestMapping("/mall-api/coupons-used")
+@Slf4j
+public class CouponsUsedController extends WebConfig {
+    @Resource
+   private IBusMarketCouponsUsedService busMarketCouponsUsedService;
+    @Resource
+    private IBusMarketCouponsService busMarketCouponsService;
+   /**
+    * 获取我的可用优惠券分页列表查询
+    *
+    * @param busMarketCouponsUsed
+    * @param pageNo
+    * @param pageSize
+    * @param req
+    * @return
+    */
+   @ApiOperation(value="获取我的可用优惠券分页列表查询", notes="获取我的可用优惠券分页列表查询")
+   @PostMapping(value = "/list")
+   @ApiLogin
+   public Result<IPage<BusMarketCouponsUsed>> queryPageList(BusMarketCouponsUsed busMarketCouponsUsed,
+                                  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+                                  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+                                  HttpServletRequest req) {
+       String tenantId = TenantContextHolder.getTenantId();
+       String userId = ThirdSessionHolder.getUserId();
+       LambdaQueryWrapper<BusMarketCouponsUsed> queryWrapper = QueryGenerator.initQueryWrapper(busMarketCouponsUsed, req.getParameterMap()).lambda();
+       queryWrapper.eq(BusMarketCouponsUsed::getUserid, userId);
+       queryWrapper.eq(BusMarketCouponsUsed::getTenantId, tenantId);
+       queryWrapper.eq(BusMarketCouponsUsed::getStatus, 1);
+       Page<BusMarketCouponsUsed> page = new Page<BusMarketCouponsUsed>(pageNo, pageSize);
+       IPage<BusMarketCouponsUsed> pageList = busMarketCouponsUsedService.page(page, queryWrapper);
+       if (pageList.getRecords().size() > 0) {
+           pageList.getRecords().forEach(item -> {
+               BusMarketCoupons coupons = busMarketCouponsService.getById(item.getCouponsId());
+               if (coupons != null) {
+                   item.setConponsName(coupons.getName());
+               }
+               CouponsStatusEnum couponsStatusEnum = CouponsStatusEnum.val(item.getStatus());
+               if (couponsStatusEnum != null) {
+                   item.setStatusName(couponsStatusEnum.getTitle());
+               }
+           });
+       }
+       return Result.OK(pageList);
+   }
+
+
+}

+ 10 - 6
jeecg-mall-api/src/main/java/org/jeecg/modules/business/controller/BusHotelController.java

@@ -1,10 +1,12 @@
-package org.jeecg.modules.business.controller;
-
+package org.jeecg.modules.bus.controller;
+import annotation.ApiLogin;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import config.WebConfig;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.jeecg.common.api.vo.Result;
@@ -26,6 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.Arrays;
@@ -38,10 +41,11 @@ import java.util.Map;
  */
 @Api(tags="酒店列表")
 @RestController
-@RequestMapping("/mall-api/busHotel")
+@AllArgsConstructor
+@RequestMapping("/mall-api/hotel")
 @Slf4j
-public class BusHotelController extends JeecgController<BusHotel, IBusHotelService> {
-   @Autowired
+public class HotelController extends  WebConfig {
+   @Resource
    private IBusHotelService busHotelService;
 
     /**
@@ -51,9 +55,9 @@ public class BusHotelController extends JeecgController<BusHotel, IBusHotelServi
      * @param req
      * @return
      */
-    //@AutoLog(value = "bus_hotel-列表查询")
     @ApiOperation(value="bus_hotel-列表查询", notes="bus_hotel-列表查询")
     @GetMapping(value = "/queryList")
+    @ApiLogin
     public Result<List<BusHotel>> queryList(BusHotel busHotel, HttpServletRequest req) {
         QueryWrapper<BusHotel> queryWrapper = QueryGenerator.initQueryWrapper(busHotel, req.getParameterMap());
         String tenantId = TenantContextHolder.getTenantId();

+ 14 - 10
jeecg-mall-api/src/main/java/org/jeecg/modules/business/controller/BusMemberCardController.java

@@ -1,10 +1,12 @@
-package org.jeecg.modules.business.controller;
+package org.jeecg.modules.bus.controller;
 
+import annotation.ApiLogin;
 import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.util.ThirdSessionHolder;
+import config.WebConfig;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -27,6 +29,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
@@ -39,21 +42,21 @@ import java.util.List;
  */
 @Api(tags="会员卡")
 @RestController
-@RequestMapping("/mall-api/busMemberCard")
+@RequestMapping("/mall-api/member-card")
 @Slf4j
-public class BusMemberCardController extends JeecgController<BusMemberCard, IBusMemberCardService> {
-	@Autowired
+public class MemberCardController extends WebConfig {
+	@Resource
 	private IBusMemberCardService busMemberCardService;
-	 @Autowired
+	 @Resource
 	 private IBusHotelService busHotelService;
-	 @Autowired
+	 @Resource
 	 private IBusMarketMemberService busMarketMemberService;
-	 @Autowired
+	 @Resource
 	 private IBusMarketMemberGroupService busMarketMemberGroupService;
-	 @Autowired
+	 @Resource
 	 private IBusMarketMemberLableService busMarketMemberLableService;
 	/**
-	 * 购买会员卡分页列表查询
+	 * 用户购买会员卡分页列表查询
 	 *
 	 * @param busMemberCard
 	 * @param pageNo
@@ -61,9 +64,9 @@ public class BusMemberCardController extends JeecgController<BusMemberCard, IBus
 	 * @param req
 	 * @return
 	 */
-	//@AutoLog(value = "bus_member_card-分页列表查询")
 	@ApiOperation(value="bus_member_card-分页列表查询", notes="bus_member_card-分页列表查询")
 	@GetMapping(value = "/list")
+	@ApiLogin
 	public Result<IPage<BusMemberCard>> queryPageList(BusMemberCard busMemberCard,
 								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
 								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@@ -114,6 +117,7 @@ public class BusMemberCardController extends JeecgController<BusMemberCard, IBus
 	@AutoLog(value = "添加会员卡")
 	@ApiOperation(value="添加会员卡", notes="添加会员卡")
 	@PostMapping(value = "/add")
+	@ApiLogin
 	public Result<String> add(@RequestBody BusMemberCard busMemberCard) {
 		String tenantId = TenantContextHolder.getTenantId();
 		String userId = ThirdSessionHolder.getUserId();

+ 4 - 3
jeecg-mall-api/src/main/java/org/jeecg/modules/business/controller/BusParamXcxRoomController.java

@@ -1,8 +1,9 @@
-package org.jeecg.modules.business.controller;
+package org.jeecg.modules.bus.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import config.WebConfig;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -30,9 +31,9 @@ import java.util.Arrays;
  */
 @Api(tags="小程序客房服务")
 @RestController
-@RequestMapping("/mall-api/busParamXcxRoom")
+@RequestMapping("/mall-api/param-xcx-room")
 @Slf4j
-public class BusParamXcxRoomController extends JeecgController<BusParamXcxRoom, IBusParamXcxRoomService> {
+public class ParamXcxRoomController extends WebConfig {
    @Autowired
    private IBusParamXcxRoomService busParamXcxRoomService;
 

+ 4 - 4
jeecg-mall-api/src/main/java/org/jeecg/modules/wxuser/controller/WxUserController.java

@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.util.ThirdSessionHolder;
 import config.WebConfig;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -39,10 +40,8 @@ import java.io.InputStream;
 import java.net.URLDecoder;
 import java.util.*;
 
-/**
- * @Description: 商城用户
- * @author: gqx
- */
+
+@Api(tags="商城登录")
 @Slf4j
 @RestController
 @AllArgsConstructor
@@ -81,6 +80,7 @@ public class WxUserController extends WebConfig {
      */
     @ApiOperation(value = "通过小程序授权手机号一键登录商城")
     @PostMapping("/ma-phone-login")
+    @ApiLogin
     public Result loginByPhoneMa(HttpServletRequest request, @RequestBody WxOpenDataDto dto) {
         try {
             String token = request.getHeader("third-session");