修改商品参数校验以及充值回调接口
This commit is contained in:
parent
701ea240ab
commit
5786cb9e55
@ -37,7 +37,8 @@ public class WalletLogBuyerController {
|
||||
//获取当前登录用户
|
||||
AuthUser authUser = UserContext.getCurrentUser();
|
||||
//构建查询 返回数据
|
||||
IPage<WalletLog> depositLogPage = walletLogService.page(PageUtil.initPage(page), new QueryWrapper<WalletLog>().eq("member_id", authUser.getId()));
|
||||
IPage<WalletLog> depositLogPage = walletLogService.page(PageUtil.initPage(page),
|
||||
new QueryWrapper<WalletLog>().eq("member_id", authUser.getId()).orderByDesc("create_time"));
|
||||
return ResultUtil.data(depositLogPage);
|
||||
}
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ public class CategoryParameterGroup extends BaseEntity {
|
||||
@NotNull(message = "关联的分类不能为空")
|
||||
private String categoryId;
|
||||
/**
|
||||
*
|
||||
* 排序
|
||||
*/
|
||||
@ApiModelProperty(value = "排序", hidden = true)
|
||||
private Integer sort;
|
||||
|
@ -16,13 +16,16 @@ import cn.lili.config.rocketmq.RocketmqCustomProperties;
|
||||
import cn.lili.modules.goods.entity.dos.Category;
|
||||
import cn.lili.modules.goods.entity.dos.Goods;
|
||||
import cn.lili.modules.goods.entity.dos.GoodsGallery;
|
||||
import cn.lili.modules.goods.entity.dos.Parameters;
|
||||
import cn.lili.modules.goods.entity.dto.GoodsOperationDTO;
|
||||
import cn.lili.modules.goods.entity.dto.GoodsParamsDTO;
|
||||
import cn.lili.modules.goods.entity.dto.GoodsParamsItemDTO;
|
||||
import cn.lili.modules.goods.entity.dto.GoodsSearchParams;
|
||||
import cn.lili.modules.goods.entity.enums.GoodsAuthEnum;
|
||||
import cn.lili.modules.goods.entity.enums.GoodsStatusEnum;
|
||||
import cn.lili.modules.goods.entity.vos.GoodsSkuVO;
|
||||
import cn.lili.modules.goods.entity.vos.GoodsVO;
|
||||
import cn.lili.modules.goods.entity.vos.ParameterGroupVO;
|
||||
import cn.lili.modules.goods.mapper.GoodsMapper;
|
||||
import cn.lili.modules.goods.service.*;
|
||||
import cn.lili.modules.member.entity.dos.MemberEvaluation;
|
||||
@ -84,6 +87,8 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
|
||||
//rocketMq配置
|
||||
@Autowired
|
||||
private RocketmqCustomProperties rocketmqCustomProperties;
|
||||
@Autowired
|
||||
private CategoryParameterGroupService categoryParameterGroupService;
|
||||
|
||||
|
||||
@Override
|
||||
@ -108,6 +113,9 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
|
||||
this.setGoodsGalleryParam(goodsOperationDTO.getGoodsGalleryList().get(0), goods);
|
||||
//添加商品参数
|
||||
if (goodsOperationDTO.getGoodsParamsDTOList() != null && !goodsOperationDTO.getGoodsParamsDTOList().isEmpty()) {
|
||||
//检测商品参数是否合法
|
||||
//this.checkGoodsParams(goodsOperationDTO.getGoodsParamsDTOList(), goodsOperationDTO.getCategoryPath().substring(goodsOperationDTO.getCategoryPath().lastIndexOf(",") + 1));
|
||||
//给商品参数填充值
|
||||
goods.setParams(JSONUtil.toJsonStr(goodsOperationDTO.getGoodsParamsDTOList()));
|
||||
}
|
||||
//添加商品
|
||||
@ -323,6 +331,52 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
|
||||
goods.setThumbnail(goodsGallery.getThumbnail());
|
||||
}
|
||||
|
||||
/**
|
||||
* 检测商品参数是否非法传递
|
||||
*
|
||||
* @param goodsParamsDTOS 商品参数
|
||||
* @param categoryId 分类id
|
||||
*/
|
||||
private void checkGoodsParams(List<GoodsParamsDTO> goodsParamsDTOS, String categoryId) {
|
||||
//根据绑定的分了id查询出参数信息
|
||||
List<ParameterGroupVO> parameterGroupVOS = categoryParameterGroupService.getCategoryParams(categoryId);
|
||||
if (parameterGroupVOS.size() > 0) {
|
||||
//绑定分类的参数集合
|
||||
List<Parameters> parametersList = new ArrayList<>();
|
||||
//循环分类绑定的参数信息 把它整理到新的分类参数集合中 用于最后的参数信息对比
|
||||
for (ParameterGroupVO parameterGroupVO : parameterGroupVOS) {
|
||||
List<Parameters> parameters = parameterGroupVO.getParams();
|
||||
for (Parameters param : parameters) {
|
||||
parametersList.add(param);
|
||||
}
|
||||
}
|
||||
List<GoodsParamsItemDTO> goodsOperationParamList = new ArrayList<>();
|
||||
//循环添加商品传递的参数信息 把它整理到新的分类参数集合中 用于最后的参数信息对比
|
||||
for (GoodsParamsDTO goodsParamsDTO : goodsParamsDTOS) {
|
||||
List<GoodsParamsItemDTO> goodsParamsItemDTOS = goodsParamsDTO.getGoodsParamsItemDTOList();
|
||||
for (GoodsParamsItemDTO goodsParamsItemDTO : goodsParamsItemDTOS) {
|
||||
goodsOperationParamList.add(goodsParamsItemDTO);
|
||||
}
|
||||
}
|
||||
//两个参数集合进行对比
|
||||
for (Parameters parameters :parametersList){
|
||||
for (GoodsParamsItemDTO goodsParamsItemDTO :goodsOperationParamList){
|
||||
if(parameters.getId().equals(goodsParamsItemDTO.getParamId())){
|
||||
//校验是否可以索引参数是否正确
|
||||
if(!parameters.getIsIndex().equals(goodsParamsItemDTO.getIsIndex())){
|
||||
throw new ServiceException("商品参数错误,刷新后重试");
|
||||
}
|
||||
//校验是否必填参数是否正确
|
||||
if(!parameters.getRequired().equals(goodsParamsItemDTO.getRequired())){
|
||||
throw new ServiceException("商品参数错误,刷新后重试");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查商品信息
|
||||
* 如果商品是虚拟商品则无需配置配送模板
|
||||
|
@ -37,8 +37,9 @@ public interface RechargeService extends IService<Recharge> {
|
||||
*
|
||||
* @param sn 充值订单编号
|
||||
* @param receivableNo 流水no
|
||||
* @param paymentMethod 支付方式
|
||||
*/
|
||||
void paySuccess(String sn, String receivableNo);
|
||||
void paySuccess(String sn, String receivableNo,String paymentMethod);
|
||||
|
||||
/**
|
||||
* 根据充值订单号查询充值信息
|
||||
|
@ -1,9 +1,11 @@
|
||||
package cn.lili.modules.order.trade.serviceimpl;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.lili.common.enums.ResultCode;
|
||||
import cn.lili.common.exception.ServiceException;
|
||||
import cn.lili.common.security.AuthUser;
|
||||
import cn.lili.common.security.context.UserContext;
|
||||
import cn.lili.common.utils.DateUtil;
|
||||
import cn.lili.common.utils.PageUtil;
|
||||
import cn.lili.common.utils.SnowFlake;
|
||||
import cn.lili.common.utils.StringUtils;
|
||||
@ -68,19 +70,22 @@ public class RechargeServiceImpl extends ServiceImpl<RechargeMapper, Recharge> i
|
||||
Date end = cn.hutool.core.date.DateUtil.parse(rechargeQueryVO.getEndDate());
|
||||
queryWrapper.between("pay_time", start, end);
|
||||
}
|
||||
queryWrapper.orderByDesc("create_time");
|
||||
//查询返回数据
|
||||
return this.page(PageUtil.initPage(page), queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void paySuccess(String sn, String receivableNo) {
|
||||
public void paySuccess(String sn, String receivableNo,String paymentMethod) {
|
||||
//根据sn获取支付账单
|
||||
Recharge recharge = this.getOne(new QueryWrapper<Recharge>().eq("recharge_sn", sn));
|
||||
//如果支付账单不为空则进行一下逻辑
|
||||
if (recharge != null) {
|
||||
if (recharge != null && !recharge.getPayStatus().equals(PayStatusEnum.PAID.name())) {
|
||||
//将此账单支付状态更改为已支付
|
||||
recharge.setPayStatus(PayStatusEnum.PAID.name());
|
||||
recharge.setReceivableNo(receivableNo);
|
||||
recharge.setPayTime(new DateTime());
|
||||
recharge.setRechargeWay(paymentMethod);
|
||||
//执行保存操作
|
||||
this.updateById(recharge);
|
||||
//增加预存款余额
|
||||
|
@ -45,7 +45,7 @@ public class RechargeCashier implements CashierExecute {
|
||||
public void paymentSuccess(PaymentSuccessParams paymentSuccessParams) {
|
||||
PayParam payParam = paymentSuccessParams.getPayParam();
|
||||
if (payParam.getOrderType().equals(CashierEnum.RECHARGE.name())) {
|
||||
rechargeService.paySuccess(payParam.getSn(), paymentSuccessParams.getReceivableNo());
|
||||
rechargeService.paySuccess(payParam.getSn(), paymentSuccessParams.getReceivableNo(),paymentSuccessParams.getPaymentMethod());
|
||||
log.info("会员充值-订单号{},第三方流水:{}", payParam.getSn(), paymentSuccessParams.getReceivableNo());
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user