This commit is contained in:
lifenlong 2021-08-28 07:16:59 +08:00
commit b930a598c8
9 changed files with 72 additions and 18 deletions

View File

@ -17,7 +17,7 @@ public enum ResultCode {
/**
* 失败返回码
*/
ERROR(400, "业务异常,请核对问题后进行重试"),
ERROR(400, "服务器繁忙,请稍后重试"),
/**
* 失败返回码

View File

@ -57,9 +57,6 @@ public class CartSkuVO extends CartBase implements Serializable {
@ApiModelProperty(value = "是否免运费")
private Boolean isFreeFreight;
@ApiModelProperty(value = "积分购买 积分数量")
private Long point;
@ApiModelProperty(value = "是否失效 ")
private Boolean invalid;
@ -79,6 +76,9 @@ public class CartSkuVO extends CartBase implements Serializable {
@ApiModelProperty(value = "积分兑换ID")
private String pointsId;
@ApiModelProperty(value = "积分购买 积分数量")
private Long point;
@ApiModelProperty(value = "可参与的单品活动")
private List<PromotionGoods> promotions;

View File

@ -1,5 +1,6 @@
package cn.lili.modules.order.cart.render.impl;
import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.utils.CurrencyUtil;
import cn.lili.modules.order.cart.entity.dto.TradeDTO;
@ -9,6 +10,7 @@ import cn.lili.modules.order.cart.entity.vo.CartVO;
import cn.lili.modules.order.cart.render.CartRenderStep;
import cn.lili.modules.order.order.entity.dto.PriceDetailDTO;
import cn.lili.modules.promotion.entity.enums.KanJiaStatusEnum;
import cn.lili.modules.promotion.entity.vos.PromotionSkuVO;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivitySearchParams;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivityVO;
import cn.lili.modules.promotion.service.KanjiaActivityService;
@ -76,16 +78,18 @@ public class SkuPromotionRender implements CartRenderStep {
switch (tradeDTO.getCartTypeEnum()) {
//这里是双重循环但是实际积分购买或者是砍价购买时购物车只有一个商品所以没有循环操作数据库或者其他的问题
case POINTS:
//处理积分商品购买
for (CartVO cartVO : tradeDTO.getCartList()) {
for (CartSkuVO cartSkuVO : cartVO.getSkuList()) {
cartSkuVO.getPriceDetailDTO().setPayPoint(cartSkuVO.getPoint());
PromotionSkuVO promotionSkuVO = new PromotionSkuVO(PromotionTypeEnum.PINTUAN.name(), cartSkuVO.getPointsId());
cartSkuVO.getPriceDetailDTO().getJoinPromotion().add(promotionSkuVO);
}
}
return;
case KANJIA:
for (CartVO cartVO : tradeDTO.getCartList()) {
for (CartSkuVO cartSkuVO : cartVO.getSkuList()) {
@ -101,11 +105,20 @@ public class SkuPromotionRender implements CartRenderStep {
cartSkuVO.setSubTotal(kanjiaActivityVO.getPurchasePrice());
cartSkuVO.getPriceDetailDTO().setGoodsPrice(kanjiaActivityVO.getPurchasePrice());
}
PromotionSkuVO promotionSkuVO = new PromotionSkuVO(PromotionTypeEnum.KANJIA.name(), cartSkuVO.getKanjiaId());
cartSkuVO.getPriceDetailDTO().getJoinPromotion().add(promotionSkuVO);
}
}
return;
case PINTUAN:
for (CartVO cartVO : tradeDTO.getCartList()) {
for (CartSkuVO cartSkuVO : cartVO.getSkuList()) {
PromotionSkuVO promotionSkuVO = new PromotionSkuVO(PromotionTypeEnum.PINTUAN.name(), cartSkuVO.getPintuanId());
cartSkuVO.getPriceDetailDTO().getJoinPromotion().add(promotionSkuVO);
}
}
return;
case CART:
case BUY_NOW:
case VIRTUAL:

View File

@ -730,6 +730,7 @@ public class CartServiceImpl implements CartService {
throw new ServiceException(ResultCode.KANJIA_ACTIVITY_NOT_PASS_ERROR);
}
//砍价商品默认一件货物
cartSkuVO.setKanjiaId(kanjiaActivity.getId());
cartSkuVO.setNum(1);
}
@ -745,6 +746,7 @@ public class CartServiceImpl implements CartService {
if (pointsGoodsVO != null) {
cartSkuVO.setPoint(pointsGoodsVO.getPoints());
cartSkuVO.setPurchasePrice(0D);
cartSkuVO.setPointsId(pointsGoodsVO.getId());
}
}
}

View File

@ -2,17 +2,17 @@ package cn.lili.modules.order.order.entity.dos;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.json.JSONUtil;
import cn.lili.mybatis.BaseEntity;
import cn.lili.common.utils.BeanUtil;
import cn.lili.common.utils.SnowFlake;
import cn.lili.modules.order.cart.entity.dto.TradeDTO;
import cn.lili.modules.order.cart.entity.vo.CartSkuVO;
import cn.lili.modules.order.cart.entity.vo.CartVO;
import cn.lili.modules.order.order.entity.dto.PriceDetailDTO;
import cn.lili.modules.order.order.entity.enums.CommentStatusEnum;
import cn.lili.modules.order.order.entity.enums.OrderComplaintStatusEnum;
import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum;
import cn.lili.modules.promotion.entity.dto.BasePromotion;
import cn.lili.modules.order.cart.entity.dto.TradeDTO;
import cn.lili.modules.order.cart.entity.vo.CartSkuVO;
import cn.lili.modules.order.cart.entity.vo.CartVO;
import cn.lili.modules.promotion.entity.vos.PromotionSkuVO;
import cn.lili.mybatis.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -126,8 +126,8 @@ public class OrderItem extends BaseEntity {
BeanUtil.copyProperties(cartSkuVO, this);
this.setId(oldId);
if (cartSkuVO.getPriceDetailDTO().getJoinPromotion() != null && !cartSkuVO.getPriceDetailDTO().getJoinPromotion().isEmpty()) {
this.setPromotionType(CollUtil.join(cartSkuVO.getPriceDetailDTO().getJoinPromotion().stream().map(BasePromotion::getPromotionName).collect(Collectors.toList()), ","));
this.setPromotionId(CollUtil.join(cartSkuVO.getPriceDetailDTO().getJoinPromotion().stream().map(BasePromotion::getId).collect(Collectors.toList()), ","));
this.setPromotionType(CollUtil.join(cartSkuVO.getPriceDetailDTO().getJoinPromotion().stream().map(PromotionSkuVO::getPromotionType).collect(Collectors.toList()), ","));
this.setPromotionId(CollUtil.join(cartSkuVO.getPriceDetailDTO().getJoinPromotion().stream().map(PromotionSkuVO::getActivityId).collect(Collectors.toList()), ","));
}
this.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.NEW.name());
this.setCommentStatus(CommentStatusEnum.NEW.name());

View File

@ -2,7 +2,7 @@ package cn.lili.modules.order.order.entity.dto;
import cn.lili.common.utils.CurrencyUtil;
import cn.lili.modules.promotion.entity.dto.BasePromotion;
import cn.lili.modules.promotion.entity.vos.PromotionSkuVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -95,7 +95,7 @@ public class PriceDetailDTO implements Serializable {
* 参与的促销活动
*/
@ApiModelProperty(value = "参与的促销活动")
private List<BasePromotion> joinPromotion;
private List<PromotionSkuVO> joinPromotion;
public Double getOriginalPrice() {

View File

@ -226,7 +226,6 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
QueryWrapper<UserRole> queryWrapper = new QueryWrapper<>();
queryWrapper.in("user_id", ids);
userRoleService.remove(queryWrapper);
}
/**
@ -236,6 +235,11 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
* @param roles 角色id集合
*/
private void updateRole(String userId, List<String> roles) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("user_id", userId);
userRoleService.remove(queryWrapper);
if (roles.isEmpty() || roles == null) {
return;
}

View File

@ -5,6 +5,7 @@ import cn.lili.common.exception.ServiceException;
import cn.lili.modules.permission.entity.dos.Role;
import cn.lili.modules.permission.mapper.RoleMapper;
import cn.lili.modules.permission.service.DepartmentRoleService;
import cn.lili.modules.permission.service.RoleMenuService;
import cn.lili.modules.permission.service.RoleService;
import cn.lili.modules.permission.service.UserRoleService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -36,6 +37,9 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
@Autowired
private UserRoleService userRoleService;
@Autowired
private RoleMenuService roleMenuService;
@Override
public List<Role> findByDefaultRole(Boolean defaultRole) {
QueryWrapper<Role> queryWrapper = new QueryWrapper<>();
@ -56,6 +60,6 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
//删除角色
this.removeByIds(roleIds);
//删除角色与菜单关联
userRoleService.remove(queryWrapper);
roleMenuService.remove(queryWrapper);
}
}

View File

@ -0,0 +1,31 @@
package cn.lili.modules.promotion.entity.vos;
import cn.lili.common.enums.PromotionTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 促销skuVO
*
* @author Chopper
* @version v1.0
* 2021-08-28 03:24
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PromotionSkuVO {
/**
* 促销类型
* @see PromotionTypeEnum
*/
private String promotionType;
/**
* 促销活动
*/
private String activityId;
}