Browse Source

[券码详情][修改]:券码详情

release_toaliyun_real
Stormeye Wu 6 years ago
parent
commit
40ae164410
5 changed files with 68 additions and 5 deletions
  1. +46
    -4
      mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java
  2. +1
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java
  3. +2
    -0
      mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java
  4. +8
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java
  5. +11
    -1
      mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml

+ 46
- 4
mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java View File

@@ -9,12 +9,14 @@ import com.iformall.domain.po.base.BaseEntity;
import com.iformall.domain.po.WxCouponOrder; import com.iformall.domain.po.WxCouponOrder;
import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.WxCardCVo; import com.iformall.domain.vo.WxCardCVo;
import com.iformall.domain.vo.WxCouponCVo;
import com.iformall.domain.vo.WxCouponOrderCVo; import com.iformall.domain.vo.WxCouponOrderCVo;
import com.iformall.enums.EnumCouponChannelActivityStatus; import com.iformall.enums.EnumCouponChannelActivityStatus;
import com.iformall.enums.EnumCouponOrderStatus; import com.iformall.enums.EnumCouponOrderStatus;
import com.iformall.enums.EnumCouponOrderValidStatus; import com.iformall.enums.EnumCouponOrderValidStatus;
import com.iformall.service.MemCouponFromDspService; import com.iformall.service.MemCouponFromDspService;
import com.iformall.service.WxCouponOrderService; import com.iformall.service.WxCouponOrderService;
import com.iformall.service.WxCouponService;
import com.iformall.utils.Constant; import com.iformall.utils.Constant;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
@@ -24,7 +26,10 @@ import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;


import java.util.*; import java.util.*;
@@ -35,12 +40,18 @@ import java.util.*;
public class WxCouponOrderController extends BaseController { public class WxCouponOrderController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());


@Autowired
private WxCouponService wxCouponService;
@Autowired @Autowired
private WxCouponOrderService wxCouponOrderService; private WxCouponOrderService wxCouponOrderService;


@Autowired @Autowired
private MemCouponFromDspService memCouponFromDspService; private MemCouponFromDspService memCouponFromDspService;


@Autowired
@Qualifier("couponDetailRedisTemplate")
RedisTemplate<String, WxCouponCVo> cdRedisTemplate;

@Autowired @Autowired
StringRedisTemplate stringRedisTemplate; StringRedisTemplate stringRedisTemplate;


@@ -82,7 +93,7 @@ public class WxCouponOrderController extends BaseController {
return new ResultData(page); return new ResultData(page);
} }


