فهرست منبع

feat: 生成小程序二维码

wrj 1 سال پیش
والد
کامیت
9e0155ed54

+ 15 - 6
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/CouponController.java

@@ -1,11 +1,13 @@
 package com.ylx.web.controller.massage;
 
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ylx.common.core.controller.BaseController;
 import com.ylx.common.core.domain.R;
+import com.ylx.common.utils.StringUtils;
 import com.ylx.massage.domain.Coupon;
+import com.ylx.massage.domain.TLbt;
 import com.ylx.massage.service.CouponService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -39,10 +41,17 @@ public class CouponController extends BaseController {
      * @param coupon 查询实体
      * @return 所有数据
      */
-    @GetMapping("list")
+    @RequestMapping(value = "/list", method = RequestMethod.GET)
     @ApiOperation("PC查询优惠劵管理列表")
-    public R selectAll(Page<Coupon> page, Coupon coupon) {
-        return R.ok(this.couponService.page(page, new QueryWrapper<>(coupon)));
+    public R<Page<Coupon>> selectAll(Page<Coupon> page, Coupon coupon) {
+        LambdaQueryWrapper<Coupon> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.like(StringUtils.isNotBlank(coupon.getName()), Coupon::getName, coupon.getName())
+                .eq(coupon.getType() != null, Coupon::getType, coupon.getType())
+                .eq(coupon.getStatus() != null, Coupon::getStatus, coupon.getStatus())
+                .eq(coupon.getObtainWay() != null, Coupon::getObtainWay, coupon.getObtainWay())
+                .eq(coupon.getTermDays() != null, Coupon::getTermDays, coupon.getTermDays())
+                .eq(coupon.getUsedNum() != null, Coupon::getUsedNum, coupon.getUsedNum());
+        return R.ok(this.couponService.page(page, queryWrapper));
     }
 
     /**
@@ -87,9 +96,9 @@ public class CouponController extends BaseController {
      * @param idList 主键结合
      * @return 删除结果
      */
-    @GetMapping("delete")
+    @PostMapping("delete")
     @ApiOperation("删除数据")
-    public R delete(@RequestParam("idList") List<Long> idList) {
+    public R delete(@RequestBody List<Long> idList) {
         return R.ok(this.couponService.removeByIds(idList));
     }
 }

+ 22 - 6
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/WxController.java

@@ -4,6 +4,7 @@ import cn.binarywang.wx.miniapp.api.WxMaService;
 import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
 import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
 import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
+import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.net.url.UrlBuilder;
 import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson.JSON;
@@ -39,10 +40,14 @@ import me.chanjar.weixin.common.error.WxErrorException;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -85,10 +90,16 @@ public class WxController extends BaseController {
      * @return
      */
     @ApiOperation("获取二维码")
-    @RequestMapping(value = "getwxQrCode", method = RequestMethod.POST)
-    public String getWxQrCodeUtil(@RequestBody JSONObject param) {
-        String cOpenId = param.getString("cOpenId");
-        return wxQrCodeUtil.getWxQrcode(cOpenId);
+//    @RequestMapping(value = "getwxQrCode", method = RequestMethod.POST)
+//    public String getWxQrCodeUtil(@RequestBody JSONObject param) throws IOException {
+//        String cOpenId = param.getString("cOpenId");
+//        return wxQrCodeUtil.generateQRCode(null,null,null);
+//    }
+    //生成小程序码方式
+    @PostMapping(value="getwxQrCode",produces = MediaType.IMAGE_JPEG_VALUE)
+    public byte[] inviteCode(@RequestParam ("inviteUserId")String inviteUserId) throws WxErrorException {
+        File file=wxMaService.getQrcodeService().createWxaCodeUnlimit(inviteUserId,null,300,true,null,true);
+        return FileUtil.readBytes(file);
     }
 
     /**
@@ -212,7 +223,7 @@ public class WxController extends BaseController {
     @Log(title = "小程序登录", businessType = BusinessType.OTHER)
     @PostMapping("/login")
     public R<Object> login(@RequestParam("code") String code, @RequestParam("encryptedData") String encryptedData,
-                           @RequestParam("iv") String iv) {
+                           @RequestParam("iv") String iv, @RequestParam(required = false, value = "parentOpenId") String parentOpenId) {
         try {
             // 调用微信 API 获取用户的 openid 和 session_key
             WxMaJscode2SessionResult session = wxMaService.getUserService().getSessionInfo(code);
@@ -248,7 +259,7 @@ public class WxController extends BaseController {
                 wxUserService.save(user);
                 //异步 添加新人优惠卷
                 TWxUser finalUser = user;
-                threadPoolTaskExecutor.submit(()->couponReceiveService.submit(new CouponReceive().setOpenid(finalUser.getcOpenid()).setCouponId("1")));
+                threadPoolTaskExecutor.submit(() -> couponReceiveService.submit(new CouponReceive().setOpenid(finalUser.getcOpenid()).setCouponId("1")));
                 user.setId(user.getId());
             }
 
@@ -270,6 +281,9 @@ public class WxController extends BaseController {
         }
     }
 
+
+
+
     /**
      * 更新用户信息接口
      */
@@ -339,4 +353,6 @@ public class WxController extends BaseController {
         return R.ok(pageSelect);
     }
 
+
+
 }

+ 2 - 2
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TOrderServiceImpl.java

@@ -160,8 +160,8 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
         coupons = coupons.stream().filter(coupon -> coupon.getExpirationTime().after(new Date())).collect(Collectors.toList());
         //无门槛优惠券
         List<CouponReceiveVo> collect = coupons.stream().filter(coupon -> coupon.getDiscountType().equals(DiscountTypeEnum.NO_THRESHOLD.getCode())).collect(Collectors.toList());
-        //删除优惠卷
-        couponReceiveService.removeCoupons(collect);
+        //支付成功 后 删除优惠卷
+//        couponReceiveService.removeCoupons(collect);
         //计算优惠金额
         return collect.stream().map(CouponReceiveVo::getDiscountValue).reduce(BigDecimal.ZERO, BigDecimal::add);
     }