修改参数类型
This commit is contained in:
@@ -7,6 +7,8 @@ import com.czg.market.vo.PpPackagePageReqVo;
|
|||||||
import com.czg.market.vo.PpPackageVO;
|
import com.czg.market.vo.PpPackageVO;
|
||||||
import com.czg.resp.CzgResult;
|
import com.czg.resp.CzgResult;
|
||||||
import com.czg.utils.AssertUtil;
|
import com.czg.utils.AssertUtil;
|
||||||
|
import com.czg.validator.group.InsertGroup;
|
||||||
|
import com.czg.validator.group.UpdateGroup;
|
||||||
import com.mybatisflex.core.paginate.Page;
|
import com.mybatisflex.core.paginate.Page;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
@@ -29,8 +31,8 @@ public class PpPackageController {
|
|||||||
* 添加套餐
|
* 添加套餐
|
||||||
*/
|
*/
|
||||||
@PostMapping
|
@PostMapping
|
||||||
@SaAdminCheckPermission(parentName = "套餐推广", value = "points:package:add", name = "添加套餐")
|
@SaAdminCheckPermission(parentName = "套餐推广", value = "market:package:add", name = "添加套餐")
|
||||||
public CzgResult<Void> addPackage(@RequestBody @Validated PpPackageVO packageVO) {
|
public CzgResult<Void> addPackage(@RequestBody @Validated({InsertGroup.class}) PpPackageVO packageVO) {
|
||||||
ppPackageService.insertPackage(packageVO);
|
ppPackageService.insertPackage(packageVO);
|
||||||
return CzgResult.success();
|
return CzgResult.success();
|
||||||
}
|
}
|
||||||
@@ -39,8 +41,8 @@ public class PpPackageController {
|
|||||||
* 修改套餐
|
* 修改套餐
|
||||||
*/
|
*/
|
||||||
@PutMapping
|
@PutMapping
|
||||||
@SaAdminCheckPermission(parentName = "套餐推广", value = "points:package:update", name = "修改套餐")
|
@SaAdminCheckPermission(parentName = "套餐推广", value = "market:package:update", name = "修改套餐")
|
||||||
public CzgResult<Void> updatePackage(@RequestBody @Validated PpPackageVO packageVO) {
|
public CzgResult<Void> updatePackage(@RequestBody @Validated({UpdateGroup.class}) PpPackageVO packageVO) {
|
||||||
ppPackageService.updatePackage(packageVO);
|
ppPackageService.updatePackage(packageVO);
|
||||||
return CzgResult.success();
|
return CzgResult.success();
|
||||||
}
|
}
|
||||||
@@ -50,7 +52,7 @@ public class PpPackageController {
|
|||||||
* 如果返回值大于0则删除失败,存在进行中的订单,请继续调用确认删除套餐接口
|
* 如果返回值大于0则删除失败,存在进行中的订单,请继续调用确认删除套餐接口
|
||||||
*/
|
*/
|
||||||
@DeleteMapping("/{id}")
|
@DeleteMapping("/{id}")
|
||||||
@SaAdminCheckPermission(parentName = "套餐推广", value = "points:package:delete", name = "删除套餐")
|
@SaAdminCheckPermission(parentName = "套餐推广", value = "market:package:delete", name = "删除套餐")
|
||||||
public CzgResult<Long> deletePackage(@PathVariable Long id) {
|
public CzgResult<Long> deletePackage(@PathVariable Long id) {
|
||||||
return CzgResult.success(ppPackageService.deletePackage(id));
|
return CzgResult.success(ppPackageService.deletePackage(id));
|
||||||
}
|
}
|
||||||
@@ -59,7 +61,7 @@ public class PpPackageController {
|
|||||||
* 确认删除套餐
|
* 确认删除套餐
|
||||||
*/
|
*/
|
||||||
@DeleteMapping("/sure/{id}")
|
@DeleteMapping("/sure/{id}")
|
||||||
@SaAdminCheckPermission(parentName = "套餐推广", value = "points:package:sureDelete", name = "确认删除套餐")
|
@SaAdminCheckPermission(parentName = "套餐推广", value = "market:package:sureDelete", name = "确认删除套餐")
|
||||||
public CzgResult<Void> sureDeletePackage(@PathVariable Long id) {
|
public CzgResult<Void> sureDeletePackage(@PathVariable Long id) {
|
||||||
ppPackageService.sureDeletePackage(id);
|
ppPackageService.sureDeletePackage(id);
|
||||||
return CzgResult.success();
|
return CzgResult.success();
|
||||||
@@ -78,7 +80,7 @@ public class PpPackageController {
|
|||||||
* 0: 关闭 1: 开启
|
* 0: 关闭 1: 开启
|
||||||
*/
|
*/
|
||||||
@GetMapping("/switch")
|
@GetMapping("/switch")
|
||||||
@SaAdminCheckPermission(parentName = "套餐推广", value = "points:package:getSwitch", name = "获取套餐推广开关")
|
@SaAdminCheckPermission(parentName = "套餐推广", value = "market:package:getSwitch", name = "获取套餐推广开关")
|
||||||
public CzgResult<Integer> getPackagePromotionSwitch() {
|
public CzgResult<Integer> getPackagePromotionSwitch() {
|
||||||
return CzgResult.success(ppPackageService.getPackagePromotionSwitch());
|
return CzgResult.success(ppPackageService.getPackagePromotionSwitch());
|
||||||
}
|
}
|
||||||
@@ -86,10 +88,10 @@ public class PpPackageController {
|
|||||||
/**
|
/**
|
||||||
* 修改套餐推广开关
|
* 修改套餐推广开关
|
||||||
* 0: 关闭 1: 开启
|
* 0: 关闭 1: 开启
|
||||||
* 参数 key = "status"
|
* {"status": 1}
|
||||||
*/
|
*/
|
||||||
@PutMapping("/switch")
|
@PutMapping("/switch")
|
||||||
@SaAdminCheckPermission(parentName = "套餐推广", value = "points:package:updateSwitch", name = "修改套餐推广开关")
|
@SaAdminCheckPermission(parentName = "套餐推广", value = "market:package:updateSwitch", name = "修改套餐推广开关")
|
||||||
public CzgResult<Boolean> updatePackagePromotionSwitch(@RequestBody JSONObject param) {
|
public CzgResult<Boolean> updatePackagePromotionSwitch(@RequestBody JSONObject param) {
|
||||||
AssertUtil.isNull(param, "参数错误");
|
AssertUtil.isNull(param, "参数错误");
|
||||||
Integer status = param.getInteger("status");
|
Integer status = param.getInteger("status");
|
||||||
|
|||||||
@@ -1,15 +1,18 @@
|
|||||||
|
|
||||||
package com.czg.market.dto;
|
package com.czg.market.dto;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import com.alibaba.fastjson2.annotation.JSONField;
|
import com.alibaba.fastjson2.annotation.JSONField;
|
||||||
import lombok.experimental.Accessors;
|
import com.czg.market.vo.PpPackageVO;
|
||||||
import java.io.Serial;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 套餐推广订单 实体类。
|
* 套餐推广订单 实体类。
|
||||||
@@ -63,6 +66,7 @@ public class PpPackageOrderDTO implements Serializable {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单状态:ing进行中, wait_verify 待核销,finish 已核销,refunding 退款中,refund 已退款,cancel 已取消,timeout 超时
|
* 订单状态:ing进行中, wait_verify 待核销,finish 已核销,refunding 退款中,refund 已退款,cancel 已取消,timeout 超时
|
||||||
|
* {@link com.czg.constants.PpPackageConstants.OrderStatus}
|
||||||
*/
|
*/
|
||||||
private String status;
|
private String status;
|
||||||
|
|
||||||
@@ -111,4 +115,30 @@ public class PpPackageOrderDTO implements Serializable {
|
|||||||
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
|
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
|
||||||
private LocalDateTime updateTime;
|
private LocalDateTime updateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 过期时间
|
||||||
|
*/
|
||||||
|
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime expireTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否可以助力:0: 不可以 1: 可以
|
||||||
|
*/
|
||||||
|
private Integer canHelp;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否是自己订单 0: 不是 1: 是
|
||||||
|
*/
|
||||||
|
private Integer isMyself;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 阶梯优惠
|
||||||
|
*/
|
||||||
|
private List<PpPackageVO.TieredDiscount> tieredDiscount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分享期限(小时)
|
||||||
|
*/
|
||||||
|
private Integer expireHours;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import lombok.AllArgsConstructor;
|
|||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 套餐推广助力记录 实体类。
|
* 套餐推广助力记录 实体类。
|
||||||
@@ -20,6 +21,7 @@ import lombok.NoArgsConstructor;
|
|||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
|
@Accessors(chain = true)
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@Table("pp_help_record")
|
@Table("pp_help_record")
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.czg.market.entity;
|
package com.czg.market.entity;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson2.annotation.JSONField;
|
||||||
import com.mybatisflex.annotation.Column;
|
import com.mybatisflex.annotation.Column;
|
||||||
import com.mybatisflex.annotation.Id;
|
import com.mybatisflex.annotation.Id;
|
||||||
import com.mybatisflex.annotation.KeyType;
|
import com.mybatisflex.annotation.KeyType;
|
||||||
@@ -117,4 +118,10 @@ public class PpPackageOrder implements Serializable {
|
|||||||
@Column(onInsertValue = "now()", onUpdateValue = "now()")
|
@Column(onInsertValue = "now()", onUpdateValue = "now()")
|
||||||
private LocalDateTime updateTime;
|
private LocalDateTime updateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 过期时间
|
||||||
|
*/
|
||||||
|
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime expireTime;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,4 +11,7 @@ import com.czg.market.entity.PpHelpRecord;
|
|||||||
*/
|
*/
|
||||||
public interface PpHelpRecordService extends IService<PpHelpRecord> {
|
public interface PpHelpRecordService extends IService<PpHelpRecord> {
|
||||||
|
|
||||||
|
boolean canHelp(Long userId, Long orderId);
|
||||||
|
|
||||||
|
boolean help(Long userId, Long orderId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.czg.market.service;
|
package com.czg.market.service;
|
||||||
|
|
||||||
|
import com.czg.market.dto.PpPackageOrderDTO;
|
||||||
import com.mybatisflex.core.service.IService;
|
import com.mybatisflex.core.service.IService;
|
||||||
import com.czg.market.entity.PpPackageOrder;
|
import com.czg.market.entity.PpPackageOrder;
|
||||||
|
|
||||||
@@ -16,6 +17,16 @@ public interface PpPackageOrderService extends IService<PpPackageOrder> {
|
|||||||
*/
|
*/
|
||||||
Long createPackageOrder(Long packageId);
|
Long createPackageOrder(Long packageId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据订单 Id 查询推广订单详情
|
||||||
|
*/
|
||||||
|
PpPackageOrderDTO getOrderDetailById(Long orderId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 助力订单
|
||||||
|
*/
|
||||||
|
boolean helpOrder(Long orderId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取进行中的套餐推广订单数量
|
* 获取进行中的套餐推广订单数量
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ package com.czg.market.vo;
|
|||||||
import com.alibaba.fastjson2.annotation.JSONField;
|
import com.alibaba.fastjson2.annotation.JSONField;
|
||||||
import com.czg.validator.group.InsertGroup;
|
import com.czg.validator.group.InsertGroup;
|
||||||
import com.czg.validator.group.UpdateGroup;
|
import com.czg.validator.group.UpdateGroup;
|
||||||
|
import jakarta.validation.constraints.Max;
|
||||||
|
import jakarta.validation.constraints.Min;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -150,6 +152,8 @@ public class PpPackageVO {
|
|||||||
/**
|
/**
|
||||||
* 分享期限(小时)
|
* 分享期限(小时)
|
||||||
*/
|
*/
|
||||||
|
@Max(value = 72, message = "分享期限不能大于72小时", groups = {UpdateGroup.class, InsertGroup.class})
|
||||||
|
@Min(value = 1, message = "分享期限不能小于1小时", groups = {UpdateGroup.class, InsertGroup.class})
|
||||||
private Integer expireHours;
|
private Integer expireHours;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -160,7 +164,7 @@ public class PpPackageVO {
|
|||||||
/**
|
/**
|
||||||
* 商品详情图片
|
* 商品详情图片
|
||||||
*/
|
*/
|
||||||
private String detailImages;
|
private List<String> detailImages;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建时间
|
* 创建时间
|
||||||
|
|||||||
@@ -1,9 +1,16 @@
|
|||||||
package com.czg.service.market.service.impl;
|
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.mybatisflex.spring.service.impl.ServiceImpl;
|
||||||
import com.czg.market.entity.PpHelpRecord;
|
import com.czg.market.entity.PpHelpRecord;
|
||||||
import com.czg.market.service.PpHelpRecordService;
|
import com.czg.market.service.PpHelpRecordService;
|
||||||
import com.czg.service.market.mapper.PpHelpRecordMapper;
|
import com.czg.service.market.mapper.PpHelpRecordMapper;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -13,6 +20,30 @@ import org.springframework.stereotype.Service;
|
|||||||
* @since 2025-12-18
|
* @since 2025-12-18
|
||||||
*/
|
*/
|
||||||
@Service
|
@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;
|
package com.czg.service.market.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import com.czg.constants.PpPackageConstants;
|
import com.czg.constants.PpPackageConstants;
|
||||||
import com.czg.constants.SystemConstants;
|
import com.czg.constants.SystemConstants;
|
||||||
import com.czg.enums.OrderNoPrefixEnum;
|
import com.czg.enums.OrderNoPrefixEnum;
|
||||||
import com.czg.exception.CzgException;
|
import com.czg.exception.CzgException;
|
||||||
|
import com.czg.market.dto.PpPackageOrderDTO;
|
||||||
import com.czg.market.entity.PpPackage;
|
import com.czg.market.entity.PpPackage;
|
||||||
import com.czg.market.entity.PpPackageOrder;
|
import com.czg.market.entity.PpPackageOrder;
|
||||||
|
import com.czg.market.service.PpHelpRecordService;
|
||||||
import com.czg.market.service.PpPackageOrderService;
|
import com.czg.market.service.PpPackageOrderService;
|
||||||
import com.czg.sa.StpKit;
|
import com.czg.sa.StpKit;
|
||||||
import com.czg.service.market.mapper.PpPackageMapper;
|
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 com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
@@ -31,6 +35,9 @@ public class PpPackageOrderServiceImpl extends ServiceImpl<PpPackageOrderMapper,
|
|||||||
@Resource
|
@Resource
|
||||||
private PpPackageMapper ppPackageMapper;
|
private PpPackageMapper ppPackageMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private PpHelpRecordService ppHelpRecordService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Long createPackageOrder(Long packageId) {
|
public Long createPackageOrder(Long packageId) {
|
||||||
PpPackage aPackage = ppPackageMapper.selectOneByQuery(QueryWrapper.create().eq(PpPackage::getId, 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())
|
.setUserId(StpKit.USER.getLoginIdAsLong())
|
||||||
.setShareNum(0)
|
.setShareNum(0)
|
||||||
.setOrderNo(CzgRandomUtils.randomNumber(OrderNoPrefixEnum.PPO, 12, false))
|
.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);
|
save(order);
|
||||||
|
|
||||||
return order.getId();
|
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
|
@Override
|
||||||
public long getProgressingPackageOrderCount(Long packageId) {
|
public long getProgressingPackageOrderCount(Long packageId) {
|
||||||
QueryWrapper wrapper = QueryWrapper.create().eq(PpPackageOrder::getPackageId, 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 cn.hutool.core.bean.BeanUtil;
|
||||||
import com.alibaba.fastjson2.JSONArray;
|
import com.alibaba.fastjson2.JSONArray;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
|
||||||
import com.czg.account.entity.ShopConfig;
|
import com.czg.account.entity.ShopConfig;
|
||||||
import com.czg.account.service.ShopConfigService;
|
import com.czg.account.service.ShopConfigService;
|
||||||
import com.czg.account.service.ShopInfoService;
|
import com.czg.account.service.ShopInfoService;
|
||||||
@@ -86,9 +85,11 @@ public class PpPackageServiceImpl extends ServiceImpl<PpPackageMapper, PpPackage
|
|||||||
|
|
||||||
ppPackage = BeanUtil.copyProperties(packageVO, PpPackage.class);
|
ppPackage = BeanUtil.copyProperties(packageVO, PpPackage.class);
|
||||||
ppPackage.setShopId(shopId);
|
ppPackage.setShopId(shopId);
|
||||||
ppPackage.setPackageContent(JSONObject.toJSONString(packageVO.getPackageContent()));
|
ppPackage.setPackageContent(JSONArray.toJSONString(packageVO.getPackageContent()));
|
||||||
ppPackage.setUseWeeks(JSONObject.toJSONString(packageVO.getUseWeeks()));
|
ppPackage.setUseWeeks(JSONArray.toJSONString(packageVO.getUseWeeks()));
|
||||||
ppPackage.setTieredDiscount(JSONObject.toJSONString(packageVO.getTieredDiscount()));
|
ppPackage.setTieredDiscount(JSONArray.toJSONString(packageVO.getTieredDiscount()));
|
||||||
|
ppPackage.setImages(JSONArray.toJSONString(packageVO.getImages()));
|
||||||
|
ppPackage.setDetailImages(JSONArray.toJSONString(packageVO.getDetailImages()));
|
||||||
|
|
||||||
save(ppPackage);
|
save(ppPackage);
|
||||||
}
|
}
|
||||||
@@ -108,9 +109,10 @@ public class PpPackageServiceImpl extends ServiceImpl<PpPackageMapper, PpPackage
|
|||||||
}
|
}
|
||||||
|
|
||||||
ppPackage = BeanUtil.copyProperties(packageVO, PpPackage.class);
|
ppPackage = BeanUtil.copyProperties(packageVO, PpPackage.class);
|
||||||
ppPackage.setPackageContent(JSONObject.toJSONString(packageVO.getPackageContent()));
|
ppPackage.setPackageContent(JSONArray.toJSONString(packageVO.getPackageContent()));
|
||||||
ppPackage.setUseWeeks(JSONObject.toJSONString(packageVO.getUseWeeks()));
|
ppPackage.setUseWeeks(JSONArray.toJSONString(packageVO.getUseWeeks()));
|
||||||
ppPackage.setTieredDiscount(JSONObject.toJSONString(packageVO.getTieredDiscount()));
|
ppPackage.setTieredDiscount(JSONArray.toJSONString(packageVO.getTieredDiscount()));
|
||||||
|
ppPackage.setImages(JSONArray.toJSONString(packageVO.getImages()));
|
||||||
updateById(ppPackage);
|
updateById(ppPackage);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -180,6 +182,8 @@ public class PpPackageServiceImpl extends ServiceImpl<PpPackageMapper, PpPackage
|
|||||||
packageVO.setUseWeeks(JSONArray.parseArray(item.getUseWeeks(), String.class));
|
packageVO.setUseWeeks(JSONArray.parseArray(item.getUseWeeks(), String.class));
|
||||||
packageVO.setPackageContent(JSONArray.parseArray(item.getPackageContent(), PpPackageVO.PackageContent.class));
|
packageVO.setPackageContent(JSONArray.parseArray(item.getPackageContent(), PpPackageVO.PackageContent.class));
|
||||||
packageVO.setTieredDiscount(JSONArray.parseArray(item.getTieredDiscount(), PpPackageVO.TieredDiscount.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);
|
voList.add(packageVO);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user