记得上下班打卡 | git大法好,push需谨慎

Commit 1faac76d authored by 胡佳晨's avatar 胡佳晨

提交下单 接口 暂时无消费

parent fc1bd9c1
...@@ -11,6 +11,8 @@ public class StoneConstant { ...@@ -11,6 +11,8 @@ public class StoneConstant {
public static final String LOGS_LIST=ITEM.concat("logs:list:"); public static final String LOGS_LIST=ITEM.concat("logs:list:");
//orderList 积分订单列表 //orderList 积分订单列表
public static final String ORDER_LIST=ITEM.concat("order:list:"); public static final String ORDER_LIST=ITEM.concat("order:list:");
//orderList 积分订单列表
public static final String ORDER_DETAILS=ITEM.concat("order:details:");
//剩余库存 //剩余库存
public static final String SURPLUS_GENERAL = ":surplusGeneral"; public static final String SURPLUS_GENERAL = ":surplusGeneral";
......
...@@ -2,10 +2,12 @@ package com.liquidnet.service.stone.controller; ...@@ -2,10 +2,12 @@ package com.liquidnet.service.stone.controller;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.stone.service.IStoneScoreOrderService;
import com.liquidnet.service.stone.vo.StoneOrderListVo; import com.liquidnet.service.stone.vo.StoneOrderListVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -18,18 +20,21 @@ import java.util.List; ...@@ -18,18 +20,21 @@ import java.util.List;
@Validated @Validated
public class StoneOrderController { public class StoneOrderController {
@Autowired
IStoneScoreOrderService stoneScoreOrderService;
@PostMapping("pre") @PostMapping("pre")
@ApiOperation("纯积分商品下单") @ApiOperation("纯积分商品下单")
@ApiResponse(code = 200, message = "接口返回对象参数") @ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> order(@RequestParam("itemId") @Valid String itemId, public ResponseDto<String> order(@RequestParam("itemId") @Valid String itemId,
@RequestParam("number") @Valid Integer number) { @RequestParam("number") @Valid Integer number) {
return ResponseDto.success(); return stoneScoreOrderService.order(itemId,number);
} }
@GetMapping("list") @GetMapping("list")
@ApiOperation("积分订单列表") @ApiOperation("积分订单列表")
@ApiResponse(code = 200, message = "接口返回对象参数") @ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PageInfo<List<StoneOrderListVo>>> orderList(@RequestParam("page") @Valid Integer page) { public ResponseDto<PageInfo<List<StoneOrderListVo>>> orderList(@RequestParam("page") @Valid Integer page) {
return ResponseDto.success(); return ResponseDto.success(stoneScoreOrderService.orderList(page));
} }
} }
...@@ -68,6 +68,8 @@ public class StoneScoreOrderServiceImpl implements IStoneScoreOrderService { ...@@ -68,6 +68,8 @@ public class StoneScoreOrderServiceImpl implements IStoneScoreOrderService {
} }
//增加限购 //增加限购
stoneRedisUtils.addItemLimit(uid, itemId, number); stoneRedisUtils.addItemLimit(uid, itemId, number);
//减少库存
stoneRedisUtils.changeStoneGeneralSurplus(itemId,-number);
//下单 //下单
StoneScoreOrder order = StoneScoreOrder.getNew(); StoneScoreOrder order = StoneScoreOrder.getNew();
order.setOrderId(IDGenerator.nextTimeId()); order.setOrderId(IDGenerator.nextTimeId());
...@@ -93,12 +95,12 @@ public class StoneScoreOrderServiceImpl implements IStoneScoreOrderService { ...@@ -93,12 +95,12 @@ public class StoneScoreOrderServiceImpl implements IStoneScoreOrderService {
order.setCreatedAt(LocalDateTime.now()); order.setCreatedAt(LocalDateTime.now());
//redis //redis
StoneOrderListVo listVo = StoneOrderListVo.getNew().copy(order, data.getImg()); StoneOrderListVo listVo = StoneOrderListVo.getNew().copy(order, data.getImg());
stoneRedisUtils.setOrderDetails(uid, listVo); stoneRedisUtils.setOrderDetails(listVo.getOrderId(), listVo);
stoneRedisUtils.addOrderList(uid, listVo); stoneRedisUtils.addOrderList(uid, listVo);
//mongo //mongo
stoneMongoUtils.orderCreate(listVo); stoneMongoUtils.orderCreate(listVo);
//TODO mysql //TODO mysql
return null; return ResponseDto.success("下单成功");
} }
@Override @Override
......
...@@ -290,11 +290,11 @@ public class StoneRedisUtils { ...@@ -290,11 +290,11 @@ public class StoneRedisUtils {
/** /**
* 覆盖 积分订单数据 * 覆盖 积分订单数据
* *
* @param uid * @param orderId
* @param data * @param data
*/ */
public void setOrderDetails(String uid, StoneOrderListVo data) { public void setOrderDetails(String orderId, StoneOrderListVo data) {
String redisKey = StoneConstant.ORDER_LIST.concat(uid); String redisKey = StoneConstant.ORDER_DETAILS.concat(orderId);
redisUtil.set(redisKey, data); redisUtil.set(redisKey, data);
} }
...@@ -302,7 +302,7 @@ public class StoneRedisUtils { ...@@ -302,7 +302,7 @@ public class StoneRedisUtils {
* 获取 订单 缓存list * 获取 订单 缓存list
*/ */
public List<StoneOrderListVo> getOrderList(String uid) { public List<StoneOrderListVo> getOrderList(String uid) {
String redisKey = StoneConstant.LOGS_LIST.concat(uid); String redisKey = StoneConstant.ORDER_LIST.concat(uid);
Object obj = redisUtil.get(redisKey); Object obj = redisUtil.get(redisKey);
if (obj == null) { if (obj == null) {
return (List<StoneOrderListVo>) mongoUtils.orderList(uid, 1, 40).get("data"); return (List<StoneOrderListVo>) mongoUtils.orderList(uid, 1, 40).get("data");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment