提交 c3664d49 authored 作者: 吴德鹏's avatar 吴德鹏

Optimized coupons

上级 55dafdf3
...@@ -8,8 +8,8 @@ import com.example.afrishop_v3.repository.TbCfToicouponRepository; ...@@ -8,8 +8,8 @@ import com.example.afrishop_v3.repository.TbCfToicouponRepository;
import com.example.afrishop_v3.security.services.AuthenticationUser; import com.example.afrishop_v3.security.services.AuthenticationUser;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.LinkedHashMap; import java.math.BigDecimal;
import java.util.List; import java.util.*;
@RestController @RestController
@RequestMapping("/coupon") @RequestMapping("/coupon")
...@@ -24,36 +24,36 @@ public class CouponController { ...@@ -24,36 +24,36 @@ public class CouponController {
@GetMapping @GetMapping
public Result getUserCoupons(){ public Result getUserCoupons() {
return queryCouponByUserId(user.userId()); return queryCouponByUserId(user.userId());
} }
@GetMapping("queryCouponByUserId") @GetMapping("queryCouponByUserId")
public Result queryCouponByUserId(@RequestParam("userId") String userId){ public Result queryCouponByUserId(@RequestParam("userId") String userId) {
List<TbCfToicoupon> availableCoupons = repository.queryUserAvailableCoupon(userId); List<TbCfToicoupon> availableCoupons = repository.queryUserAvailableCoupon(userId);
List<TbCfToicoupon> expiredCoupons = repository.queryUserExpiredCoupon(userId); List<TbCfToicoupon> expiredCoupons = repository.queryUserExpiredCoupon(userId);
List<TbCfToicoupon> usedCoupons = repository.queryUserUsedCoupon(userId); List<TbCfToicoupon> usedCoupons = repository.queryUserUsedCoupon(userId);
LinkedHashMap<String, Object> hashMap = new LinkedHashMap<>(); LinkedHashMap<String, Object> hashMap = new LinkedHashMap<>();
hashMap.put("validCouponList",availableCoupons); hashMap.put("validCouponList", availableCoupons);
hashMap.put("usedCouponList",usedCoupons); hashMap.put("usedCouponList", usedCoupons);
hashMap.put("expiredCouponList",expiredCoupons); hashMap.put("expiredCouponList", expiredCoupons);
return new Result<>(hashMap); return new Result<>(hashMap);
} }
@GetMapping("{couponId}") @GetMapping("{couponId}")
public Result queryCouponDetails(@PathVariable("couponId") String couponId){ public Result queryCouponDetails(@PathVariable("couponId") String couponId) {
return new Result<>(repository.findById(couponId)); return new Result<>(repository.findById(couponId));
} }
@GetMapping("take/{couponId}") @GetMapping("take/{couponId}")
public Result couponTake(@PathVariable("couponId") String couponId){ public Result couponTake(@PathVariable("couponId") String couponId) {
// TODO // TODO
//TbCfCouponEntity tbCfCouponEntity=grabCoupon(couponId); //TbCfCouponEntity tbCfCouponEntity=grabCoupon(couponId);
// if(tbCfCouponEntity!=null) { // if(tbCfCouponEntity!=null) {
...@@ -63,6 +63,34 @@ public class CouponController { ...@@ -63,6 +63,34 @@ public class CouponController {
// //result.setMessage("Successfully received"); // //result.setMessage("Successfully received");
// } else { // } else {
// } // }
return new Result(ResultCodeEnum.ERROR.getCode(),"The coupon has been snapped up"); return new Result(ResultCodeEnum.ERROR.getCode(), "The coupon has been snapped up");
}
/**
* 查询用户未使用的优惠券,可用的排在顶部
*
* @param orderPrice
* @return
*/
@GetMapping("/selectCoupon")
public Result queryUserAvailableCoupons(@RequestParam("orderPrice") BigDecimal orderPrice) {
Map<String, Object> couponMap = new HashMap<>();
//可使用的优惠券
LinkedList<TbCfToicoupon> availableCoupon = new LinkedList();
//不可使用的优惠券
LinkedList<TbCfToicoupon> unAvailableCoupon = new LinkedList();
List<TbCfToicoupon> couponList = repository.queryUserAvailableCoupon(user.userId());
couponList.forEach(coupon -> {
boolean available = orderPrice.compareTo(coupon.withAmount()) >= 0;
if (available) {
availableCoupon.add(coupon);
} else {
unAvailableCoupon.add(coupon);
}
});
couponMap.put("availableCoupon", availableCoupon);
couponMap.put("unAvailableCoupon", unAvailableCoupon);
return new Result(couponMap);
} }
} }
server:
servlet:
context-path: /afrishop
port: 8099
spring: spring:
datasource: datasource:
url: jdbc:mysql://47.106.242.175:3306/afrishop_test?useUnicode=true&connectionCollation=utf8mb4_general_ci&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC url: jdbc:mysql://159.138.48.71:3306/chinafrica_ref?useUnicode=true&connectionCollation=utf8mb4_general_ci&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
username: root username: root
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
password: diaoyun666 password: Diaoyunnuli.8
redis: redis:
#Redis数据库分片索引(默认为0) #Redis数据库分片索引(默认为0)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论