Commit bf7366e6 authored by jiaorz's avatar jiaorz

Merge remote-tracking branch 'origin/base-modify' into base-modify

parents e0e7b086 a74cbc88
...@@ -4,8 +4,10 @@ import com.github.wxiaoqi.security.admin.dto.BaseUserMemberExportDTO; ...@@ -4,8 +4,10 @@ import com.github.wxiaoqi.security.admin.dto.BaseUserMemberExportDTO;
import com.github.wxiaoqi.security.admin.dto.BaseUserMemberExportDataFindDTO; import com.github.wxiaoqi.security.admin.dto.BaseUserMemberExportDataFindDTO;
import com.github.wxiaoqi.security.admin.dto.UserMemberDTO; import com.github.wxiaoqi.security.admin.dto.UserMemberDTO;
import com.github.wxiaoqi.security.admin.dto.UserMemberSaveDTO; import com.github.wxiaoqi.security.admin.dto.UserMemberSaveDTO;
import com.github.wxiaoqi.security.admin.entity.BaseUserMember;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberExport; import com.github.wxiaoqi.security.admin.entity.BaseUserMemberExport;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel; import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.admin.entity.UserMemberLevel;
import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberExportMapper; import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberExportMapper;
import com.github.wxiaoqi.security.admin.vo.BaseUserMemberExportVo; import com.github.wxiaoqi.security.admin.vo.BaseUserMemberExportVo;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
...@@ -22,6 +24,7 @@ import tk.mybatis.mapper.entity.Example; ...@@ -22,6 +24,7 @@ import tk.mybatis.mapper.entity.Example;
import java.time.Instant; import java.time.Instant;
import java.util.*; import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -45,7 +48,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper, ...@@ -45,7 +48,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
private AppUserLoginBiz appUserLoginBiz; private AppUserLoginBiz appUserLoginBiz;
public void saveUserMember(UserMemberSaveDTO userMemberSaveDTO,Integer userId,String name) { public void saveUserMember(UserMemberSaveDTO userMemberSaveDTO, Integer userId, String name) {
if (userMemberSaveDTO != null) { if (userMemberSaveDTO != null) {
UserMemberDTO userMemberDTO = new UserMemberDTO(); UserMemberDTO userMemberDTO = new UserMemberDTO();
BaseUserMemberLevel level = userMemberLevelBiz.getLevel(userMemberSaveDTO.getMemberLevel()); BaseUserMemberLevel level = userMemberLevelBiz.getLevel(userMemberSaveDTO.getMemberLevel());
...@@ -86,26 +89,37 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper, ...@@ -86,26 +89,37 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
} }
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
public int importUserMember(List<String[]> userMemberData,Integer userId,String userName) { public int importUserMember(List<String[]> userMemberData, Integer userId, String userName) {
List<BaseUserMemberExport> baseUserMemberExports = new ArrayList<>(); List<BaseUserMemberExport> baseUserMemberExports = new ArrayList<>();
List<Integer> levels = userMemberData.stream().map(x -> x[1]).map(Integer::valueOf).distinct().collect(Collectors.toList()); List<BaseUserMemberLevel> levesls = userMemberLevelBiz.getLevesls();
Map<Integer, Integer> levelAndDisCountMap = userMemberLevelBiz.getUserMemberLevelAndDisCountMapByLevels(levels); Map<Integer, BaseUserMemberLevel> levelAndbaseUserMemberMap = levesls.stream().collect(Collectors.toMap(BaseUserMemberLevel::getLevel, Function.identity()));
Map<String,Integer> leavelNameAndLeaveMap = levelAndbaseUserMemberMap.values().stream().collect(Collectors.toMap(BaseUserMemberLevel::getName, BaseUserMemberLevel::getLevel));
List<String> phones = userMemberData.stream().map(x -> x[0]).distinct().collect(Collectors.toList()); List<String> phones = userMemberData.stream().map(x -> x[0]).distinct().collect(Collectors.toList());
Map<String, Integer> phoneAndUserIdMap = appUserLoginBiz.findPhoneAndUserIdMapByPhones(phones); Map<String, Integer> phoneAndUserIdMap = appUserLoginBiz.findPhoneAndUserIdMapByPhones(phones);
Set<Map.Entry<String, Integer>> leaveNameAndLeaveEntry = leavelNameAndLeaveMap.entrySet();
Integer memberLevel =1;
Integer discount = 0;
for (String[] data : userMemberData) { for (String[] data : userMemberData) {
String phone = data[0]; String phone = data[0];
String memberLevel = data[1]; String memberLevelName = data[1];
String totalNumber = data[2]; String totalNumber = data[2];
String rentFreeDays = data[3]; String rentFreeDays = data[3];
for (Map.Entry<String, Integer> entry : leaveNameAndLeaveEntry) {
if (entry.getKey().contains(memberLevelName.substring(0,1))){
memberLevel = entry.getValue();
discount = levelAndbaseUserMemberMap.get(memberLevel).getDiscount();
break;
}
}
if (phoneAndUserIdMap != null && phoneAndUserIdMap.get(phone) != null) { if (phoneAndUserIdMap != null && phoneAndUserIdMap.get(phone) != null) {
UserMemberDTO userMemberDTO = new UserMemberDTO(); UserMemberDTO userMemberDTO = new UserMemberDTO();
userMemberDTO.setUserId(phoneAndUserIdMap.get(phone)); userMemberDTO.setUserId(phoneAndUserIdMap.get(phone));
userMemberDTO.setMemberLevel(Integer.valueOf(memberLevel)); userMemberDTO.setMemberLevel(memberLevel);
userMemberDTO.setDiscount(levelAndDisCountMap == null ? 0 : (levelAndDisCountMap.get(Integer.valueOf(memberLevel)) == null ? 0 : levelAndDisCountMap.get(Integer.valueOf(memberLevel)))); userMemberDTO.setDiscount(discount);
userMemberDTO.setTotalNumber(Integer.valueOf(totalNumber)); userMemberDTO.setTotalNumber(Integer.valueOf(totalNumber));
userMemberDTO.setRentFreeDays(Integer.valueOf(rentFreeDays)); userMemberDTO.setRentFreeDays(Integer.valueOf(rentFreeDays));
userMemberDTO.setIsBind(1); userMemberDTO.setIsBind(1);
...@@ -120,10 +134,10 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper, ...@@ -120,10 +134,10 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
BaseUserMemberExport memberExport = BaseUserMemberExport BaseUserMemberExport memberExport = BaseUserMemberExport
.builder() .builder()
.username(phone) .username(phone)
.memberLevel(Integer.valueOf(memberLevel)) .memberLevel(memberLevel)
.totalNumber(Integer.valueOf(totalNumber)) .totalNumber(Integer.valueOf(totalNumber))
.rentFreeDays(Integer.valueOf(rentFreeDays)) .rentFreeDays(Integer.valueOf(rentFreeDays))
.discount(levelAndDisCountMap == null ? 0 : (levelAndDisCountMap.get(Integer.valueOf(memberLevel)) == null ? 0 : levelAndDisCountMap.get(Integer.valueOf(memberLevel)))) .discount(discount)
.status(phoneAndUserIdMap == null ? 0 : (phoneAndUserIdMap.get(phone) == null ? 0 : 1)) .status(phoneAndUserIdMap == null ? 0 : (phoneAndUserIdMap.get(phone) == null ? 0 : 1))
.crtId(userId) .crtId(userId)
.crtName(userName) .crtName(userName)
...@@ -152,7 +166,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper, ...@@ -152,7 +166,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
Example.Criteria criteria = example.createCriteria(); Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("username", phone); criteria.andEqualTo("username", phone);
criteria.andEqualTo("status", 0); criteria.andEqualTo("status", 0);
criteria.andEqualTo("isDel",0); criteria.andEqualTo("isDel", 0);
List<BaseUserMemberExport> baseUserMemberExports = mapper.selectByExample(example); List<BaseUserMemberExport> baseUserMemberExports = mapper.selectByExample(example);
if (CollectionUtils.isNotEmpty(baseUserMemberExports)) { if (CollectionUtils.isNotEmpty(baseUserMemberExports)) {
...@@ -183,7 +197,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper, ...@@ -183,7 +197,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
BaseUserMemberExportVo baseUserMemberExportVo; BaseUserMemberExportVo baseUserMemberExportVo;
for (BaseUserMemberExportDTO userMemberExportDTO : userMemberExportDTOS) { for (BaseUserMemberExportDTO userMemberExportDTO : userMemberExportDTOS) {
baseUserMemberExportVo = new BaseUserMemberExportVo(); baseUserMemberExportVo = new BaseUserMemberExportVo();
BeanUtils.copyProperties(userMemberExportDTO,baseUserMemberExportVo); BeanUtils.copyProperties(userMemberExportDTO, baseUserMemberExportVo);
baseUserMemberExportVos.add(baseUserMemberExportVo); baseUserMemberExportVos.add(baseUserMemberExportVo);
} }
baseUserMemberExportVos.sort(Comparator.comparing(BaseUserMemberExportVo::getCrtTime).reversed()); baseUserMemberExportVos.sort(Comparator.comparing(BaseUserMemberExportVo::getCrtTime).reversed());
...@@ -196,6 +210,6 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper, ...@@ -196,6 +210,6 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
} }
public void updateUserMemberExportDataStatus(Integer id) { public void updateUserMemberExportDataStatus(Integer id) {
mapper.updateUserMemberExportDataStatusById(id,1); mapper.updateUserMemberExportDataStatusById(id, 1);
} }
} }
...@@ -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));
......
...@@ -2,6 +2,7 @@ package com.github.wxiaoqi.security.admin.biz; ...@@ -2,6 +2,7 @@ package com.github.wxiaoqi.security.admin.biz;
import com.ace.cache.annotation.Cache; import com.ace.cache.annotation.Cache;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel; import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.admin.entity.UserMemberLevel;
import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberLevelMapper; import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberLevelMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
...@@ -12,6 +13,7 @@ import tk.mybatis.mapper.entity.Example; ...@@ -12,6 +13,7 @@ import tk.mybatis.mapper.entity.Example;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -41,11 +43,11 @@ public class UserMemberLevelBiz extends BaseBiz<BaseUserMemberLevelMapper,BaseUs ...@@ -41,11 +43,11 @@ public class UserMemberLevelBiz extends BaseBiz<BaseUserMemberLevelMapper,BaseUs
} }
@Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED) @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
public Map<Integer,Integer> getUserMemberLevelAndDisCountMapByLevels(List<Integer> levels){ public Map<Integer, BaseUserMemberLevel> getUserMemberLevelAndUserMemberMapByLevels(List<Integer> levels){
List<BaseUserMemberLevel> baseUserMemberLevels = mapper.selectUserMembersLevelByLevels(levels); List<BaseUserMemberLevel> baseUserMemberLevels = mapper.selectUserMembersLevelByLevels(levels);
Map<Integer,Integer> levelAndDiscountMap = null; Map<Integer,BaseUserMemberLevel> levelAndDiscountMap = null;
if (CollectionUtils.isNotEmpty(baseUserMemberLevels)){ if (CollectionUtils.isNotEmpty(baseUserMemberLevels)){
levelAndDiscountMap = baseUserMemberLevels.stream().collect(Collectors.toMap(BaseUserMemberLevel::getLevel,BaseUserMemberLevel::getDiscount)); levelAndDiscountMap = baseUserMemberLevels.stream().collect(Collectors.toMap(BaseUserMemberLevel::getLevel, Function.identity()));
} }
return levelAndDiscountMap; return levelAndDiscountMap;
} }
......
...@@ -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;
} }
......
...@@ -45,7 +45,7 @@ public class UserCouponAdminController { ...@@ -45,7 +45,7 @@ public class UserCouponAdminController {
} }
@PostMapping("/sendcoupon") @PostMapping("/sendcoupon")
public ObjectRestResponse<Void> sendCoupon(UserCouponSendDTO userCouponSendDTO){ public ObjectRestResponse<Void> sendCoupon(@RequestBody UserCouponSendDTO userCouponSendDTO){
userCouponBiz.sendCoupon(userCouponSendDTO); userCouponBiz.sendCoupon(userCouponSendDTO);
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
......
...@@ -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);
} }
} }
......
...@@ -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);
} }
//总价 //总价
......
...@@ -47,5 +47,4 @@ public class RentVehicleBookDTO extends PageParam { ...@@ -47,5 +47,4 @@ public class RentVehicleBookDTO extends PageParam {
@ApiModelProperty("订单号") @ApiModelProperty("订单号")
private String orderNo; private String orderNo;
} }
\ No newline at end of file
...@@ -308,8 +308,11 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> { ...@@ -308,8 +308,11 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
checkIfVehicleExists(bookVehicleVo.getVehicleId()); checkIfVehicleExists(bookVehicleVo.getVehicleId());
//提取日期和相应的预定目标日期 //提取日期和相应的预定目标日期
Map<String,List<String>> yearMonthAndDate = Maps.newHashMap(); Map<String,List<String>> yearMonthAndDate = Maps.newHashMap();
DateTime startDay =DateTime.parse(bookVehicleVo.getBookStartDate(),DEFAULT_DATE_TIME_FORMATTER); String[] bookStartDateArray = bookVehicleVo.getBookStartDate().split(" ");
DateTime endDay =DateTime.parse(bookVehicleVo.getBookEndDate(), DEFAULT_DATE_TIME_FORMATTER); String[] bookEndDateArray = bookVehicleVo.getBookEndDate().split(" ");
DateTime startDay =DateTime.parse(bookStartDateArray[0],DEFAULT_DATE_TIME_FORMATTER);
DateTime endDay =DateTime.parse(bookEndDateArray[0], DEFAULT_DATE_TIME_FORMATTER);
//转换日期范围为列表,并检查是否合法 //转换日期范围为列表,并检查是否合法
...@@ -332,9 +335,9 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> { ...@@ -332,9 +335,9 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
vehicleBookRecord.setBookUser(userId); vehicleBookRecord.setBookUser(userId);
vehicleBookRecord.setBookUserName(userName); vehicleBookRecord.setBookUserName(userName);
vehicleBookRecord.setBookStartDate(DateTime. vehicleBookRecord.setBookStartDate(DateTime.
parse(bookVehicleVo.getBookStartDate(),DEFAULT_DATE_TIME_FORMATTER).toDate()); parse(bookStartDateArray[0],DEFAULT_DATE_TIME_FORMATTER).toDate());
vehicleBookRecord.setBookEndDate(DateTime. vehicleBookRecord.setBookEndDate(DateTime.
parse(bookVehicleVo.getBookEndDate(),DEFAULT_DATE_TIME_FORMATTER).toDate()); parse(bookEndDateArray[0],DEFAULT_DATE_TIME_FORMATTER).toDate());
vehicleBookRecord.setLiftAddr(bookVehicleVo.getLiftAddr()); vehicleBookRecord.setLiftAddr(bookVehicleVo.getLiftAddr());
vehicleBookRecord.setRemark(bookVehicleVo.getRemark()); vehicleBookRecord.setRemark(bookVehicleVo.getRemark());
vehicleBookRecord.setDestination(bookVehicleVo.getDestination()); vehicleBookRecord.setDestination(bookVehicleVo.getDestination());
......
...@@ -398,10 +398,8 @@ public class VehicleController extends BaseController<VehicleBiz> { ...@@ -398,10 +398,8 @@ public class VehicleController extends BaseController<VehicleBiz> {
Integer operatorId = USER_APP; Integer operatorId = USER_APP;
String userName = dto.getUserName(); String userName = dto.getUserName();
//BaseContextHandler.getName(); //BaseContextHandler.getName();
BookVehicleVO bookVehicleVo = BeanUtil.toBean(dto, BookVehicleVO.class);
dto.setLimit(1); dto.setLimit(1);
dto.setPage(1); dto.setPage(1);
bookVehicleVo.setBookType(BookType.USER_RENT.getCode());
//查询可车辆信息 //查询可车辆信息
PageDataVO<Vehicle> pageDataVO = vehicleBiz.searchUsableVehicle(dto); PageDataVO<Vehicle> pageDataVO = vehicleBiz.searchUsableVehicle(dto);
if (pageDataVO.getData().size() <= 0) { if (pageDataVO.getData().size() <= 0) {
...@@ -409,6 +407,10 @@ public class VehicleController extends BaseController<VehicleBiz> { ...@@ -409,6 +407,10 @@ public class VehicleController extends BaseController<VehicleBiz> {
add("可用车辆不存在"); add("可用车辆不存在");
}}); }});
} }
dto.setBookStartDate(dto.getBookStartDate()+ " 00:00:00");
dto.setBookEndDate(dto.getBookEndDate()+ " 23:59:59");
BookVehicleVO bookVehicleVo = BeanUtil.toBean(dto, BookVehicleVO.class);
bookVehicleVo.setBookType(BookType.USER_RENT.getCode());
bookVehicleVo.setVehicleId(pageDataVO.getData().get(0).getId()); bookVehicleVo.setVehicleId(pageDataVO.getData().get(0).getId());
VehicleBookRecord vehicleBookRecord = baseBiz.applyVehicle4Employee(operatorId, bookVehicleVo, userName); VehicleBookRecord vehicleBookRecord = baseBiz.applyVehicle4Employee(operatorId, bookVehicleVo, userName);
return ObjectRestResponse.succ(vehicleBookRecord); return ObjectRestResponse.succ(vehicleBookRecord);
......
package com.xxfc.platform.vehicle;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.junit.Test;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.List;
public class ListTest {
@Test
public void ListTest(){
List<Object> objects = Arrays.asList();
DateTime startDay= DateTime.parse("2019-07-30 00:00:00", DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"));
System.out.println(startDay);
}
}
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