Просмотр исходного кода

[砍价][新增]:砍价状态判断

release_toaliyun_real
Stormeye Wu 7 лет назад
Родитель
Сommit
99b19c36ed
4 измененных файлов: 94 добавлений и 0 удалений
  1. +32
    -0
      mallinkCApi/src/main/java/com/iformall/controller/WxPressOrderController.java
  2. +39
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumOrderPressStatus.java
  3. +7
    -0
      mallinkService/src/main/java/com/iformall/service/WxOrderPressService.java
  4. +16
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxOrderPressServiceImpl.java

+ 32
- 0
mallinkCApi/src/main/java/com/iformall/controller/WxPressOrderController.java Просмотреть файл

@@ -5,6 +5,7 @@ import com.iformall.common.ResultData;
import com.iformall.domain.po.WxCUser;
import com.iformall.domain.po.WxCoupon;
import com.iformall.domain.po.WxOrder;
import com.iformall.enums.EnumOrderPressStatus;
import com.iformall.exception.MallinkException;
import com.iformall.service.WxCouponService;
import com.iformall.service.WxOrderPressService;
@@ -18,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

@RestController
@@ -90,6 +92,36 @@ public class WxPressOrderController extends BaseController {
return new ResultData();
}

@ApiOperation(value = "砍价状态(1:我发起的砍价,2:未参与的砍价, 3:已参与的砍价)", notes = "{\"orderId\":\"String\"}")
@PostMapping("getPressOrderStatus")
public ResultData getPressOrderStatus(@RequestBody Map<String, String> paramMap) {
Map ret = new HashMap();
String orderIdStr = paramMap.get("orderId");
if (StringUtils.isBlank(orderIdStr)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "orderId不能为空");
}
Long orderId = 0L;
try {
orderId = Long.valueOf(orderIdStr);
} catch (NumberFormatException e) {
logger.error("orderId convert error, " + orderIdStr + ", e:" + e.getMessage());
return new ResultData(ErrorCode.SYS_PARAMETER_CAST_ERROR.getCode(), "orderId: " + orderIdStr + ", e:" + e.getMessage());
}
WxCUser user = getUser();
WxOrder order = wxOrderService.getById(orderId);
if(order == null) {
logger.error("订单不存在:" + orderId);
return new ResultData(ErrorCode.ORDER_IS_NOT_FIND);
}
if(order.getcUserId().equals(user.getId())) {
ret.put("status", EnumOrderPressStatus.FIRST.getCode());
return new ResultData(ret);
}
int status = wxOrderPressService.pressCouponStatus(order, user);
ret.put("status", status);
return new ResultData(ret);
}

/// 砍价 - 统计 相关 ??????




+ 39
- 0
mallinkService/src/main/java/com/iformall/enums/EnumOrderPressStatus.java Просмотреть файл

@@ -0,0 +1,39 @@
package com.iformall.enums;


/**
* @author gongbiao
*/

public enum EnumOrderPressStatus {

FIRST(1,"我发起的砍价"),
NOT_JOIN(2,"未参与的砍价"),
HAD_JOIN(3, "已参与的砍价")
;

public static EnumOrderPressStatus getEnum(Integer code) {
for (EnumOrderPressStatus value : values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}

private Integer code;
private String message;

EnumOrderPressStatus(Integer code, String message) {
this.code = code;
this.message = message;
}

public Integer getCode() {
return code;
}

public String getMessage() {
return message;
}
}

+ 7
- 0
mallinkService/src/main/java/com/iformall/service/WxOrderPressService.java Просмотреть файл

@@ -48,6 +48,13 @@ public interface WxOrderPressService {
* @param user
*/
void pressCouponJoin(WxOrder order, WxCoupon coupon, WxCUser user);

/**
* 检查用户砍价状态
* @param order
* @param user
*/
int pressCouponStatus(WxOrder order, WxCUser user);


+ 16
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxOrderPressServiceImpl.java Просмотреть файл

@@ -8,6 +8,7 @@ import com.iformall.domain.po.WxCUser;
import com.iformall.domain.po.WxCoupon;
import com.iformall.domain.po.WxOrder;
import com.iformall.domain.po.WxOrderPress;
import com.iformall.enums.EnumOrderPressStatus;
import com.iformall.enums.EnumOrderPressType;
import com.iformall.enums.EnumOrderStatus;
import com.iformall.exception.MallinkException;
@@ -116,6 +117,21 @@ public class WxOrderPressServiceImpl implements WxOrderPressService {
throw new MallinkException(ErrorCode.DB_FAIL);
}
}

@Override
public int pressCouponStatus(WxOrder order, WxCUser user) {
// 检查此人是否已参与砍价
WxOrderPress orderPressQ = new WxOrderPress();
orderPressQ.setTenantId(order.getTenantId());
orderPressQ.setOrderId(order.getId());
orderPressQ.setUserId(user.getId());
int count = wxOrderPressMapper.selectCount(orderPressQ);
if(count >= 1) {
logger.info("用户已参与砍价: " + user.getId());
return EnumOrderPressStatus.HAD_JOIN.getCode();
}
return EnumOrderPressStatus.NOT_JOIN.getCode();
}


Загрузка…
Отмена
Сохранить