提交 fe99d0c0 authored 作者: zhengfg's avatar zhengfg

1、加入获取用户优惠券接口

2、删除订单
3、订单状态过滤
4、修复生成id bug
上级 c42918cc
......@@ -3,6 +3,7 @@ package com.diaoyun.zion.chinafrica.controller;
import com.diaoyun.zion.chinafrica.constant.KeyConstant;
import com.diaoyun.zion.chinafrica.entity.TbCfCouponEntity;
import com.diaoyun.zion.chinafrica.service.TbCfCouponService;
import com.diaoyun.zion.chinafrica.vo.UserCouponVo;
import com.diaoyun.zion.master.base.Result;
import com.diaoyun.zion.master.common.RedisCache;
import io.swagger.annotations.Api;
......@@ -26,7 +27,7 @@ import java.util.concurrent.Executors;
*/
@Api(tags = "优惠券")
@RestController
@RequestMapping("coupon")
@RequestMapping("/coupon")
public class TbCfCouponController {
@Autowired
private TbCfCouponService tbCfCouponService;
......@@ -37,6 +38,11 @@ public class TbCfCouponController {
return tbCfCouponService.takeCoupon(couponId);
}
@ApiOperation("获取用户所有优惠券")
@GetMapping
public Result<UserCouponVo> getUserCoupons() {
return tbCfCouponService.getUserCoupons();
}
}
......@@ -48,14 +48,15 @@ public class TbCfOrderController {
@ApiOperation("获取用户订单 默认10条")
@GetMapping
public Result<PageInfo> getUserOrderList(@ApiParam(value = "页数") @RequestParam(required = false) Integer pageNum,
@ApiParam(value ="每页大小") @RequestParam(required = false) Integer pageSize) {
@ApiParam(value ="每页大小") @RequestParam(required = false) Integer pageSize,
@ApiParam(value = "订单状态") @RequestParam(required = false)Integer orderStatus) {
if (pageNum == null) {
pageNum = 1;
}
if (pageSize == null) {
pageSize = 10;
}
return tbCfOrderService.getUserOrderList(pageNum, pageSize);
return tbCfOrderService.getUserOrderList(pageNum, pageSize,orderStatus);
}
@ApiOperation("获取stripe公钥")
......@@ -76,11 +77,9 @@ public class TbCfOrderController {
return tbCfOrderService.queryOrderExpressInfo(orderId);
}
/*
@ApiOperation("取消订单")
@DeleteMapping
public Result cancelOrder*/
@ApiOperation("删除订单")
@DeleteMapping("/{orderId}")
public Result deleteOrder(@ApiParam("订单id") @PathVariable String orderId) {
return tbCfOrderService.deleteOrder(orderId);
}
}
......@@ -28,4 +28,18 @@ public interface TbCfCouponDao extends BaseDao<TbCfCouponEntity> {
* @return
*/
int updateUsedCount(String couponId);
/**
* 获取已使用的优惠券
* @param userId
* @return
*/
List<TbCfCouponEntity> queryUserUsedCoupon(String userId);
/**
* 获取已过期的优惠券
* @param userId
* @return
*/
List<TbCfCouponEntity> queryUserExpiredoupon(String userId, Date nowTime);
}
......@@ -19,9 +19,10 @@ public interface TbCfOrderDao extends BaseDao<TbCfOrderEntity> {
/**
* 获取用户订单数据
* @param userId
* @param orderStatus OrderStatusEnum
* @return
*/
List<TbCfOrderEntity> getUserOrderList(String userId);
List<TbCfOrderEntity> getUserOrderList(String userId,Integer orderStatus);
/**
* 获取订单内商品
......
......@@ -122,6 +122,10 @@ public class TbCfOrderEntity implements Serializable {
* 支付状态,0未支付,1已支付
*/
private Integer payStatus;
/**
* 删除状态,0删除,1删除
*/
private Integer enableFlag;
/**
* 设置:订单id
......@@ -469,4 +473,12 @@ public class TbCfOrderEntity implements Serializable {
public void setTax(BigDecimal tax) {
this.tax = tax;
}
public Integer getEnableFlag() {
return enableFlag;
}
public void setEnableFlag(Integer enableFlag) {
this.enableFlag = enableFlag;
}
}
package com.diaoyun.zion.chinafrica.service;
import com.diaoyun.zion.chinafrica.entity.TbCfCouponEntity;
import com.diaoyun.zion.chinafrica.vo.UserCouponVo;
import com.diaoyun.zion.master.base.Result;
import java.util.List;
......@@ -76,4 +77,10 @@ public interface TbCfCouponService {
* @return
*/
Result takeCoupon(String couponId);
/**
* 获取用户所有优惠券
* @return
*/
Result<UserCouponVo> getUserCoupons();
}
......@@ -93,10 +93,10 @@ public interface TbCfOrderService {
/**
* 获取用户订单列表
*
* @param orderStatus 订单状态 OrderStatusEnum
* @return
*/
Result getUserOrderList(Integer pageNum, Integer pageSize);
Result getUserOrderList(Integer pageNum, Integer pageSize,Integer orderStatus);
/**
* 取消订单
......@@ -155,4 +155,11 @@ public interface TbCfOrderService {
* @return
*/
Result getOrderDetail(String orderId);
/**
* 删除订单 伪删除
* @param orderId
* @return
*/
Result deleteOrder(String orderId);
}
......@@ -7,6 +7,7 @@ import com.diaoyun.zion.chinafrica.entity.TbCfCouponEntity;
import com.diaoyun.zion.chinafrica.entity.TbCfTakeCouponEntity;
import com.diaoyun.zion.chinafrica.service.TbCfCouponService;
import com.diaoyun.zion.chinafrica.vo.TbCfUserInfoVo;
import com.diaoyun.zion.chinafrica.vo.UserCouponVo;
import com.diaoyun.zion.master.base.Result;
import com.diaoyun.zion.master.base.StateConstant;
import com.diaoyun.zion.master.common.RedisCache;
......@@ -117,6 +118,24 @@ public class TbCfCouponServiceImpl implements TbCfCouponService {
return result;
}
@Override
public Result<UserCouponVo> getUserCoupons() {
UserCouponVo userCouponVo = new UserCouponVo();
//获取用户
String token = jwtTokenProvider.resolveToken(request);
TbCfUserInfoVo tbCfUserInfoVo = tokenManager.validate(token);
//获取可以使用的优惠券
List<TbCfCouponEntity> validCouponList = tbCfCouponDao.queryUserAvailableCoupon(tbCfUserInfoVo.getUserId(), new Date());
//获取已使用的优惠券
List<TbCfCouponEntity> usedCouponList = tbCfCouponDao.queryUserUsedCoupon(tbCfUserInfoVo.getUserId());
//获取已过期的优惠券
List<TbCfCouponEntity> expiredCouponList = tbCfCouponDao.queryUserExpiredoupon(tbCfUserInfoVo.getUserId(), new Date());
userCouponVo.setExpiredCouponList(expiredCouponList);
userCouponVo.setUsedCouponList(usedCouponList);
userCouponVo.setValidCouponList(validCouponList);
return new Result<>(userCouponVo);
}
/**
* 抢优惠券
* 若能抢到,则返回优惠券,否则返回空
......
......@@ -177,13 +177,13 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
}
@Override
public Result getUserOrderList(Integer pageNum, Integer pageSize) {
public Result getUserOrderList(Integer pageNum, Integer pageSize,Integer orderStatus) {
Result<PageInfo<TbCfOrderVo>> result = new Result<>();
//获取用户
String token = jwtTokenProvider.resolveToken(request);
TbCfUserInfoVo tbCfUserInfoVo = tokenManager.validate(token);
//订单数据
List<TbCfOrderEntity> orderList = tbCfOrderDao.getUserOrderList(tbCfUserInfoVo.getUserId());
List<TbCfOrderEntity> orderList = tbCfOrderDao.getUserOrderList(tbCfUserInfoVo.getUserId(),orderStatus);
startPage(pageNum, pageSize);
PageInfo<TbCfOrderEntity> pageInfo = new PageInfo<>(orderList);
//获取订单后,再获取订单内商品
......@@ -350,6 +350,22 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
return result;
}
@Override
public Result deleteOrder(String orderId) {
Result result = new Result();
TbCfOrderEntity tbCfOrder = new TbCfOrderEntity();
tbCfOrder.setOrderId(orderId);
tbCfOrder.setUpdateTime(new Date());
tbCfOrder.setEnableFlag(StateConstant.INVALID);
int res=tbCfOrderDao.update(tbCfOrder);
if(res>0) {
result.setMessage(ResultCodeEnum.SUCCESS.getDesc());
} else {
result.setCode(ResultCodeEnum.DAO_ERROR.getCode()).setMessage(ResultCodeEnum.DAO_ERROR.getDesc());
}
return result;
}
/**
* 记录财务流水
*
......@@ -556,6 +572,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
definiteOrder.setUserId(tbCfUserInfoVo.getUserId());
definiteOrder.setUserName(tbCfUserInfoVo.getNick());
definiteOrder.setPayStatus(OrderStatusEnum.PENDING_PAY.getValue());
definiteOrder.setEnableFlag(StateConstant.VALID);
}
return definiteOrder;
}
......
......@@ -171,6 +171,10 @@ public class TbCfOrderVo implements Serializable {
*/
@ApiModelProperty("订单中的商品")
private List<TbCfCartItemDetailVo> itemDetailList;
/**
* 删除状态,0删除,1删除
*/
private Integer enableFlag;
/**
* 设置:订单id
......@@ -542,4 +546,12 @@ public class TbCfOrderVo implements Serializable {
public void setItemDetailList(List<TbCfCartItemDetailVo> itemDetailList) {
this.itemDetailList = itemDetailList;
}
public Integer getEnableFlag() {
return enableFlag;
}
public void setEnableFlag(Integer enableFlag) {
this.enableFlag = enableFlag;
}
}
package com.diaoyun.zion.chinafrica.vo;
import com.diaoyun.zion.chinafrica.entity.TbCfCouponEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
/**
* 用户优惠券
*
*/
@ApiModel
public class UserCouponVo {
/**
* 可用
*/
@ApiModelProperty("可用优惠券")
private List<TbCfCouponEntity> validCouponList;
/**
* 已使用
*/
@ApiModelProperty("已使用优惠券")
private List<TbCfCouponEntity> usedCouponList;
/**
* 过期
*/
@ApiModelProperty("过期优惠券")
private List<TbCfCouponEntity> expiredCouponList;
public List<TbCfCouponEntity> getValidCouponList() {
return validCouponList;
}
public void setValidCouponList(List<TbCfCouponEntity> validCouponList) {
this.validCouponList = validCouponList;
}
public List<TbCfCouponEntity> getUsedCouponList() {
return usedCouponList;
}
public void setUsedCouponList(List<TbCfCouponEntity> usedCouponList) {
this.usedCouponList = usedCouponList;
}
public List<TbCfCouponEntity> getExpiredCouponList() {
return expiredCouponList;
}
public void setExpiredCouponList(List<TbCfCouponEntity> expiredCouponList) {
this.expiredCouponList = expiredCouponList;
}
}
......@@ -28,12 +28,12 @@ public class IdUtil {
*
* @return 流水号
*/
public static Long createLongIdByDate() {
public static long createLongIdByDate() {
// 精确到毫秒
SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMddHHmmssSSS");
String suffix = fmt.format(new Date());
suffix = suffix+ (Math.random() * 100);
return Long.valueOf(suffix);
String prefix=String.valueOf(Math.round(Math.random() * 100));
return Long.valueOf(suffix+prefix);
}
/**
......
......@@ -184,7 +184,7 @@
<!--查询用户所有有效的优惠券-->
<select id="queryUserAvailableCoupon" resultType="com.diaoyun.zion.chinafrica.entity.TbCfCouponEntity">
select t2.* from tb_cf_take_coupon t1,tb_cf_coupon t2 where t1.user_id=#{userId} and t1.coupon_id=t2.coupon_id
and <![CDATA[ t2.valid_start_time<#{nowTime}]]> and <![CDATA[t2.valid_end_time>#{nowTime}]]> and t2.status=1
and <![CDATA[ t2.valid_start_time<=#{nowTime}]]> and <![CDATA[t2.valid_end_time>=#{nowTime}]]> and t2.status=1
and t1.enable_flag=1
</select>
......@@ -193,4 +193,15 @@
update tb_cf_coupon set used_count=used_count+1 where coupon_id=#{couponId}
</update>
<!--获取已使用的优惠券-->
<select id="queryUserUsedCoupon" resultType="com.diaoyun.zion.chinafrica.entity.TbCfCouponEntity">
select t2.* from tb_cf_take_coupon t1,tb_cf_coupon t2 where t1.user_id=#{userId} and t1.coupon_id=t2.coupon_id
and t1.enable_flag=0
</select>
<!--获取已过期的优惠券-->
<select id="queryUserExpiredoupon" resultType="com.diaoyun.zion.chinafrica.entity.TbCfCouponEntity">
select t2.* from tb_cf_take_coupon t1,tb_cf_coupon t2 where t1.user_id=#{userId} and t1.coupon_id=t2.coupon_id
and <![CDATA[ t2.valid_end_time<#{nowTime}]]> and t1.enable_flag=1
</select>
</mapper>
\ No newline at end of file
......@@ -31,6 +31,7 @@
<result property="tax" column="tax"/>
<result property="payId" column="pay_id"/>
<result property="payStatus" column="pay_status"/>
<result property="enableFlag" column="enable_flag"/>
</resultMap>
<select id="queryObject" resultType="com.diaoyun.zion.chinafrica.entity.TbCfOrderEntity">
......@@ -61,7 +62,8 @@
`fee`,
`tax`,
`pay_id`,
`pay_status`
`pay_status`,
`enable_flag`
from tb_cf_order
where order_id = #{id}
</select>
......@@ -94,7 +96,8 @@
`fee`,
`tax`,
`pay_id`,
`pay_status`
`pay_status`,
`enable_flag`
from tb_cf_order
WHERE 1=1
<if test="name != null and name.trim() != ''">
......@@ -149,7 +152,8 @@
`fee`,
`tax`,
`pay_id`,
`pay_status`)
`pay_status`,
`enable_flag`)
values(
#{orderId},
#{orderNo},
......@@ -177,7 +181,8 @@
#{fee},
#{tax},
#{payId},
#{payStatus})
#{payStatus},
#{enableFlag})
</insert>
<update id="update" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfOrderEntity">
......@@ -208,7 +213,8 @@
<if test="fee != null">`fee` = #{fee}, </if>
<if test="tax != null">`tax` = #{tax}, </if>
<if test="payId != null">`pay_id` = #{payId}, </if>
<if test="payStatus != null">`pay_status` = #{payStatus}</if>
<if test="payStatus != null">`pay_status` = #{payStatus},</if>
<if test="enableFlag != null">`enable_flag` = #{enableFlag}</if>
</set>
where order_id = #{orderId}
</update>
......@@ -226,7 +232,9 @@
<!--获取用户订单数据-->
<select id="getUserOrderList" resultType="com.diaoyun.zion.chinafrica.entity.TbCfOrderEntity">
select * from tb_cf_order where user_id=#{userId} order by order_time desc
select * from tb_cf_order where user_id=#{userId} and enable_flag=1
<if test="orderStatus != null"> and order_status = #{orderStatus} </if>
order by order_time desc
</select>
<!--根据订单id,获取订单内商品详情-->
......@@ -237,15 +245,15 @@
<!--获取付款订单-->
<select id="getOrderListByTime" resultType="com.diaoyun.zion.chinafrica.entity.TbCfOrderEntity">
select user_id,order_id,deal_time from tb_cf_order where pay_status=20 and
select user_id,order_id,deal_time from tb_cf_order where pay_status=20 and enable_flag=1 and
deal_time <![CDATA[ >= ]]> #{beginDate} and deal_time <![CDATA[ < ]]> #{endDate}
</select>
<!--获取某段时间已发货订单数据-->
<select id="getDeliveryList" resultType="com.diaoyun.zion.chinafrica.entity.TbCfItemShippedEntity">
select t1.user_id,t1.order_id,t2.create_time "deliveryTime",t1.delivery_address,
t2.p_express_number "expressId" from tb_cf_order t1,tb_cf_platform_order t2 where t1.pay_status=40
and t1.order_id=t2.order_id
t2.p_express_number "expressId" from tb_cf_order t1,tb_cf_platform_order t2 where t1.delivery_flag=20
and t1.order_id=t2.order_id and t1.enable_flag=1
and t2.create_time <![CDATA[ >= ]]> #{beginDate} and t2.create_time <![CDATA[ < ]]> #{endDate}
</select>
......
......@@ -5,10 +5,7 @@ import com.diaoyun.zion.chinafrica.service.SpiderService;
import com.diaoyun.zion.chinafrica.service.TbCfCouponService;
import com.diaoyun.zion.chinafrica.service.impl.TbCfOrderServiceImpl;
import com.diaoyun.zion.master.thread.TaskLimitSemaphore;
import com.diaoyun.zion.master.util.AESUtils;
import com.diaoyun.zion.master.util.GsonUtil;
import com.diaoyun.zion.master.util.HttpClientUtil;
import com.diaoyun.zion.master.util.WordposHelper;
import com.diaoyun.zion.master.util.*;
import com.google.gson.Gson;
import com.stripe.exception.StripeException;
import freemarker.template.Configuration;
......@@ -299,8 +296,7 @@ public class ZionApplicationTests {
String res=HttpClientUtil.sendPostWithBodyParameter(url,paramMap);
Map map=GsonUtil.GsonToMaps(res);*/
String a="sk_test_yHGCVyKVI0soO8UQR9oivpB200s0lHEOFy";
String b=AESUtils.encrypt(KeyConstant.AES_KEY,a);
long b=IdUtil.createLongIdByDate();
System.out.println(b);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论