This commit is contained in:
张良(004796)
2024-03-26 11:23:22 +08:00
parent 7d6bf7e2e2
commit 7c476f0e73
23 changed files with 221 additions and 35 deletions

View File

@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.xq.domain.WxTransData;
import com.ruoyi.xq.dto.admin.account.WxTransDataAdminVo;
import com.ruoyi.xq.dto.app.account.StarWxTransReq;
import com.ruoyi.xq.dto.app.account.WxTransDataApplyReq;
import com.ruoyi.xq.dto.app.account.WxTransDataListAppVo;
import com.ruoyi.xq.dto.app.account.WxTransDataQuery;
@@ -18,5 +20,13 @@ public interface WxTransDataService extends IService<WxTransData> {
void start(StarWxTransReq starWxTransReq);
Page<WxTransDataListAppVo> pageApp(PageQuery pageQuery, WxTransDataQuery wxTransDataQuery);
void apply(WxTransDataApplyReq req);
Page<WxTransDataListAppVo> pageApp(PageQuery pageQuery, WxTransDataQuery wxTransDataQuery);
Page<WxTransDataAdminVo> pageAdmin(PageQuery pageQuery, WxTransDataAdminVo bo);
boolean allowAdmin(Long id);
boolean notAllowAdmin(Long id);
}

View File

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.xq.domain.User;
import com.ruoyi.xq.domain.WxTransLog;
import com.ruoyi.xq.dto.admin.account.WxTransLogAdminVo;
import com.ruoyi.xq.dto.app.account.WxTransLogListVo;
import com.ruoyi.xq.dto.app.account.WxTransLogQuery;
import com.ruoyi.xq.enums.account.WxTransLogCateEnum;
@@ -18,9 +19,11 @@ import com.ruoyi.xq.enums.account.WxTransLogCateEnum;
public interface WxTransLogService extends IService<WxTransLog> {
Page<WxTransLogListVo> pageApp(PageQuery pageQuery, WxTransLogQuery query);
Page<WxTransLogAdminVo> pageAdmin(PageQuery pageQuery, WxTransLogAdminVo bo);
void consumerSaveLog(Long sponsorUserId, String traceId, User receiveUser);
void saveLog(Long userId, Integer wxTransNum, WxTransLogCateEnum cateEnum, String traceId, String remark);
void saveLogAdmin(User user, Integer wxTransNum, String traceId);
}

View File

@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.xq.domain.WxTransOrder;
import com.ruoyi.xq.dto.admin.wxtrans.WxTransOrderAdminVo;
import com.ruoyi.xq.dto.admin.account.WxTransOrderAdminVo;
import com.ruoyi.xq.dto.app.pay.ConsumeResp;
import com.ruoyi.xq.enums.pay.PlatformTypeEnum;
import org.springframework.transaction.annotation.Transactional;

View File

