Commit 2ae7951a authored by jiaorz's avatar jiaorz

Merge branch 'master-order' into dev

# Conflicts:
#	xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
parents 535cb5e1 7338cc50
...@@ -87,10 +87,20 @@ public interface ActivityFeign { ...@@ -87,10 +87,20 @@ public interface ActivityFeign {
@GetMapping("/coupon/couponsBycouponIds") @GetMapping("/coupon/couponsBycouponIds")
List<Coupon> couponsByTickerNoList(@RequestParam(value = "tickerNoList") List<String> tickerNoList); List<Coupon> couponsByTickerNoList(@RequestParam(value = "tickerNoList") List<String> tickerNoList);
@RequestMapping(value = "/user/getCoupon", method = RequestMethod.GET)
public ObjectRestResponse getCoupon(@RequestParam("userId")Integer userId, @RequestParam("couponId")Integer couponId);
@GetMapping(value = "/activity/specs/app/unauth/get") @GetMapping(value = "/activity/specs/app/unauth/get")
public ObjectRestResponse<ActivityProductSpecs> get(@RequestParam("id") Long id); public ObjectRestResponse<ActivityProductSpecs> get(@RequestParam("id") Long id);
@GetMapping(value = "/activity/product/app/unauth/get") @GetMapping(value = "/activity/product/app/unauth/get")
public ObjectRestResponse<ActivityProduct> getOne(@RequestParam("id")Long id); public ObjectRestResponse<ActivityProduct> getOne(@RequestParam("id")Long id);
@PostMapping(value = "/activity/specs/app/unauth/update")
public ObjectRestResponse update(@RequestBody ActivityProductSpecs activityProductSpecs);
@PostMapping(value = "/activity/product/app/unauth/update")
public ObjectRestResponse updateProduct(@RequestBody ActivityProduct activityProduct);
} }
...@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; ...@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.bean.copier.CopyOptions;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.activity.entity.ActivityProduct; import com.xxfc.platform.activity.entity.ActivityProduct;
import com.xxfc.platform.activity.entity.ActivityProductSpecs; import com.xxfc.platform.activity.entity.ActivityProductSpecs;
import com.xxfc.platform.activity.mapper.ActivityProductMapper; import com.xxfc.platform.activity.mapper.ActivityProductMapper;
...@@ -55,6 +56,22 @@ public class ActivityProductBiz extends BaseBiz<ActivityProductMapper, ActivityP ...@@ -55,6 +56,22 @@ public class ActivityProductBiz extends BaseBiz<ActivityProductMapper, ActivityP
return activityProduct; return activityProduct;
} }
public ObjectRestResponse update(ActivityProduct activityProduct) {
if (activityProduct == null || activityProduct.getId() == null) {
return ObjectRestResponse.paramIsEmpty();
}
ActivityProduct oldValue = selectById(activityProduct.getId());
if (oldValue != null) { //增加销量,减少库存
oldValue.setSales(oldValue.getSales() + activityProduct.getSales());
oldValue.setStock(oldValue.getStock() - activityProduct.getSales());
updateSelectiveByIdRe(oldValue);
return ObjectRestResponse.succ(oldValue);
} else {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "商品不存在!");
}
}
public List<ActivityProduct> getAll() { public List<ActivityProduct> getAll() {
Example example = new Example(ActivityProduct.class); Example example = new Example(ActivityProduct.class);
example.createCriteria().andEqualTo("status", true).andEqualTo("isDel", false); example.createCriteria().andEqualTo("status", true).andEqualTo("isDel", false);
......
...@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; ...@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.bean.copier.CopyOptions;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.activity.entity.ActivityProductSpecs; import com.xxfc.platform.activity.entity.ActivityProductSpecs;
import com.xxfc.platform.activity.mapper.ActivityProductSpecsMapper; import com.xxfc.platform.activity.mapper.ActivityProductSpecsMapper;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -49,4 +50,20 @@ public class ActivityProductSpecsBiz extends BaseBiz<ActivityProductSpecsMapper, ...@@ -49,4 +50,20 @@ public class ActivityProductSpecsBiz extends BaseBiz<ActivityProductSpecsMapper,
return mapper.selectByExample(example); return mapper.selectByExample(example);
} }
public ObjectRestResponse update(ActivityProductSpecs activityProductSpecs) {
if (activityProductSpecs == null || activityProductSpecs.getId() == null) {
return ObjectRestResponse.paramIsEmpty();
}
ActivityProductSpecs oldValue = selectById(activityProductSpecs.getId());
if (oldValue != null) { //增加销量,减少库存
oldValue.setSales(oldValue.getSales() + activityProductSpecs.getSales());
oldValue.setStock(oldValue.getStock() - activityProductSpecs.getSales());
updateSelectiveByIdRe(oldValue);
return ObjectRestResponse.succ(oldValue);
} else {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "商品不存在!");
}
}
} }
...@@ -25,4 +25,8 @@ public class ActivityProductController extends BaseController<ActivityProductBiz ...@@ -25,4 +25,8 @@ public class ActivityProductController extends BaseController<ActivityProductBiz
return baseBiz.add(activityProduct); return baseBiz.add(activityProduct);
} }
@PostMapping(value = "/app/unauth/update")
public ObjectRestResponse updateProduct(@RequestBody ActivityProduct activityProduct) {
return baseBiz.update(activityProduct);
}
} }
...@@ -24,4 +24,9 @@ public class ActivityProductSpecsController extends BaseController<ActivityProdu ...@@ -24,4 +24,9 @@ public class ActivityProductSpecsController extends BaseController<ActivityProdu
public ObjectRestResponse getAllByActiveId(Long activityId) { public ObjectRestResponse getAllByActiveId(Long activityId) {
return ObjectRestResponse.succ(baseBiz.getAllByActiveId(activityId)); return ObjectRestResponse.succ(baseBiz.getAllByActiveId(activityId));
} }
@PostMapping(value = "/app/unauth/update")
public ObjectRestResponse update(@RequestBody ActivityProductSpecs activityProductSpecs) {
return baseBiz.update(activityProductSpecs);
}
} }
...@@ -3,7 +3,6 @@ package com.xxfc.platform.activity.rest; ...@@ -3,7 +3,6 @@ package com.xxfc.platform.activity.rest;
import com.github.wxiaoqi.security.admin.dto.UserInfoDTO; import com.github.wxiaoqi.security.admin.dto.UserInfoDTO;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.activity.biz.ActivityUserJoinBiz; import com.xxfc.platform.activity.biz.ActivityUserJoinBiz;
import com.xxfc.platform.activity.biz.UserCouponBiz; import com.xxfc.platform.activity.biz.UserCouponBiz;
import com.xxfc.platform.activity.vo.UserCouponVo; import com.xxfc.platform.activity.vo.UserCouponVo;
...@@ -106,6 +105,12 @@ public class UserCouponController extends ActivityBaseController<UserCouponBiz> ...@@ -106,6 +105,12 @@ public class UserCouponController extends ActivityBaseController<UserCouponBiz>
return joinBiz.receiveCoupn(userId); return joinBiz.receiveCoupn(userId);
} }
@RequestMapping(value = "/getCoupon", method = RequestMethod.GET)
public ObjectRestResponse getCoupon(Integer userId, Integer couponId) {
return ObjectRestResponse.succ(baseBiz.adminUserLedCoupon(userId, couponId));
}
@ApiOperation("检查用户是否可领取") @ApiOperation("检查用户是否可领取")
@RequestMapping(value = "/coupon/check", method = RequestMethod.GET) @RequestMapping(value = "/coupon/check", method = RequestMethod.GET)
public ObjectRestResponse check() { public ObjectRestResponse check() {
......
...@@ -21,6 +21,8 @@ import com.github.wxiaoqi.security.common.util.Query; ...@@ -21,6 +21,8 @@ import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.xxfc.platform.activity.entity.ActivityProduct;
import com.xxfc.platform.activity.entity.ActivityProductSpecs;
import com.xxfc.platform.activity.entity.Coupon; import com.xxfc.platform.activity.entity.Coupon;
import com.xxfc.platform.activity.feign.ActivityFeign; import com.xxfc.platform.activity.feign.ActivityFeign;
import com.xxfc.platform.order.biz.inner.OrderCalculateBiz; import com.xxfc.platform.order.biz.inner.OrderCalculateBiz;
...@@ -133,6 +135,10 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements ...@@ -133,6 +135,10 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
@Autowired @Autowired
OrderCalculateBiz orderCalculateBiz; OrderCalculateBiz orderCalculateBiz;
@Autowired
OrderActivityDetailBiz orderActivityDetailBiz;
public static final DateTimeFormatter DEFAULT_DATE_TIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"); public static final DateTimeFormatter DEFAULT_DATE_TIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
...@@ -691,6 +697,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements ...@@ -691,6 +697,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
OrderRentVehicleDetail orvd = new OrderRentVehicleDetail(); OrderRentVehicleDetail orvd = new OrderRentVehicleDetail();
OrderTourDetail otd = new OrderTourDetail(); OrderTourDetail otd = new OrderTourDetail();
OrderMemberDetail omd = new OrderMemberDetail(); OrderMemberDetail omd = new OrderMemberDetail();
OrderActiveDetail activeDetail = new OrderActiveDetail();
BaseOrder baseOrder = this.selectOne(new BaseOrder() {{ BaseOrder baseOrder = this.selectOne(new BaseOrder() {{
setNo(orderNo); setNo(orderNo);
}}); }});
...@@ -758,6 +765,31 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements ...@@ -758,6 +765,31 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
//站点总人数添加 //站点总人数添加
tourFeign.updateTourGoodPersonNum(otd.getVerificationId(), TourFeign.TOTAL_PERSON, otd.getTotalNumber()); tourFeign.updateTourGoodPersonNum(otd.getVerificationId(), TourFeign.TOTAL_PERSON, otd.getTotalNumber());
} else if(OrderTypeEnum.ACTIVITY.getCode().equals(baseOrder.getType())) { //活动订单回调
updateOrder.setStatus(OrderStatusEnum.ORDER_FINISH.getCode());
activeDetail = orderActivityDetailBiz.getOne(baseOrder.getId());
if (activeDetail != null) {
ActivityProductSpecs activityProductSpecs = activityFeign.get(activeDetail.getSpecsId()).getData();
if (activityProductSpecs != null) {
ObjectRestResponse objectRestResponse = activityFeign.getCoupon(baseOrder.getUserId(), activityProductSpecs.getActiveId());
if (objectRestResponse.isRel()) {
log.info("优惠券发送成功:{}, {}, {}", baseOrder.getUserId(), activityProductSpecs.getActiveId(), objectRestResponse.getData());
} else {
log.error("优惠券发送失败:{}, {}", baseOrder.getUserId(), activityProductSpecs.getActiveId());
}
}
//修改规格库存
activityProductSpecs.setSales(activeDetail.getNumber());
activityFeign.update(activityProductSpecs);
//修改商品库存
ActivityProduct activityProduct = new ActivityProduct();
activityProduct.setId(activityProductSpecs.getGoodsId());
activityProduct.setSales(activeDetail.getNumber());
activityFeign.updateProduct(activityProduct);
}
} }
try { try {
......
...@@ -18,6 +18,7 @@ import lombok.extern.slf4j.Slf4j; ...@@ -18,6 +18,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
...@@ -60,11 +61,7 @@ public class OrderActivityDetailBiz extends BaseBiz<OrderActiveDetailMapper, Ord ...@@ -60,11 +61,7 @@ public class OrderActivityDetailBiz extends BaseBiz<OrderActiveDetailMapper, Ord
return ObjectRestResponse.succ(pageDataVO); return ObjectRestResponse.succ(pageDataVO);
} }
public ObjectRestResponse orderDetail(String no) { public ObjectRestResponse orderDetail(String no, AppUserDTO appUserDTO) {
AppUserDTO appUserDTO = getAppUser();
if (appUserDTO == null) {
return ObjectRestResponse.createFailedResult(ResultCode.RSTOKEN_EXPIRED_CODE, ResultCode.getMsg(ResultCode.RSTOKEN_EXPIRED_CODE));
}
if (StringUtils.isBlank(no)) { if (StringUtils.isBlank(no)) {
return ObjectRestResponse.paramIsEmpty(); return ObjectRestResponse.paramIsEmpty();
} }
...@@ -77,4 +74,11 @@ public class OrderActivityDetailBiz extends BaseBiz<OrderActiveDetailMapper, Ord ...@@ -77,4 +74,11 @@ public class OrderActivityDetailBiz extends BaseBiz<OrderActiveDetailMapper, Ord
} }
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "订单不存在"); return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "订单不存在");
} }
public OrderActiveDetail getOne(Integer orderId) {
Example example = new Example(OrderActiveDetail.class);
example.createCriteria().andEqualTo("orderId", orderId);
return mapper.selectOneByExample(example);
}
} }
...@@ -46,7 +46,7 @@ public class OrderActivityController extends BaseController<OrderActivityDetailB ...@@ -46,7 +46,7 @@ public class OrderActivityController extends BaseController<OrderActivityDetailB
@GetMapping(value = "/detail") @GetMapping(value = "/detail")
public ObjectRestResponse orderDetail(String no) { public ObjectRestResponse orderDetail(String no) {
return baseBiz.orderDetail(no); return baseBiz.orderDetail(no, userFeign.userDetailByToken(request.getHeader("Authorization")).getData());
} }
} }
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