修改参数类型

This commit is contained in:
gong
2025-12-18 16:17:45 +08:00
parent e08860c149
commit bfd534dc7b
10 changed files with 177 additions and 24 deletions

View File

@@ -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);
}
}

View File

@@ -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)

View File

@@ -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);
});