修改参数类型
This commit is contained in:
@@ -1,9 +1,16 @@
|
||||
package com.czg.service.market.service.impl;
|
||||
|
||||
import com.czg.account.dto.user.userinfo.UserInfoDTO;
|
||||
import com.czg.account.service.SysUserService;
|
||||
import com.czg.account.service.UserInfoService;
|
||||
import com.czg.exception.CzgException;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||
import com.czg.market.entity.PpHelpRecord;
|
||||
import com.czg.market.service.PpHelpRecordService;
|
||||
import com.czg.service.market.mapper.PpHelpRecordMapper;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
@@ -13,6 +20,30 @@ import org.springframework.stereotype.Service;
|
||||
* @since 2025-12-18
|
||||
*/
|
||||
@Service
|
||||
public class PpHelpRecordServiceImpl extends ServiceImpl<PpHelpRecordMapper, PpHelpRecord> implements PpHelpRecordService{
|
||||
public class PpHelpRecordServiceImpl extends ServiceImpl<PpHelpRecordMapper, PpHelpRecord> implements PpHelpRecordService {
|
||||
|
||||
@DubboReference
|
||||
private UserInfoService userInfoService;
|
||||
|
||||
@Override
|
||||
public boolean canHelp(Long userId, Long orderId) {
|
||||
return !exists(QueryWrapper.create().eq(PpHelpRecord::getUserId, userId).eq(PpHelpRecord::getOrderId, orderId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean help(Long userId, Long orderId) {
|
||||
if (!canHelp(userId, orderId)) {
|
||||
return false;
|
||||
}
|
||||
UserInfoDTO info = userInfoService.getInfo(userId);
|
||||
if (info == null) {
|
||||
throw new CzgException("用户不存在");
|
||||
}
|
||||
PpHelpRecord helpRecord = new PpHelpRecord()
|
||||
.setOrderId(orderId)
|
||||
.setUserId(userId)
|
||||
.setUserName(info.getNickName())
|
||||
.setUserAvator(info.getHeadImg());
|
||||
return save(helpRecord);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
package com.czg.service.market.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.czg.constants.PpPackageConstants;
|
||||
import com.czg.constants.SystemConstants;
|
||||
import com.czg.enums.OrderNoPrefixEnum;
|
||||
import com.czg.exception.CzgException;
|
||||
import com.czg.market.dto.PpPackageOrderDTO;
|
||||
import com.czg.market.entity.PpPackage;
|
||||
import com.czg.market.entity.PpPackageOrder;
|
||||
import com.czg.market.service.PpHelpRecordService;
|
||||
import com.czg.market.service.PpPackageOrderService;
|
||||
import com.czg.sa.StpKit;
|
||||
import com.czg.service.market.mapper.PpPackageMapper;
|
||||
@@ -16,6 +19,7 @@ import com.mybatisflex.core.update.UpdateChain;
|
||||
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@@ -31,6 +35,9 @@ public class PpPackageOrderServiceImpl extends ServiceImpl<PpPackageOrderMapper,
|
||||
@Resource
|
||||
private PpPackageMapper ppPackageMapper;
|
||||
|
||||
@Resource
|
||||
private PpHelpRecordService ppHelpRecordService;
|
||||
|
||||
@Override
|
||||
public Long createPackageOrder(Long packageId) {
|
||||
PpPackage aPackage = ppPackageMapper.selectOneByQuery(QueryWrapper.create().eq(PpPackage::getId, packageId)
|
||||
@@ -49,12 +56,64 @@ public class PpPackageOrderServiceImpl extends ServiceImpl<PpPackageOrderMapper,
|
||||
.setUserId(StpKit.USER.getLoginIdAsLong())
|
||||
.setShareNum(0)
|
||||
.setOrderNo(CzgRandomUtils.randomNumber(OrderNoPrefixEnum.PPO, 12, false))
|
||||
.setStatus(PpPackageConstants.OrderStatus.PROCESSING);
|
||||
.setStatus(PpPackageConstants.OrderStatus.PROCESSING)
|
||||
.setExpireTime(LocalDateTime.now().plusHours(aPackage.getExpireHours() == null ? 72 : aPackage.getExpireHours()));
|
||||
save(order);
|
||||
|
||||
return order.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public PpPackageOrderDTO getOrderDetailById(Long orderId) {
|
||||
long loginUserId = StpKit.USER.getLoginIdAsLong();
|
||||
PpPackageOrder order = getById(orderId);
|
||||
if (order == null) {
|
||||
throw new CzgException("订单不存在");
|
||||
}
|
||||
|
||||
PpPackageOrderDTO orderDto = BeanUtil.copyProperties(order, PpPackageOrderDTO.class);
|
||||
|
||||
orderDto.setIsMyself(order.getUserId().equals(loginUserId) ? SystemConstants.OneZero.ONE : SystemConstants.OneZero.ZERO);
|
||||
if (PpPackageConstants.OrderStatus.PROCESSING.equals(order.getStatus())) {
|
||||
if (orderDto.getIsMyself().equals(SystemConstants.OneZero.ZERO)) {
|
||||
boolean canHelp = ppHelpRecordService.canHelp(loginUserId, orderId);
|
||||
orderDto.setCanHelp(canHelp ? SystemConstants.OneZero.ONE : SystemConstants.OneZero.ZERO);
|
||||
} else {
|
||||
orderDto.setCanHelp(SystemConstants.OneZero.ZERO);
|
||||
}
|
||||
} else {
|
||||
orderDto.setCanHelp(0);
|
||||
}
|
||||
|
||||
return orderDto;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public boolean helpOrder(Long orderId) {
|
||||
PpPackageOrder order = getById(orderId);
|
||||
if (order == null) {
|
||||
throw new CzgException("订单不存在");
|
||||
}
|
||||
|
||||
if (!PpPackageConstants.OrderStatus.PROCESSING.equals(order.getStatus())) {
|
||||
throw new CzgException("订单已结束");
|
||||
}
|
||||
|
||||
long loginUserId = StpKit.USER.getLoginIdAsLong();
|
||||
if (order.getUserId().equals(loginUserId)) {
|
||||
throw new CzgException("不能助力自己");
|
||||
}
|
||||
|
||||
if (!ppHelpRecordService.help(loginUserId, orderId)) {
|
||||
return false;
|
||||
}
|
||||
return UpdateChain.of(PpPackageOrder.class)
|
||||
.set(PpPackageOrder::getShareNum, order.getShareNum() + 1)
|
||||
.eq(PpPackageOrder::getId, orderId)
|
||||
.update();
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getProgressingPackageOrderCount(Long packageId) {
|
||||
QueryWrapper wrapper = QueryWrapper.create().eq(PpPackageOrder::getPackageId, packageId)
|
||||
|
||||
@@ -2,7 +2,6 @@ package com.czg.service.market.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.czg.account.entity.ShopConfig;
|
||||
import com.czg.account.service.ShopConfigService;
|
||||
import com.czg.account.service.ShopInfoService;
|
||||
@@ -86,9 +85,11 @@ public class PpPackageServiceImpl extends ServiceImpl<PpPackageMapper, PpPackage
|
||||
|
||||
ppPackage = BeanUtil.copyProperties(packageVO, PpPackage.class);
|
||||
ppPackage.setShopId(shopId);
|
||||
ppPackage.setPackageContent(JSONObject.toJSONString(packageVO.getPackageContent()));
|
||||
ppPackage.setUseWeeks(JSONObject.toJSONString(packageVO.getUseWeeks()));
|
||||
ppPackage.setTieredDiscount(JSONObject.toJSONString(packageVO.getTieredDiscount()));
|
||||
ppPackage.setPackageContent(JSONArray.toJSONString(packageVO.getPackageContent()));
|
||||
ppPackage.setUseWeeks(JSONArray.toJSONString(packageVO.getUseWeeks()));
|
||||
ppPackage.setTieredDiscount(JSONArray.toJSONString(packageVO.getTieredDiscount()));
|
||||
ppPackage.setImages(JSONArray.toJSONString(packageVO.getImages()));
|
||||
ppPackage.setDetailImages(JSONArray.toJSONString(packageVO.getDetailImages()));
|
||||
|
||||
save(ppPackage);
|
||||
}
|
||||
@@ -108,9 +109,10 @@ public class PpPackageServiceImpl extends ServiceImpl<PpPackageMapper, PpPackage
|
||||
}
|
||||
|
||||
ppPackage = BeanUtil.copyProperties(packageVO, PpPackage.class);
|
||||
ppPackage.setPackageContent(JSONObject.toJSONString(packageVO.getPackageContent()));
|
||||
ppPackage.setUseWeeks(JSONObject.toJSONString(packageVO.getUseWeeks()));
|
||||
ppPackage.setTieredDiscount(JSONObject.toJSONString(packageVO.getTieredDiscount()));
|
||||
ppPackage.setPackageContent(JSONArray.toJSONString(packageVO.getPackageContent()));
|
||||
ppPackage.setUseWeeks(JSONArray.toJSONString(packageVO.getUseWeeks()));
|
||||
ppPackage.setTieredDiscount(JSONArray.toJSONString(packageVO.getTieredDiscount()));
|
||||
ppPackage.setImages(JSONArray.toJSONString(packageVO.getImages()));
|
||||
updateById(ppPackage);
|
||||
}
|
||||
|
||||
@@ -180,6 +182,8 @@ public class PpPackageServiceImpl extends ServiceImpl<PpPackageMapper, PpPackage
|
||||
packageVO.setUseWeeks(JSONArray.parseArray(item.getUseWeeks(), String.class));
|
||||
packageVO.setPackageContent(JSONArray.parseArray(item.getPackageContent(), PpPackageVO.PackageContent.class));
|
||||
packageVO.setTieredDiscount(JSONArray.parseArray(item.getTieredDiscount(), PpPackageVO.TieredDiscount.class));
|
||||
packageVO.setImages(JSONArray.parseArray(item.getImages(), String.class));
|
||||
packageVO.setDetailImages(JSONArray.parseArray(item.getDetailImages(), String.class));
|
||||
|
||||
voList.add(packageVO);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user