@RedisCache(expireTime = 300)
@RedisCache(expireTime = 100)
@ApiOperation(value = "券详情接口") @ApiOperation(value = "券详情接口")
@GetMapping("detail") @GetMapping("detail")
@ApiImplicitParams({ @ApiImplicitParams({
@@ -94,15 +105,46 @@ public class WxCouponOrderController extends BaseController {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
} }


WxCouponOrderCVo wxCouponOrderCVo = wxCouponOrderService.detailCUserVo(couponOrderId);

WxCouponOrderCVo wxCouponOrderCVo = wxCouponOrderService.simpleDetailCUserVo(couponOrderId);
if (wxCouponOrderCVo == null) { if (wxCouponOrderCVo == null) {
return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL);
} }

if (!wxCouponOrderCVo.getCUserId().equals(getUserId())) { if (!wxCouponOrderCVo.getCUserId().equals(getUserId())) {
return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL);
} }
WxCouponCVo wxCouponCVo = null;
String key = "cd:" + wxCouponOrderCVo.getCouponId();
ValueOperations<String, WxCouponCVo> operations = cdRedisTemplate.opsForValue();
// 缓存
boolean hasKey = cdRedisTemplate.hasKey(key);
if (hasKey) {
// 从缓存获取用户信息
wxCouponCVo = operations.get(key);
if (wxCouponCVo == null) {
return new ResultData(ErrorCode.COUPON_IS_EMPTY);
}
} else {
wxCouponCVo = wxCouponService.getVoById(wxCouponOrderCVo.getCouponId());
if (wxCouponCVo == null) {
return new ResultData(ErrorCode.COUPON_IS_EMPTY);
}
}

wxCouponOrderCVo.setType(wxCouponCVo.getType());
wxCouponOrderCVo.setCoverImg(wxCouponCVo.getCoverImg());
wxCouponOrderCVo.setTitle(wxCouponCVo.getTitle());
wxCouponOrderCVo.setSubTitle(wxCouponCVo.getSubTitle());
wxCouponOrderCVo.setSalePrice(wxCouponCVo.getSalePrice());
wxCouponOrderCVo.setUsePrice(wxCouponCVo.getUsePrice());
wxCouponOrderCVo.setPrice(wxCouponCVo.getPrice());
wxCouponOrderCVo.setUnit(wxCouponCVo.getUnit());
wxCouponOrderCVo.setDetail(wxCouponCVo.getDetail());
wxCouponOrderCVo.setRemark(wxCouponCVo.getRemark());
wxCouponOrderCVo.setValidType(wxCouponCVo.getValidType());
wxCouponOrderCVo.setValidStartDate(wxCouponCVo.getValidStartDate());
wxCouponOrderCVo.setValidEndDate(wxCouponCVo.getValidEndDate());
wxCouponOrderCVo.setAutoRefund(wxCouponCVo.getAutoRefund());

Date now = new Date(); Date now = new Date();
if (wxCouponOrderCVo.getValidStartDate() != null && wxCouponOrderCVo.getValidEndDate() != null ) { if (wxCouponOrderCVo.getValidStartDate() != null && wxCouponOrderCVo.getValidEndDate() != null ) {
if (wxCouponOrderCVo.getValidStartDate().getTime() > now.getTime()) { if (wxCouponOrderCVo.getValidStartDate().getTime() > now.getTime()) {


+ 1
- 0
mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java View File

@@ -41,6 +41,7 @@ public interface WxCouponOrderMapper extends CommonMapper<WxCouponOrder, Long> {


List<WxCouponOrderCVo> findListOfCUser(WxCouponOrder wxCouponOrder); List<WxCouponOrderCVo> findListOfCUser(WxCouponOrder wxCouponOrder);
WxCouponOrderCVo findDetailOfCUser(@Param("id")Long id); WxCouponOrderCVo findDetailOfCUser(@Param("id")Long id);
WxCouponOrderCVo findSimpleDetailOfCUser(@Param("id")Long id);
List<WxCouponOrderBVo> findListOfAdmin(WxCouponOrderBVo wxCouponOrder); List<WxCouponOrderBVo> findListOfAdmin(WxCouponOrderBVo wxCouponOrder);
WxCouponOrderBVo findDetailOfAdmin(@Param("id")Long id); WxCouponOrderBVo findDetailOfAdmin(@Param("id")Long id);




+ 2
- 0
mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java View File

@@ -123,6 +123,8 @@ public interface WxCouponOrderService {
*/ */
WxCouponOrderCVo detailCUserVo(String couponOrderId); WxCouponOrderCVo detailCUserVo(String couponOrderId);


WxCouponOrderCVo simpleDetailCUserVo(String couponOrderId);

/** /**
* C用户查券carlist * C用户查券carlist
* *


+ 8
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java View File

@@ -240,6 +240,14 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
return wxCouponOrderCVo; return wxCouponOrderCVo;
} }


@Override
public WxCouponOrderCVo simpleDetailCUserVo(String couponOrderId) {
WxCouponOrderCVo wxCouponOrderCVo = wxCouponOrderMapper.findSimpleDetailOfCUser(Long.valueOf(couponOrderId));
if (wxCouponOrderCVo == null)
throw new MallinkException(ErrorCode.COUPON_ORDER_IS_NULL);
return wxCouponOrderCVo;
}



@Override @Override
public ResultData carListCUserVoAsPage(WxCouponOrder record, Integer pageIndex, Integer pageSize) { public ResultData carListCUserVoAsPage(WxCouponOrder record, Integer pageIndex, Integer pageSize) {


+ 11
- 1
mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml View File

@@ -868,6 +868,10 @@
c.type,c.cover_img,c.title,c.sub_title,c.sale_price,c.use_price,c.price,c.unit,c.detail,c.remark,c.valid_type,c.valid_start_date,c.valid_end_date,c.auto_refund c.type,c.cover_img,c.title,c.sub_title,c.sale_price,c.use_price,c.price,c.unit,c.detail,c.remark,c.valid_type,c.valid_start_date,c.valid_end_date,c.auto_refund
</sql> </sql>


<sql id="simpleCUserCouponOrderDetailColumns">
co.id,co.tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.verify_type
</sql>

<resultMap id="CVoResultMap" type="com.iformall.domain.vo.WxCouponOrderCVo"> <resultMap id="CVoResultMap" type="com.iformall.domain.vo.WxCouponOrderCVo">
<id column="id" jdbcType="BIGINT" property="id" /> <id column="id" jdbcType="BIGINT" property="id" />
<result column="tenant_id" jdbcType="BIGINT" property="tenantId" /> <result column="tenant_id" jdbcType="BIGINT" property="tenantId" />
@@ -941,11 +945,17 @@


<select id="findDetailOfCUser" parameterType="java.lang.Long" resultMap="CVoResultMap"> <select id="findDetailOfCUser" parameterType="java.lang.Long" resultMap="CVoResultMap">
select <include refid="allCUserCouponOrderDetailColumns" /> select <include refid="allCUserCouponOrderDetailColumns" />
from wx_coupon_order co,wx_coupon c
from wx_coupon_order co, wx_coupon c
where co.coupon_id = c.id where co.coupon_id = c.id
and co.id = #{id} and co.id = #{id}
</select> </select>


<select id="findSimpleDetailOfCUser" parameterType="java.lang.Long" resultMap="CVoResultMap">
select <include refid="simpleCUserCouponOrderDetailColumns" />
from wx_coupon_order co
where co.id = #{id}
</select>

<select id="findAvailCouponOrder" parameterType="java.util.Map" resultMap="CVoResultMap"> <select id="findAvailCouponOrder" parameterType="java.util.Map" resultMap="CVoResultMap">
select <include refid="allCUserCouponOrderDetailColumns" /> select <include refid="allCUserCouponOrderDetailColumns" />
from wx_coupon_order co from wx_coupon_order co


Loading…
Cancel
Save