Commit cad98eb6 authored by hanfeng's avatar hanfeng

Merge branch 'base-modify' of http://10.5.52.3/youjj/cloud-platform into base-modify

parents 74fb9fef 1ad5cdb1
...@@ -98,9 +98,13 @@ public class UserBusinessBiz { ...@@ -98,9 +98,13 @@ public class UserBusinessBiz {
if (leaderId != 0) { if (leaderId != 0) {
Map<Integer, AppUserLogin> userIdAndUserLoginMap = appUserLoginBiz.findUserIdAndUserLoginMapByMemberIds(Arrays.asList(leaderId)); Map<Integer, AppUserLogin> userIdAndUserLoginMap = appUserLoginBiz.findUserIdAndUserLoginMapByMemberIds(Arrays.asList(leaderId));
Map<Integer, AppUserDetail> userIdAndUserDetailMap = appUserDetailBiz.findUserIdAndUserDetailMapByMemberIds(Arrays.asList(leaderId)); Map<Integer, AppUserDetail> userIdAndUserDetailMap = appUserDetailBiz.findUserIdAndUserDetailMapByMemberIds(Arrays.asList(leaderId));
if (!userIdAndUserLoginMap.isEmpty()){
promoteBO.setLeaderUsername(userIdAndUserLoginMap.get(leaderId).getUsername()); promoteBO.setLeaderUsername(userIdAndUserLoginMap.get(leaderId).getUsername());
}
if (!userIdAndUserDetailMap.isEmpty()){
promoteBO.setLeaderHeadUrl(userIdAndUserDetailMap.get(leaderId).getHeadimgurl()); promoteBO.setLeaderHeadUrl(userIdAndUserDetailMap.get(leaderId).getHeadimgurl());
} }
}
promoteBO.setInviteNumber(memberStateAndCountMap.get(0)); promoteBO.setInviteNumber(memberStateAndCountMap.get(0));
promoteBO.setActivatedNumber(memberStateAndCountMap.get(1)); promoteBO.setActivatedNumber(memberStateAndCountMap.get(1));
......
...@@ -8,7 +8,9 @@ import com.github.wxiaoqi.security.admin.biz.AppUserSellingWaterBiz; ...@@ -8,7 +8,9 @@ import com.github.wxiaoqi.security.admin.biz.AppUserSellingWaterBiz;
import com.github.wxiaoqi.security.admin.dto.OrderGoodsDTO; import com.github.wxiaoqi.security.admin.dto.OrderGoodsDTO;
import com.github.wxiaoqi.security.admin.dto.OrderWaterDTO; import com.github.wxiaoqi.security.admin.dto.OrderWaterDTO;
import com.rabbitmq.client.Channel; import com.rabbitmq.client.Channel;
import com.xxfc.platform.order.contant.enumerate.ItemTypeEnum;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum; import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.entity.OrderItem;
import com.xxfc.platform.order.pojo.mq.OrderMQDTO; import com.xxfc.platform.order.pojo.mq.OrderMQDTO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message; import org.springframework.amqp.core.Message;
...@@ -18,6 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -18,6 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.handler.annotation.Headers; import org.springframework.messaging.handler.annotation.Headers;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.io.IOException; import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
...@@ -73,7 +76,7 @@ public class WaterMQHandler { ...@@ -73,7 +76,7 @@ public class WaterMQHandler {
setGoodId(orderMQDTO.getOrderRentVehicleDetail().getModelId()); setGoodId(orderMQDTO.getOrderRentVehicleDetail().getModelId());
setGoodNumber(1); setGoodNumber(1);
setImg(orderMQDTO.getPicture()); setImg(orderMQDTO.getPicture());
setPrice(orderMQDTO.getGoodsAmount()); setPrice(orderMQDTO.getItemByTypeEnum(ItemTypeEnum.VEHICLE_MODEL).getRealAmount());
setTitle(orderMQDTO.getName()); setTitle(orderMQDTO.getName());
setType(OrderGoodsDTO.TYPE_RENT); setType(OrderGoodsDTO.TYPE_RENT);
}}); }});
...@@ -81,13 +84,16 @@ public class WaterMQHandler { ...@@ -81,13 +84,16 @@ public class WaterMQHandler {
); );
break; break;
case TOUR: case TOUR:
OrderItem tourAdultItem = orderMQDTO.getItemByTypeEnum(ItemTypeEnum.TOUR_ADULT);
OrderItem tourChildItem = orderMQDTO.getItemByTypeEnum(ItemTypeEnum.TOUR_CHILD);
orderWaterDTO.setGoodsDTOList( orderWaterDTO.setGoodsDTOList(
new ArrayList<OrderGoodsDTO>() {{ new ArrayList<OrderGoodsDTO>() {{
add(new OrderGoodsDTO() {{ add(new OrderGoodsDTO() {{
setGoodId(orderMQDTO.getOrderTourDetail().getGoodId()); setGoodId(orderMQDTO.getOrderTourDetail().getGoodId());
setGoodNumber(1); setGoodNumber(1);
setImg(orderMQDTO.getPicture()); setImg(orderMQDTO.getPicture());
setPrice(orderMQDTO.getGoodsAmount()); setPrice(tourAdultItem.getRealAmount().add(null == tourChildItem?
BigDecimal.ZERO:tourChildItem.getRealAmount()));
setTitle(orderMQDTO.getName()); setTitle(orderMQDTO.getName());
setType(OrderGoodsDTO.TYPE_TOUR); setType(OrderGoodsDTO.TYPE_TOUR);
}}); }});
...@@ -101,7 +107,7 @@ public class WaterMQHandler { ...@@ -101,7 +107,7 @@ public class WaterMQHandler {
setGoodId(orderMQDTO.getOrderMemberDetail().getMemberLevelId()); setGoodId(orderMQDTO.getOrderMemberDetail().getMemberLevelId());
setGoodNumber(1); setGoodNumber(1);
setImg(orderMQDTO.getPicture()); setImg(orderMQDTO.getPicture());
setPrice(orderMQDTO.getGoodsAmount()); setPrice(orderMQDTO.getItemByTypeEnum(ItemTypeEnum.MEMBER).getRealAmount());
setTitle(orderMQDTO.getName()); setTitle(orderMQDTO.getName());
setType(OrderGoodsDTO.TYPE_MEMBER); setType(OrderGoodsDTO.TYPE_MEMBER);
}}); }});
......
...@@ -202,6 +202,9 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> { ...@@ -202,6 +202,9 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> {
} }
couponAmout=couponAmout.add(getCouponAmout(couponId,channel,amout)); couponAmout=couponAmout.add(getCouponAmout(couponId,channel,amout));
} }
if (couponAmout.compareTo(amout)>0){
couponAmout=amout;
}
return couponAmout; return couponAmout;
} }
...@@ -266,9 +269,9 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> { ...@@ -266,9 +269,9 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> {
if (CollectionUtils.isEmpty(data)) { if (CollectionUtils.isEmpty(data)) {
return userCouponPag; return userCouponPag;
} }
Map<Integer, AppUserLogin> userIdAndAppuserLoginMap = null; Map<Integer, AppUserLogin> userIdAndAppuserLoginMap = new HashMap<>();
if (Objects.nonNull(userCouponFindDTO.getPhone())) { if (StringUtils.isEmpty(userCouponFindDTO.getPhone())) {
List<Integer> userIds = data.stream().map(UserCouponDTO::getUserId).collect(Collectors.toList()); List<Integer> userIds = data.stream().map(UserCouponDTO::getUserId).distinct().collect(Collectors.toList());
userIdAndAppuserLoginMap = userFeign.findAppUsersByUserIds(userIds); userIdAndAppuserLoginMap = userFeign.findAppUsersByUserIds(userIds);
} }
List<UserCouponPageVo> userCouponPageVos = new ArrayList<>(); List<UserCouponPageVo> userCouponPageVos = new ArrayList<>();
...@@ -279,7 +282,7 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> { ...@@ -279,7 +282,7 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> {
if (Objects.nonNull(userCouponFindDTO.getPhone())) { if (Objects.nonNull(userCouponFindDTO.getPhone())) {
userCouponPageVo.setPhone(userCouponFindDTO.getPhone()); userCouponPageVo.setPhone(userCouponFindDTO.getPhone());
} else { } else {
userCouponPageVo.setPhone(userIdAndAppuserLoginMap == null ? "" : userIdAndAppuserLoginMap.get(userCouponDTO.getUserId()) == null ? "" : userIdAndAppuserLoginMap.get(userCouponDTO.getUserId()).getUsername()); userCouponPageVo.setPhone(userIdAndAppuserLoginMap.get(userCouponDTO.getUserId()) == null ? "" : userIdAndAppuserLoginMap.get(userCouponDTO.getUserId()).getUsername());
} }
userCouponPageVos.add(userCouponPageVo); userCouponPageVos.add(userCouponPageVo);
} }
...@@ -344,4 +347,11 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> { ...@@ -344,4 +347,11 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> {
userInfoDTO.setCouponNumber(couponNumber); userInfoDTO.setCouponNumber(couponNumber);
return userInfoDTO; return userInfoDTO;
} }
public void deleteByUserIds(List<Integer> userIds) {
Example example = new Example(UserCoupon.class);
Example.Criteria criteria = example.createCriteria();
criteria.andIn("userId",userIds);
mapper.deleteByExample(example);
}
} }
\ No newline at end of file
...@@ -2,6 +2,7 @@ package com.xxfc.platform.activity.rest; ...@@ -2,6 +2,7 @@ package com.xxfc.platform.activity.rest;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.activity.biz.ActivityPopularizeUserBiz; import com.xxfc.platform.activity.biz.ActivityPopularizeUserBiz;
import com.xxfc.platform.activity.biz.UserCouponBiz;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
...@@ -23,9 +24,13 @@ public class DateController { ...@@ -23,9 +24,13 @@ public class DateController {
@Autowired @Autowired
private ActivityPopularizeUserBiz activityPopularizeUserBiz; private ActivityPopularizeUserBiz activityPopularizeUserBiz;
private UserCouponBiz userCouponBiz;
@GetMapping("/clear") @GetMapping("/clear")
public ObjectRestResponse<Void> clearDate(@RequestParam(value = "userIds") List<Integer> userIds){ public ObjectRestResponse<Void> clearDate(@RequestParam(value = "userIds") List<Integer> userIds){
activityPopularizeUserBiz.deleteByUserIds(userIds); activityPopularizeUserBiz.deleteByUserIds(userIds);
userCouponBiz.deleteByUserIds(userIds);
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
} }
...@@ -13,4 +13,6 @@ public class OrderPriceVO { ...@@ -13,4 +13,6 @@ public class OrderPriceVO {
public BigDecimal goodsAmount; public BigDecimal goodsAmount;
@ApiModelProperty(value = "实际价格") @ApiModelProperty(value = "实际价格")
public BigDecimal realAmount; public BigDecimal realAmount;
@ApiModelProperty(value = "优惠券扣除的费用")
public BigDecimal couponAmount;
} }
...@@ -33,6 +33,4 @@ public class RentVehiclePriceVO extends OrderPriceVO{ ...@@ -33,6 +33,4 @@ public class RentVehiclePriceVO extends OrderPriceVO{
BigDecimal damageSafePrice; BigDecimal damageSafePrice;
@ApiModelProperty(value = "费用详情") @ApiModelProperty(value = "费用详情")
private String costDetail; private String costDetail;
@ApiModelProperty(value = "优惠券扣除的费用")
private BigDecimal couponAmount;
} }
...@@ -53,8 +53,4 @@ public class TourPriceVO extends OrderPriceVO{ ...@@ -53,8 +53,4 @@ public class TourPriceVO extends OrderPriceVO{
//总人数 //总人数
@ApiModelProperty(value = "总人数") @ApiModelProperty(value = "总人数")
private Integer totalNumber; private Integer totalNumber;
//优惠券
@ApiModelProperty(value = "优惠券扣除的费用")
private BigDecimal couponAmount;
} }
...@@ -29,6 +29,7 @@ import org.springframework.stereotype.Service; ...@@ -29,6 +29,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -140,10 +141,13 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz ...@@ -140,10 +141,13 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
BigDecimal couponAmount = BigDecimal.ZERO; BigDecimal couponAmount = BigDecimal.ZERO;
//设置Item //设置Item
OrderItem vehicleOrderItem = orderItemBiz.initOrderItem(detail.getBaseUserMemberLevel().getPrice(), 1, detail.getBaseUserMemberLevel().getName(), detail.getBaseUserMemberLevel().getId(), ItemTypeEnum.MEMBER); OrderItem memberOrderItem = orderItemBiz.initOrderItem(detail.getBaseUserMemberLevel().getPrice(), 1, detail.getBaseUserMemberLevel().getName(), detail.getBaseUserMemberLevel().getId(), ItemTypeEnum.MEMBER);
detail.setItems(new ArrayList<OrderItem>());
detail.getItems().add(memberOrderItem);
//商品价格 //商品价格
goodsAmount = goodsAmount.add(vehicleOrderItem.getCalculateAmount(Boolean.TRUE)); goodsAmount = goodsAmount.add(memberOrderItem.getCalculateAmount(Boolean.TRUE));
//vehicleAmount 优惠券处理 //vehicleAmount 优惠券处理
if(null != detail.getTickerNo() && detail.getTickerNo().size() > 0) { if(null != detail.getTickerNo() && detail.getTickerNo().size() > 0) {
...@@ -151,7 +155,7 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz ...@@ -151,7 +155,7 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
if(couponAmount.compareTo(BigDecimal.ZERO) > 0) { if(couponAmount.compareTo(BigDecimal.ZERO) > 0) {
detail.getOrder().setCouponTickerNos(detail.getTickerNo().stream().collect(Collectors.joining(","))); detail.getOrder().setCouponTickerNos(detail.getTickerNo().stream().collect(Collectors.joining(",")));
detail.getOrder().setHasDiscount(SYS_TRUE); detail.getOrder().setHasDiscount(SYS_TRUE);
vehicleOrderItem.handleCouponAmount(couponAmount); memberOrderItem.handleCouponAmount(couponAmount);
} }
} }
...@@ -165,6 +169,7 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz ...@@ -165,6 +169,7 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
opv.setOrderAmount(orderAmount); opv.setOrderAmount(orderAmount);
opv.setGoodsAmount(goodsAmount); opv.setGoodsAmount(goodsAmount);
opv.setRealAmount(realAmount); opv.setRealAmount(realAmount);
opv.setCouponAmount(couponAmount);
return opv; return opv;
} }
......
...@@ -143,7 +143,7 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To ...@@ -143,7 +143,7 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
OrderItem tourAdultItem = bo.getItemByTypeEnum(ItemTypeEnum.TOUR_ADULT); OrderItem tourAdultItem = bo.getItemByTypeEnum(ItemTypeEnum.TOUR_ADULT);
OrderItem tourChildItem = bo.getItemByTypeEnum(ItemTypeEnum.TOUR_CHILD); OrderItem tourChildItem = bo.getItemByTypeEnum(ItemTypeEnum.TOUR_CHILD);
BigDecimal amount = tourAdultItem.getTotalAmount().add(tourChildItem.getTotalAmount()); BigDecimal amount = tourAdultItem.getTotalAmount().add(null == tourChildItem? BigDecimal.ZERO: tourChildItem.getTotalAmount());
//如果有使用优惠券,则扣减 //如果有使用优惠券,则扣减
if(BigDecimal.ZERO.compareTo(bo.getOrder().getCouponAmount()) < 0) { if(BigDecimal.ZERO.compareTo(bo.getOrder().getCouponAmount()) < 0) {
...@@ -215,14 +215,22 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To ...@@ -215,14 +215,22 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
tourAdultItem.setUnitPrice(tourSpePriceVo.getPrice()); tourAdultItem.setUnitPrice(tourSpePriceVo.getPrice());
OrderItem tourChildItem = orderItemBiz.initOrderItem(tourSpePriceVo.getChildOriginalPrice(), detail.getChildNum(), "儿童", detail.getSpePriceId(), ItemTypeEnum.TOUR_CHILD); OrderItem tourChildItem = orderItemBiz.initOrderItem(tourSpePriceVo.getChildOriginalPrice(), detail.getChildNum(), "儿童", detail.getSpePriceId(), ItemTypeEnum.TOUR_CHILD);
tourChildItem.setUnitPrice(tourSpePriceVo.getChildPrice()); tourChildItem.setUnitPrice(tourSpePriceVo.getChildPrice());
//人数 * 天数 //人数 * 天数
OrderItem insureItem = orderItemBiz.initOrderItem(INSURE_PRICE, detail.getTotalNumber() * detail.getTourGood().getNumber(), "旅游保险", null, ItemTypeEnum.TOUR_INSURE); OrderItem insureItem = orderItemBiz.initOrderItem(INSURE_PRICE, detail.getTotalNumber() * detail.getTourGood().getNumber(), "旅游保险", null, ItemTypeEnum.TOUR_INSURE);
detail.setItems(new ArrayList<OrderItem>());
detail.getItems().add(tourAdultItem);
if(tourChildItem.getBuyNum() > 0) {
detail.getItems().add(tourChildItem);
}
//需要保险 //需要保险
if(SYS_TRUE.equals(detail.getHasInsure())) { if(SYS_TRUE.equals(detail.getHasInsure())) {
//人数 * 天数 * 价格 //人数 * 天数 * 价格
insureAmount = insureAmount.add(insureItem.getCalculateAmount(Boolean.TRUE)); insureAmount = insureAmount.add(insureItem.getCalculateAmount(Boolean.TRUE));
detail.getItems().add(insureItem);
} }
//总价 //总价
......
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