Browse Source

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

release_toaliyun_real
Stormeye Wu 7 years ago
parent
commit
99b19c36ed
4 changed files with 94 additions and 0 deletions
  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 View File

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


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


@RestController @RestController
@@ -90,6 +92,36 @@ public class WxPressOrderController extends BaseController {
return new ResultData(); 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 View File

@@ -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 View File

@@ -48,6 +48,13 @@ public interface WxOrderPressService {
* @param user * @param user
*/ */
void pressCouponJoin(WxOrder order, WxCoupon coupon, WxCUser 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 View File

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


Loading…
Cancel
Save