@@ -168,7 +168,7 @@ public class UserExtendServiceImpl extends ServiceImpl<UserExtendMapper,UserExte
@Override
public boolean consumeWxTrans(Long sponsorUserId, User receiveUser, String traceId) {
boolean success = baseMapper.incsWxTransNum(sponsorUserId, 1);
boolean success = baseMapper.incsWxTransNum(sponsorUserId, -1);
if(success){
wxTransLogService.consumerSaveLog(sponsorUserId, traceId,receiveUser);
}

View File

@@ -1,13 +1,17 @@
package com.ruoyi.xq.service.impl;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.xq.domain.User;
import com.ruoyi.xq.domain.WxTransData;
import com.ruoyi.xq.dto.admin.account.WxTransDataAdminVo;
import com.ruoyi.xq.dto.app.account.StarWxTransReq;
import com.ruoyi.xq.dto.app.account.WxTransDataApplyReq;
import com.ruoyi.xq.dto.app.account.WxTransDataListAppVo;
import com.ruoyi.xq.dto.app.account.WxTransDataQuery;
import com.ruoyi.xq.enums.ErrorEnum;
@@ -23,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -71,6 +76,33 @@ public class WxTransDataServiceImpl extends ServiceImpl<WxTransDataMapper,WxTran
this.save(data);
}
@Override
public void apply(WxTransDataApplyReq req){
WxTransData wxTransData = this.getById(req.getId());
if(wxTransData == null){
throw new ServiceException("数据不存在");
}
if(wxTransData.getReceiveUserId().equals(req.getUserId())){
throw new ServiceException("不是接受者无法接受微信邀请");
}
if(req.getApply() == null){
throw new ServiceException("数据异常");
}
WxTransDataStatusEnum statusEnum;
if(req.getApply().equals(1)){
statusEnum = WxTransDataStatusEnum.SUCCESS;
}else if(req.getApply().equals(2)){
statusEnum = WxTransDataStatusEnum.FAIL;
}else {
throw new ServiceException("数据异常");
}
boolean update = this.update(Wrappers.lambdaUpdate(WxTransData.class)
.eq(WxTransData::getId, wxTransData.getId())
.eq(WxTransData::getStatus, WxTransDataStatusEnum.READY.getCode())
.set(WxTransData::getStatus, statusEnum.getCode())
.set(WxTransData::getOpTime, LocalDateTime.now()));
}
@Override
public Page<WxTransDataListAppVo> pageApp(PageQuery pageQuery, WxTransDataQuery wxTransDataQuery) {
Page<WxTransData> page = baseMapper.pageApp(pageQuery.build(), wxTransDataQuery);
@@ -133,4 +165,35 @@ public class WxTransDataServiceImpl extends ServiceImpl<WxTransDataMapper,WxTran
}
return PageConvert.convert(page,res);
}
@Override
public Page<WxTransDataAdminVo> pageAdmin(PageQuery pageQuery, WxTransDataAdminVo bo) {
return baseMapper.pageAdmin(pageQuery.build(), bo);
}
@Override
public boolean allowAdmin(Long id) {
boolean update = this.update(Wrappers.lambdaUpdate(WxTransData.class)
.eq(WxTransData::getId, id)
.eq(WxTransData::getStatus, WxTransDataStatusEnum.READY.getCode())
.set(WxTransData::getStatus, WxTransDataStatusEnum.SUCCESS.getCode())
.set(WxTransData::getOpTime, LocalDateTime.now())
.set(WxTransData::getIsAdmin, 1)
.set(WxTransData::getAdminId, LoginHelper.getUserId())
.set(WxTransData::getAdminName, LoginHelper.getUsername()));
return true;
}
@Override
public boolean notAllowAdmin(Long id) {
boolean update = this.update(Wrappers.lambdaUpdate(WxTransData.class)
.eq(WxTransData::getId, id)
.eq(WxTransData::getStatus, WxTransDataStatusEnum.READY.getCode())
.set(WxTransData::getStatus, WxTransDataStatusEnum.FAIL.getCode())
.set(WxTransData::getOpTime, LocalDateTime.now())
.set(WxTransData::getIsAdmin, 1)
.set(WxTransData::getAdminId, LoginHelper.getUserId())
.set(WxTransData::getAdminName, LoginHelper.getUsername()));
return true;
}
}

View File

@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.xq.domain.User;
import com.ruoyi.xq.domain.WxTransLog;
import com.ruoyi.xq.dto.admin.account.WxTransLogAdminVo;
import com.ruoyi.xq.dto.app.account.WxTransLogListVo;
import com.ruoyi.xq.dto.app.account.WxTransLogQuery;
import com.ruoyi.xq.dto.common.user.MinUser;
@@ -68,6 +69,11 @@ public class WxTransLogServiceImpl extends ServiceImpl<WxTransLogMapper,WxTransL
return PageConvert.convert(page,vo);
}
@Override
public Page<WxTransLogAdminVo> pageAdmin(PageQuery pageQuery, WxTransLogAdminVo bo) {
return baseMapper.pageAdmin(pageQuery.build(), bo);
}
@Override
public void consumerSaveLog(Long sponsorUserId, String traceId, User receiveUser) {
MinUser minUser = userService.getMinUserById(sponsorUserId);
@@ -77,7 +83,7 @@ public class WxTransLogServiceImpl extends ServiceImpl<WxTransLogMapper,WxTransL
wxTransLog.setTraceId(traceId);
wxTransLog.setCateId(WxTransLogCateEnum.CONSUMER.getCode());
wxTransLog.setCateName(WxTransLogCateEnum.CONSUMER.getText());
wxTransLog.setRemark("使用一次微信交换");
wxTransLog.setRemark(String.format("对%s[%s]使用一次微信交换", receiveUser.getNickname(), receiveUser.getUsercode()));
wxTransLog.setChangeValue(-1L);
wxTransLog.setTarUserJson(JSON.toJSONString(receiveUser));
wxTransLog.setTarUserId(receiveUser.getId());

View File

@@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.xq.domain.User;
import com.ruoyi.xq.domain.WxTransOrder;
import com.ruoyi.xq.dto.admin.wxtrans.WxTransOrderAdminVo;
import com.ruoyi.xq.dto.admin.account.WxTransOrderAdminVo;
import com.ruoyi.xq.dto.app.pay.ConsumeResp;
import com.ruoyi.xq.enums.account.WxTransLogCateEnum;
import com.ruoyi.xq.enums.common.OrderTypeEnum;