From 81932e21cb584b992bdbde80df84eb81f77073d0 Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期四, 27 七月 2023 11:36:18 +0800
Subject: [PATCH] 管理后台的优惠券管理的角色模块修复

---
 cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java |   85 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 83 insertions(+), 2 deletions(-)

diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
index f959ec7..19b5af2 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
@@ -1,11 +1,17 @@
 package com.dsh.activity.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.dsh.activity.entity.Coupon;
+import com.dsh.activity.entity.UserCoupon;
+import com.dsh.activity.feignclient.model.CouponListOfSearch;
 import com.dsh.activity.model.CouponListVo;
+import com.dsh.activity.model.request.CommodityRequest;
 import com.dsh.activity.model.request.CouponPackageReq;
 import com.dsh.activity.model.response.CouponPackageResp;
 import com.dsh.activity.service.ICouponService;
 import com.dsh.activity.service.UserCouponService;
+import com.dsh.activity.util.GDMapGeocodingUtil;
 import com.dsh.activity.util.ResultUtil;
 import com.dsh.activity.util.TokenUtil;
 import io.swagger.annotations.ApiImplicitParam;
@@ -14,7 +20,10 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 
 /**
  * @author zhibing.pu
@@ -33,6 +42,9 @@
     @Autowired
     private UserCouponService ucService;
 
+    @Autowired
+    private GDMapGeocodingUtil gdMapGeocodingUtil;
+
 
 
 
@@ -43,7 +55,7 @@
             @ApiImplicitParam(value = "1=积分购买,2=注册赠送", name = "distributionMethod", dataType = "int", required = true),
             @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil<List<CouponListVo>> queryCouponList(@RequestBody Integer distributionMethod){
+    public ResultUtil<List<CouponListVo>> queryCouponList(Integer distributionMethod){
         if(null == distributionMethod){
             return ResultUtil.paranErr("distributionMethod");
         }
@@ -90,7 +102,7 @@
     @ApiImplicitParams({
             @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil<List<CouponPackageResp>> queryAppuserCouponList(@RequestBody CouponPackageReq req){
+    public ResultUtil<List<CouponPackageResp>> queryAppuserCouponList( CouponPackageReq req){
         try {
             Integer uid = tokenUtil.getUserIdFormRedis();
             if(null == uid){
@@ -103,4 +115,73 @@
         }
     }
 
+
+    @PostMapping("/base/coupon/getAllCoupons")
+    public List<Coupon> getAllCoupons(@RequestBody CommodityRequest request){
+        String provinceCode = "";
+        String cityCode = "";
+        try {
+            Map<String, String> geocode = gdMapGeocodingUtil.geocode(request.getLon(), request.getLat());
+            provinceCode = geocode.get("provinceCode");
+            cityCode = geocode.get("cityCode");
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        try {
+            Integer userAppId = tokenUtil.getUserIdFormRedis();
+            List<UserCoupon> list = ucService.list(new QueryWrapper<UserCoupon>()
+                    .eq("userId",userAppId ));
+            List<Coupon> couponList = couponService.list(new QueryWrapper<Coupon>()
+                    .eq("auditStatus",2)
+                    .eq("state",1)
+                    .eq("status",2));
+            if (couponList.size() > 0 ){
+                Iterator<Coupon> iterator = couponList.iterator();
+                while (iterator.hasNext()) {
+                    Coupon merchandise = iterator.next();
+                    if (merchandise.getUseScope() == 2 && (!Objects.equals(merchandise.getCityCode(), cityCode) && !Objects.equals(merchandise.getProvinceCode(), provinceCode))) {
+                        iterator.remove(); // 移除符合条件的商品
+                    }
+                }
+            }
+            return couponList;
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+
+    }
+
+    @PostMapping("/base/coupon/getRedeemedNums")
+    public int getRedeemedQuantity(@RequestBody Integer id){
+        return ucService.count(new QueryWrapper<UserCoupon>()
+                .eq("couponId",id));
+    }
+
+
+    @PostMapping("/base/coupon/insertToAppuserCoupon")
+    public void insertToAppuserCoupon(@RequestBody UserCoupon coupon){
+        ucService.save(coupon);
+    }
+
+
+
+    @ResponseBody
+    @PostMapping("/base/coupon/queryCouponListSearch")
+    public List<Map<String,Object>> getCouponListOfSearch(@RequestBody CouponListOfSearch ofSearch){
+        List<Map<String, Object>> mapList = couponService.queryCouponListOfSearch(ofSearch);
+        if (mapList.size() > 0){
+            for (Map<String, Object> stringObjectMap : mapList) {
+                Integer o = (Integer) stringObjectMap.get("id");
+                Object startTime = stringObjectMap.get("startTime");
+                Object endTime = stringObjectMap.get("endTime");
+                stringObjectMap.put("timeValue",startTime + "至"+endTime);
+                int count = ucService.count(new LambdaQueryWrapper<UserCoupon>()
+                        .eq(UserCoupon::getCouponId, o));
+                stringObjectMap.put("hasPickQty",count);
+            }
+        }
+        return mapList;
+    }
+
+
 }

--
Gitblit v1.7.1