diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/hard/HandCancelActCodeDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/hard/HandCancelActCodeDto.java index d580652b3..05e8a1c0c 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/hard/HandCancelActCodeDto.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/hard/HandCancelActCodeDto.java @@ -7,10 +7,14 @@ import lombok.Data; @Data public class HandCancelActCodeDto { - @Schema(description = "核销活动i子d") + @Schema(description = "用户id不能为空") @NotNull(message = "核销活动子id不能为空") private Long actItemId; + @Schema(description = "用户id") + @NotNull(message = "用户id不能为空") + private Long userId; + @Schema(description = "设备id") @NotNull(message = "设备id不能为空") private Long hardwareId; diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java index f25212217..d1bf87a04 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java @@ -33,6 +33,7 @@ import com.bsd.pjcloud.common.security.service.PjcloudUser; import com.bsd.pjcloud.hard.api.constant.HardProductNatureEnum; import com.bsd.pjcloud.hard.api.constant.HardThirdMiStatusEnum; import com.bsd.pjcloud.hard.api.constant.HardTypeEnum; +import com.bsd.pjcloud.hard.api.constant.order.HardHourTypeEnum; import com.bsd.pjcloud.hard.api.constant.order.HardOrderStatusEnum; import com.bsd.pjcloud.hard.api.constant.order.HardOrderTypeEnum; import com.bsd.pjcloud.hard.api.constant.order.HardPayTypeEnum; @@ -84,6 +85,7 @@ import com.bsd.pjcloud.wallet.api.constant.mch.WalletMchRulePriceTypeEnum; import com.bsd.pjcloud.wallet.api.constant.mch.WalletMchSupType; import com.bsd.pjcloud.wallet.api.dto.WalletBalanceTransactionDto; import com.bsd.pjcloud.wallet.api.dto.act.ActCancelItemDto; +import com.bsd.pjcloud.wallet.api.dto.act.ActComCancelDto; import com.bsd.pjcloud.wallet.api.entity.WalletCodeUseEntity; import com.bsd.pjcloud.wallet.api.entity.WalletManageEntity; import com.bsd.pjcloud.wallet.api.entity.WalletTransactionEntity; @@ -93,6 +95,7 @@ import com.bsd.pjcloud.wallet.api.vo.MchManageVo; import com.bsd.pjcloud.wallet.api.vo.WalletManageVo; import com.bsd.pjcloud.wallet.api.vo.WalletSettingVo; import com.bsd.pjcloud.wallet.api.vo.act.ActCancelItemVo; +import com.bsd.pjcloud.wallet.api.vo.act.ActComItemVo; import com.bsd.pjcloud.wallet.api.vo.mch.MchPickUpVo; import com.bsd.pjcloud.wallet.api.vo.mch.MchRuleJoinDtoVo; import jakarta.validation.Valid; @@ -152,6 +155,7 @@ public class HardOrderServiceImpl extends ServiceImpl reduceRes = walletTransactionService.reduceWalletBalance(reduceBuild); - if (reduceRes.getCode() != 0 || ObjectUtil.isEmpty(reduceRes.getData())) { - throw new RuntimeException("钱包扣款错误"); + int payPrice = order.getTotalPrice() + order.getExtraPrice(); + if (payPrice > 0) { + WalletBalanceTransactionDto reduceBuild = new WalletBalanceTransactionDto(); + reduceBuild.setWalletId(order.getWalletId()); + reduceBuild.setPrice(order.getPayPrice()); + reduceBuild.setBizId(String.valueOf(order.getId())); + reduceBuild.setBizType(WalletBizEnum.PAYMENT); + reduceBuild.setForce(true); + R reduceRes = walletTransactionService.reduceWalletBalance(reduceBuild); + if (reduceRes.getCode() != 0 || ObjectUtil.isEmpty(reduceRes.getData())) { + throw new RuntimeException("钱包扣款错误"); + } } } // 订单成功 @@ -1150,9 +1157,85 @@ public class HardOrderServiceImpl extends ServiceImpl implements Serializable { @Schema(description = "头像地址") private String avatar; + /** + * 生日 + */ + @Schema(description = "生日") + private LocalDate birthday; + /** * 部门ID */ diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java index c69cafa62..91034a5af 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysUserController.java @@ -25,6 +25,7 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bsd.pjcloud.admin.api.dto.SysAppUserModifyDto; import com.bsd.pjcloud.admin.api.dto.UserDTO; import com.bsd.pjcloud.admin.api.dto.UserDeptSimpleInfo; import com.bsd.pjcloud.admin.api.dto.UserInfo; @@ -46,6 +47,7 @@ import com.bsd.pjcloud.common.excel.annotation.ResponseExcel; import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.common.security.annotation.HasPermission; import com.bsd.pjcloud.common.security.annotation.Inner; +import com.bsd.pjcloud.common.security.service.PjcloudUser; import com.bsd.pjcloud.common.security.util.SecurityUtils; import com.bsd.pjcloud.flow.task.dto.ProcessNodeRecordAssignUserParamDto; @@ -66,6 +68,7 @@ import org.springframework.http.HttpHeaders; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -95,6 +98,7 @@ public class SysUserController { private final SysRoleService sysRoleService; private final SysUserRoleService sysUserRoleService; + /* ************************************* start 回调 start ************************************* */ @Inner(value = false) @@ -105,6 +109,16 @@ public class SysUserController { /* ************************************* end 回调 end ************************************* */ + /* ************************************* start app start ************************************* */ + @PostMapping("/app/modify") + public R appModify(@Validated @RequestBody SysAppUserModifyDto dto) { + PjcloudUser user = SecurityUtils.getUser(); + + dto.setUserId(user.getId()); + return R.ok(userService.appModify(dto)); + } + /* ************************************* end app end ************************************* */ + /** * 获取指定用户全部信息 * diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysUserService.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysUserService.java index ed989c10f..87b208c90 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysUserService.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/SysUserService.java @@ -23,6 +23,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.bsd.pjcloud.admin.api.dto.SysAppUserModifyDto; import com.bsd.pjcloud.admin.api.dto.UserDTO; import com.bsd.pjcloud.admin.api.dto.UserInfo; import com.bsd.pjcloud.admin.api.entity.SysUser; @@ -84,6 +85,11 @@ public interface SysUserService extends IService { */ Boolean updateUser(UserDTO userDto); + /** + * app更新用户 + */ + Boolean appModify(SysAppUserModifyDto dto); + /** * 通过ID查询用户信息 * diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java index 6d72daab1..344ca1614 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java @@ -19,6 +19,7 @@ package com.bsd.pjcloud.admin.service.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Validator; import cn.hutool.core.util.ArrayUtil; @@ -35,6 +36,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.bsd.pjcloud.admin.api.constant.UserStaffingTypeEnum; import com.bsd.pjcloud.admin.api.constant.UserStateEnum; +import com.bsd.pjcloud.admin.api.dto.SysAppUserModifyDto; import com.bsd.pjcloud.admin.api.dto.SysUserFaceDto; import com.bsd.pjcloud.admin.api.dto.UserDTO; import com.bsd.pjcloud.admin.api.dto.UserInfo; @@ -426,6 +428,12 @@ public class SysUserServiceImpl extends ServiceImpl impl return Boolean.TRUE; } + @Override + public Boolean appModify(SysAppUserModifyDto dto) { + SysUser updateObj = BeanUtil.toBean(dto, SysUser.class); + return baseMapper.updateById(updateObj) > 0; + } + /** * 查询上级部门的用户信息 * diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/act/ActCouponValidTypeEnum.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/act/ActCouponValidTypeEnum.java index 905a5d949..15072eb4e 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/act/ActCouponValidTypeEnum.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/act/ActCouponValidTypeEnum.java @@ -14,6 +14,7 @@ import java.util.Arrays; public enum ActCouponValidTypeEnum { FIXED_DATE("1", "固定日期"), AFTER_RECEIVE("2", "领取后生效"), + AFTER_RECEIVE_CURRENT_MONTH("3", "领取后当月"), ; private final String code; private final String desc; diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/act/ActComCancelDto.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/act/ActComCancelDto.java index 9ac0c49ea..28dc0f568 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/act/ActComCancelDto.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/dto/act/ActComCancelDto.java @@ -24,7 +24,7 @@ public class ActComCancelDto { private Long orderId; /** - * 活动提现金额 + * 活动抵扣金额 */ private Integer useAmountPrice; diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/feign/RemoteComActService.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/feign/RemoteComActService.java index 8dbd47a88..9905cd3d0 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/feign/RemoteComActService.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/feign/RemoteComActService.java @@ -4,7 +4,6 @@ import com.bsd.pjcloud.common.core.constant.ServiceNameConstants; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.feign.annotation.NoToken; import com.bsd.pjcloud.wallet.api.dto.act.ActComCancelDto; -import com.bsd.pjcloud.wallet.api.entity.WalletCodeUseEntity; import com.bsd.pjcloud.wallet.api.vo.act.ActComItemVo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.validation.annotation.Validated; diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/WalletCodeUseVo.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/WalletCodeUseVo.java index f3a2c34cc..d9ddb79fb 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/WalletCodeUseVo.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/WalletCodeUseVo.java @@ -7,6 +7,11 @@ import lombok.Data; @Data public class WalletCodeUseVo extends WalletCodeUseEntity implements BaseUserInterface { + /** + * 活动相关 + */ + private String actUniquecode; + /** * 用户相关 */ diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/act/ActCouponRecordVo.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/act/ActCouponRecordVo.java index a881e4f01..958d618fd 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/act/ActCouponRecordVo.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/vo/act/ActCouponRecordVo.java @@ -7,6 +7,9 @@ import lombok.Data; @Data public class ActCouponRecordVo extends ActCouponRecordEntity implements BaseUserDeptInterface { + /** + * 用户相关 + */ private Long userId; private String username; @@ -19,4 +22,9 @@ public class ActCouponRecordVo extends ActCouponRecordEntity implements BaseUser private String userDeptName; + /** + * 活动相关 + */ + private String actUniquecode; + } diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/resources/META-INF/spring/org.springframework.cloud.openfeign.FeignClient.imports b/pjcloud-wallet/pjcloud-wallet-api/src/main/resources/META-INF/spring/org.springframework.cloud.openfeign.FeignClient.imports index a4de33581..d05cc336d 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/resources/META-INF/spring/org.springframework.cloud.openfeign.FeignClient.imports +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/resources/META-INF/spring/org.springframework.cloud.openfeign.FeignClient.imports @@ -8,4 +8,5 @@ com.bsd.pjcloud.wallet.api.feign.RemoteWalletRuleTransactionService com.bsd.pjcloud.wallet.api.feign.RemoteMchService com.bsd.pjcloud.wallet.api.feign.RemoteWalletSettingService com.bsd.pjcloud.wallet.api.feign.RemoteWalletThirdZyService -com.bsd.pjcloud.wallet.api.feign.RemoteWalletTransactionService \ No newline at end of file +com.bsd.pjcloud.wallet.api.feign.RemoteWalletTransactionService +com.bsd.pjcloud.wallet.api.feign.RemoteComActService \ No newline at end of file diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletCodeUseController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletCodeUseController.java index 53b88b68c..d61004093 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletCodeUseController.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletCodeUseController.java @@ -2,6 +2,7 @@ package com.bsd.pjcloud.wallet.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bsd.pjcloud.common.core.util.BeanUtils; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.security.annotation.Inner; import com.bsd.pjcloud.common.security.service.PjcloudUser; @@ -9,6 +10,7 @@ import com.bsd.pjcloud.common.security.util.SecurityUtils; import com.bsd.pjcloud.wallet.api.constant.WalletCodeBizEnum; import com.bsd.pjcloud.wallet.api.dto.WalletCodeUseDto; import com.bsd.pjcloud.wallet.api.entity.WalletCodeUseEntity; +import com.bsd.pjcloud.wallet.api.vo.WalletCodeUseVo; import com.bsd.pjcloud.wallet.service.WalletCodeUseService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.security.SecurityRequirement; diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/ActCouponRecordService.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/ActCouponRecordService.java index 118cb691c..dea669ffe 100755 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/ActCouponRecordService.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/ActCouponRecordService.java @@ -9,6 +9,8 @@ import com.bsd.pjcloud.wallet.api.entity.act.ActCouponEntity; import com.bsd.pjcloud.wallet.api.entity.act.ActCouponRecordEntity; import com.bsd.pjcloud.wallet.api.vo.act.ActCouponRecordVo; +import java.util.List; + public interface ActCouponRecordService extends IService { /** @@ -28,6 +30,7 @@ public interface ActCouponRecordService extends IService /** * 核销优惠券 + * * @param useAmountPrice 优惠券抵消的金额 */ void cancel(ActCouponRecordEntity dto, Long orderId, Integer useAmountPrice); diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/ActCouponService.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/ActCouponService.java index bc87f4434..1748266ce 100755 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/ActCouponService.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/ActCouponService.java @@ -8,6 +8,7 @@ import com.bsd.pjcloud.wallet.api.entity.act.ActCouponEntity; import com.bsd.pjcloud.wallet.api.vo.act.ActCouponVo; import java.util.ArrayList; +import java.util.List; public interface ActCouponService extends IService { @@ -16,6 +17,11 @@ public interface ActCouponService extends IService { */ Page pageJoin(Page page, ActCouponDto dto); + /** + * 根据actIdList查询活动 + */ + List getByIdList(List actIdList); + /** * 新增优惠券 */ diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/act/ActComServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/act/ActComServiceImpl.java index 7c7ca833d..60471484a 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/act/ActComServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/act/ActComServiceImpl.java @@ -67,7 +67,7 @@ public class ActComServiceImpl implements ActComService { } if (ObjectUtil.isEmpty(result)) return null; // 查询用户 - UserInfo userInfo = remoteUserService.getByUserId(userId).getData(); + UserInfo userInfo = remoteUserService.getInnerByUserId(userId).getData(); if (ObjectUtil.isNotEmpty(userInfo)) { SysUser sysUser = userInfo.getSysUser(); result.setUserId(sysUser.getUserId()); diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/act/ActCouponRecordServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/act/ActCouponRecordServiceImpl.java index 13189be7d..e002ba74b 100755 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/act/ActCouponRecordServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/act/ActCouponRecordServiceImpl.java @@ -1,5 +1,6 @@ package com.bsd.pjcloud.wallet.service.impl.act; +import cn.hutool.core.collection.IterUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -13,7 +14,6 @@ import com.bsd.pjcloud.common.core.constant.enums.MerchantTypeEnum; import com.bsd.pjcloud.common.core.exception.ServiceException; import com.bsd.pjcloud.common.core.util.CollectionUtils; import com.bsd.pjcloud.common.core.util.R; -import com.bsd.pjcloud.hard.api.vo.HardAuthVo; import com.bsd.pjcloud.wallet.api.constant.WalletBizEnum; import com.bsd.pjcloud.wallet.api.constant.WalletCodeBizEnum; import com.bsd.pjcloud.wallet.api.constant.act.ActCouponRecordStatusEnum; @@ -30,6 +30,7 @@ import com.bsd.pjcloud.wallet.mapper.WalletTransactionMapper; import com.bsd.pjcloud.wallet.mapper.act.ActCouponMapper; import com.bsd.pjcloud.wallet.mapper.act.ActCouponRecordMapper; import com.bsd.pjcloud.wallet.service.ActCouponRecordService; +import com.bsd.pjcloud.wallet.service.ActCouponService; import com.bsd.pjcloud.wallet.service.MchManageService; import com.bsd.pjcloud.wallet.service.WalletCodeUseService; import com.bsd.pjcloud.wallet.utils.act.service.ActCouponComUtilService; @@ -41,6 +42,7 @@ import org.springframework.transaction.annotation.Transactional; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; +import java.util.Map; /** @@ -55,7 +57,9 @@ public class ActCouponRecordServiceImpl extends ServiceImpl walletList = walletTransactionMapper.scopeList(dto, null); @@ -217,6 +221,19 @@ public class ActCouponRecordServiceImpl extends ServiceImpl actIdList = list.stream().map(ActCouponRecordVo::getCouponId).distinct().toList(); + if (ObjectUtil.isNotEmpty(actIdList)) { + List actList = actCouponService.getByIdList(actIdList); + if (ObjectUtil.isNotEmpty(actList)) { + Map actCouponMap = IterUtil.toMap(actList, ActCouponEntity::getId); + for (ActCouponRecordVo v : list) { + ActCouponEntity targetMap = actCouponMap.get(v.getCouponId()); + if (ObjectUtil.isEmpty(targetMap)) continue; + v.setActUniquecode(targetMap.getUniqueCode()); + } + } + } } } \ No newline at end of file diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/act/ActCouponServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/act/ActCouponServiceImpl.java index 00e0ebbc9..eff759618 100755 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/act/ActCouponServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/act/ActCouponServiceImpl.java @@ -26,6 +26,16 @@ public class ActCouponServiceImpl extends ServiceImpl getByIdList(List actIdList) { + return baseMapper.selectList(new LambdaQueryWrapper() + .in(ActCouponEntity::getId, actIdList) + ); + } + /** * 新增优惠券 */ diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/utils/act/service/ActCouponComUtilService.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/utils/act/service/ActCouponComUtilService.java index 93c1170f7..41795e88e 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/utils/act/service/ActCouponComUtilService.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/utils/act/service/ActCouponComUtilService.java @@ -74,6 +74,11 @@ public class ActCouponComUtilService implements ActCouponLifecycleService { record.setStartTime(LocalDateTime.now()); record.setEndTime(record.getStartTime().plusDays(validDays)); } + // 3-领取的当月 + if (ObjectUtil.equals(ActCouponValidTypeEnum.AFTER_RECEIVE_CURRENT_MONTH.getCode(), coupon.getValidType())) { + record.setStartTime(LocalDate.now().with(TemporalAdjusters.firstDayOfMonth()).atTime(LocalTime.MIN)); + record.setEndTime(LocalDate.now().with(TemporalAdjusters.lastDayOfMonth()).atTime(23, 59, 59)); + } actCouponRecordMapper.insert(record); return record; } @@ -91,7 +96,7 @@ public class ActCouponComUtilService implements ActCouponLifecycleService { */ @Override public ActCouponRecordEntity preCancel(ActCouponRecordEntity record) { - ActCouponRecordEntity couponRecord = actCouponRecordMapper.selectById(record.getCouponId()); + ActCouponRecordEntity couponRecord = actCouponRecordMapper.selectById(record.getId()); String error = actIsCanCancel(record); if (ObjectUtil.isNotEmpty(error)) { throw new RuntimeException(error);