优化
This commit is contained in:
@ -44,4 +44,5 @@ public class ActivityPayDTO {
|
|||||||
|
|
||||||
private String voucherId;
|
private String voucherId;
|
||||||
|
|
||||||
|
private String transactionId;
|
||||||
}
|
}
|
@ -37,4 +37,5 @@ public class ActivityPaySaveReqVO {
|
|||||||
|
|
||||||
private String voucherId;
|
private String voucherId;
|
||||||
|
|
||||||
|
private String transactionId;
|
||||||
}
|
}
|
@ -1,5 +1,6 @@
|
|||||||
package cn.iocoder.yudao.module.member.controller.app.activity;
|
package cn.iocoder.yudao.module.member.controller.app.activity;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||||
@ -270,12 +271,16 @@ public class AppActivityDrawController {
|
|||||||
if(!"0".equals(activityPay.getStatus())){
|
if(!"0".equals(activityPay.getStatus())){
|
||||||
throw exception(ACTIVITY_PAY_USE);
|
throw exception(ACTIVITY_PAY_USE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(StrUtil.isEmpty(activityPay.getDish())){
|
||||||
//获取当天日期
|
//获取当天日期
|
||||||
LocalDate now = LocalDate.now();
|
LocalDate now = LocalDate.now();
|
||||||
//比较日期是否相等
|
//比较日期是否相等
|
||||||
if(! now.isEqual(activityPay.getReserveTime())){
|
if(! now.isEqual(activityPay.getReserveTime())){
|
||||||
throw exception(ACTIVITY_PAY_EXPIRE);
|
throw exception(ACTIVITY_PAY_EXPIRE);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ActivityDO activity = activityService.getActivity(activityPay.getActivityId());
|
ActivityDO activity = activityService.getActivity(activityPay.getActivityId());
|
||||||
|
|
||||||
@ -285,6 +290,9 @@ public class AppActivityDrawController {
|
|||||||
appReserveQrCodeVO.setMobile(activityPay.getMobile());
|
appReserveQrCodeVO.setMobile(activityPay.getMobile());
|
||||||
appReserveQrCodeVO.setActivityName(activity.getActivityName());
|
appReserveQrCodeVO.setActivityName(activity.getActivityName());
|
||||||
appReserveQrCodeVO.setSerialNumbers(activityPay.getSerialNumbers());
|
appReserveQrCodeVO.setSerialNumbers(activityPay.getSerialNumbers());
|
||||||
|
if(StrUtil.isNotBlank(activityPay.getDish())){
|
||||||
|
appReserveQrCodeVO.setDish(activityPay.getDish());
|
||||||
|
}
|
||||||
appReserveQrCodeVO.setType("2");
|
appReserveQrCodeVO.setType("2");
|
||||||
String qrCode = QRCodeWithJWTUtil.generateQRCode(JSONUtil.toJsonStr(appReserveQrCodeVO), 350, 350, null);// 生
|
String qrCode = QRCodeWithJWTUtil.generateQRCode(JSONUtil.toJsonStr(appReserveQrCodeVO), 350, 350, null);// 生
|
||||||
return success(qrCode);
|
return success(qrCode);
|
||||||
@ -381,9 +389,16 @@ public class AppActivityDrawController {
|
|||||||
}
|
}
|
||||||
List<Integer> collect = listByActivityIdAndMerchantId.stream().map(ActivityTableDishDO::getSerialNumber).collect(Collectors.toList());
|
List<Integer> collect = listByActivityIdAndMerchantId.stream().map(ActivityTableDishDO::getSerialNumber).collect(Collectors.toList());
|
||||||
pageReqVO.setSerialNumberList(collect);
|
pageReqVO.setSerialNumberList(collect);
|
||||||
PageResult<AppActivityPayRespVO> pageResult = activityPayService.getUserActivityPayPage(pageReqVO);
|
PageResult<AppActivityPayRespVO> pageResult = activityPayService.getMerchantActivityPayPage(pageReqVO);
|
||||||
return success(pageResult);
|
return success(pageResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/merchant")
|
||||||
|
@Operation(summary = "获得商家")
|
||||||
|
public CommonResult<ActivityMerchantDO> getMerchantByMobile(@Valid String mobile) {
|
||||||
|
return success(activityMerchantService.getByMobile(mobile));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
@ -8,4 +8,6 @@ public class AppCancelVO {
|
|||||||
private Long activityAwardsUserId;
|
private Long activityAwardsUserId;
|
||||||
|
|
||||||
private Long activityPayId;
|
private Long activityPayId;
|
||||||
|
|
||||||
|
private Boolean isAddDish = false;
|
||||||
}
|
}
|
||||||
|
@ -16,4 +16,6 @@ public class AppReserveQrCodeVO {
|
|||||||
private String nickName;
|
private String nickName;
|
||||||
|
|
||||||
private String type;
|
private String type;
|
||||||
|
|
||||||
|
private String dish;
|
||||||
}
|
}
|
||||||
|
@ -60,4 +60,6 @@ public class ActivityPayDO extends BaseDO {
|
|||||||
private String diningPeriod;
|
private String diningPeriod;
|
||||||
|
|
||||||
private String voucher;
|
private String voucher;
|
||||||
|
|
||||||
|
private String transactionId;
|
||||||
}
|
}
|
@ -1,11 +1,11 @@
|
|||||||
package cn.iocoder.yudao.module.member.service.activitymerchant;
|
package cn.iocoder.yudao.module.member.service.activitymerchant;
|
||||||
|
|
||||||
import java.util.*;
|
|
||||||
import javax.validation.*;
|
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.activitymerchant.vo.*;
|
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.activitymerchant.ActivityMerchantDO;
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
import cn.iocoder.yudao.module.member.controller.admin.activitymerchant.vo.ActivityMerchantPageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.activitymerchant.vo.ActivityMerchantSaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.activitymerchant.ActivityMerchantDO;
|
||||||
|
|
||||||
|
import javax.validation.Valid;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 活动商家 Service 接口
|
* 活动商家 Service 接口
|
||||||
@ -52,4 +52,6 @@ public interface ActivityMerchantService {
|
|||||||
*/
|
*/
|
||||||
PageResult<ActivityMerchantDO> getActivityMerchantPage(ActivityMerchantPageReqVO pageReqVO);
|
PageResult<ActivityMerchantDO> getActivityMerchantPage(ActivityMerchantPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
|
||||||
|
ActivityMerchantDO getByMobile(String mobile);
|
||||||
}
|
}
|
@ -1,21 +1,20 @@
|
|||||||
package cn.iocoder.yudao.module.member.service.activitymerchant;
|
package cn.iocoder.yudao.module.member.service.activitymerchant;
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import java.util.*;
|
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.activitymerchant.vo.*;
|
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.activitymerchant.ActivityMerchantDO;
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
|
||||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.activitymerchant.vo.ActivityMerchantPageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.activitymerchant.vo.ActivityMerchantSaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.activitymerchant.ActivityMerchantDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.mysql.activitymerchant.ActivityMerchantMapper;
|
import cn.iocoder.yudao.module.member.dal.mysql.activitymerchant.ActivityMerchantMapper;
|
||||||
|
import cn.iocoder.yudao.module.member.util.MemberConstants;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.*;
|
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.ACTIVITY_MERCHANT_NOT_EXISTS;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 活动商家 Service 实现类
|
* 活动商家 Service 实现类
|
||||||
@ -71,4 +70,11 @@ public class ActivityMerchantServiceImpl implements ActivityMerchantService {
|
|||||||
return activityMerchantMapper.selectPage(pageReqVO);
|
return activityMerchantMapper.selectPage(pageReqVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ActivityMerchantDO getByMobile(String mobile) {
|
||||||
|
return activityMerchantMapper.selectOne(Wrappers.<ActivityMerchantDO>lambdaQuery()
|
||||||
|
.eq(ActivityMerchantDO::getMobile, mobile).last(MemberConstants.LIMIT_ONE));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
@ -63,6 +63,8 @@ public interface ActivityPayService {
|
|||||||
|
|
||||||
PageResult<AppActivityPayRespVO> getUserActivityPayPage(ActivityPayPageReqVO pageReqVO);
|
PageResult<AppActivityPayRespVO> getUserActivityPayPage(ActivityPayPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
PageResult<AppActivityPayRespVO> getMerchantActivityPayPage(ActivityPayPageReqVO pageReqVO);
|
||||||
|
|
||||||
Boolean reserveCancel(AppCancelVO vo);
|
Boolean reserveCancel(AppCancelVO vo);
|
||||||
|
|
||||||
List<ActivityPayDO> getListByTime();
|
List<ActivityPayDO> getListByTime();
|
||||||
|
@ -172,24 +172,45 @@ public class ActivityPayServiceImpl implements ActivityPayService {
|
|||||||
.eq(pageReqVO.getActivityId() != null, ActivityAwardsUserDO::getActivityId, pageReqVO.getActivityId())
|
.eq(pageReqVO.getActivityId() != null, ActivityAwardsUserDO::getActivityId, pageReqVO.getActivityId())
|
||||||
.eq(pageReqVO.getUserId() != null, ActivityPayDO::getUserId, pageReqVO.getUserId())
|
.eq(pageReqVO.getUserId() != null, ActivityPayDO::getUserId, pageReqVO.getUserId())
|
||||||
.isNotNull(pageReqVO.getIsDish(), ActivityPayDO::getDish)
|
.isNotNull(pageReqVO.getIsDish(), ActivityPayDO::getDish)
|
||||||
|
.eq(pageReqVO.getStatus() != null, ActivityPayDO::getStatus, pageReqVO.getStatus())
|
||||||
.in(CollectionUtil.isNotEmpty(pageReqVO.getSerialNumberList()), ActivityPayDO::getSerialNumbers,pageReqVO.getSerialNumberList())
|
.in(CollectionUtil.isNotEmpty(pageReqVO.getSerialNumberList()), ActivityPayDO::getSerialNumbers,pageReqVO.getSerialNumberList())
|
||||||
.orderByDesc(ActivityPayDO::getCreateTime)
|
.orderByDesc(ActivityPayDO::getCreateTime)
|
||||||
);
|
);
|
||||||
return new PageResult<>(activityAwardsUserRespVOPage.getRecords(), activityAwardsUserRespVOPage.getTotal());
|
return new PageResult<>(activityAwardsUserRespVOPage.getRecords(), activityAwardsUserRespVOPage.getTotal());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResult<AppActivityPayRespVO> getMerchantActivityPayPage(ActivityPayPageReqVO pageReqVO) {
|
||||||
|
Page<AppActivityPayRespVO> activityAwardsUserRespVOPage = activityPayMapper.selectJoinPage(new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()), AppActivityPayRespVO.class,
|
||||||
|
new MPJLambdaWrapper<ActivityPayDO>()
|
||||||
|
.selectAll(ActivityPayDO.class)
|
||||||
|
.select(ActivityDO::getActivityName)
|
||||||
|
.leftJoin(ActivityDO.class, ActivityDO::getId, ActivityAwardsUserDO::getActivityId)
|
||||||
|
.isNotNull(pageReqVO.getIsDish(), ActivityPayDO::getDish)
|
||||||
|
.isNull(!pageReqVO.getIsDish(), ActivityPayDO::getDish)
|
||||||
|
.eq(pageReqVO.getStatus() != null, ActivityPayDO::getStatus, pageReqVO.getStatus())
|
||||||
|
.in(CollectionUtil.isNotEmpty(pageReqVO.getSerialNumberList()), ActivityPayDO::getSerialNumbers,pageReqVO.getSerialNumberList())
|
||||||
|
.orderByAsc(ActivityPayDO::getStatus)
|
||||||
|
.orderByAsc(ActivityPayDO::getReserveTime)
|
||||||
|
);
|
||||||
|
return new PageResult<>(activityAwardsUserRespVOPage.getRecords(), activityAwardsUserRespVOPage.getTotal());
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean reserveCancel(AppCancelVO vo) {
|
public Boolean reserveCancel(AppCancelVO vo) {
|
||||||
ActivityPayDO activityPayDO = activityPayMapper.selectById(vo.getActivityPayId());
|
ActivityPayDO activityPayDO = activityPayMapper.selectById(vo.getActivityPayId());
|
||||||
if(!"0".equals(activityPayDO.getStatus())){
|
if(!"0".equals(activityPayDO.getStatus())){
|
||||||
throw exception(ACTIVITY_PAY_USE);
|
throw exception(ACTIVITY_PAY_USE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(StrUtil.isEmpty(activityPayDO.getDish())){
|
||||||
//获取当天日期
|
//获取当天日期
|
||||||
LocalDate now = LocalDate.now();
|
LocalDate now = LocalDate.now();
|
||||||
//比较日期是否相等
|
//比较日期是否相等
|
||||||
if(! now.isEqual(activityPayDO.getReserveTime())){
|
if(! now.isEqual(activityPayDO.getReserveTime())){
|
||||||
throw exception(ACTIVITY_PAY_EXPIRE);
|
throw exception(ACTIVITY_PAY_EXPIRE);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
activityPayDO.setStatus("1");
|
activityPayDO.setStatus("1");
|
||||||
int i = activityPayMapper.updateById(activityPayDO);
|
int i = activityPayMapper.updateById(activityPayDO);
|
||||||
return i>0;
|
return i>0;
|
||||||
|
@ -151,6 +151,7 @@ public class PayNotifyController {
|
|||||||
activityPayDTO.setDish( deserializedMap.get("dish"));
|
activityPayDTO.setDish( deserializedMap.get("dish"));
|
||||||
activityPayDTO.setDiningPeriod( deserializedMap.get("diningPeriod"));
|
activityPayDTO.setDiningPeriod( deserializedMap.get("diningPeriod"));
|
||||||
activityPayDTO.setVoucherId( deserializedMap.get("voucherId"));
|
activityPayDTO.setVoucherId( deserializedMap.get("voucherId"));
|
||||||
|
activityPayDTO.setTransactionId( notify.getChannelOrderNo());
|
||||||
|
|
||||||
activityApi.createActivityPay(activityPayDTO);
|
activityApi.createActivityPay(activityPayDTO);
|
||||||
notifyRedisTemplate.delete("RESERVED" + notify.getOutTradeNo());
|
notifyRedisTemplate.delete("RESERVED" + notify.getOutTradeNo());
|
||||||
|
Reference in New Issue
Block a user