This commit is contained in:
77
2024-05-18 18:31:15 +08:00
parent 76529ba3df
commit 1bcfe58cfb
11 changed files with 103 additions and 45 deletions

View File

@@ -13,6 +13,8 @@ import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.xq.domain.GroupOrder; import com.ruoyi.xq.domain.GroupOrder;
import com.ruoyi.xq.dto.admin.groupOrder.GroupOrderAdminVo;
import com.ruoyi.xq.dto.app.common.IdReq;
import com.ruoyi.xq.service.GroupOrderService; import com.ruoyi.xq.service.GroupOrderService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@@ -41,8 +43,8 @@ public class GroupOrderController extends BaseController {
*/ */
@SaCheckPermission("xq:groupOrder:list") @SaCheckPermission("xq:groupOrder:list")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<GroupOrder> list(GroupOrder bo, PageQuery pageQuery) { public TableDataInfo<GroupOrderAdminVo> list(GroupOrderAdminVo bo, PageQuery pageQuery) {
Page<GroupOrder> page = groupOrderService.page(pageQuery.build(), Wrappers.lambdaQuery(bo)); Page<GroupOrderAdminVo> page = groupOrderService.pageAdmin(pageQuery, bo);
return TableDataInfo.build(page); return TableDataInfo.build(page);
} }
@@ -58,26 +60,16 @@ public class GroupOrderController extends BaseController {
return R.ok(groupOrderService.getById(id)); return R.ok(groupOrderService.getById(id));
} }
/**
* 新增入群订单
*/
@SaCheckPermission("xq:groupOrder:add")
@Log(title = "入群订单", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody GroupOrder bo) {
return toAjax(groupOrderService.save(bo));
}
/** /**
* 修改入群订单 * 修改入群订单
*/ */
@SaCheckPermission("xq:groupOrder:edit") @SaCheckPermission("xq:groupOrder:edit")
@Log(title = "入群订单", businessType = BusinessType.UPDATE) @Log(title = "入群订单", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PostMapping("/dealStatus/commit")
public R<Void> edit(@Validated(EditGroup.class) @RequestBody GroupOrder bo) { public R<Void> edit(@RequestBody IdReq bo) {
return toAjax(groupOrderService.updateById(bo)); groupOrderService.commitDealStatus(bo.getId());
return R.ok();
} }
/** /**

View File

@@ -106,6 +106,8 @@ public class GroupOrder implements Serializable {
*/ */
private Long adminId; private Long adminId;
private Integer dealStatus;
private LocalDateTime createTime; private LocalDateTime createTime;
private LocalDateTime updateTime; private LocalDateTime updateTime;

View File

@@ -0,0 +1,11 @@
package com.ruoyi.xq.dto.admin.groupOrder;
import com.ruoyi.xq.domain.GroupOrder;
import lombok.Data;
@Data
public class GroupOrderAdminVo extends GroupOrder {
private String nickname;
private String mobile;
private String avatar;
}

View File

@@ -1,7 +1,11 @@
package com.ruoyi.xq.mapper; package com.ruoyi.xq.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.xq.domain.GroupOrder; import com.ruoyi.xq.domain.GroupOrder;
import com.ruoyi.xq.dto.admin.groupOrder.GroupOrderAdminVo;
import org.apache.ibatis.annotations.Param;
/** /**
* 入群订单Mapper接口 * 入群订单Mapper接口
@@ -11,4 +15,5 @@ import com.ruoyi.xq.domain.GroupOrder;
*/ */
public interface GroupOrderMapper extends BaseMapper<GroupOrder> { public interface GroupOrderMapper extends BaseMapper<GroupOrder> {
Page<GroupOrderAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") GroupOrderAdminVo bo);
} }

View File

@@ -1,7 +1,10 @@
package com.ruoyi.xq.service; package com.ruoyi.xq.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.xq.domain.GroupOrder; import com.ruoyi.xq.domain.GroupOrder;
import com.ruoyi.xq.dto.admin.groupOrder.GroupOrderAdminVo;
import com.ruoyi.xq.dto.app.group.CreateGroupOrderReq; import com.ruoyi.xq.dto.app.group.CreateGroupOrderReq;
import com.ruoyi.xq.dto.app.pay.ConsumeResp; import com.ruoyi.xq.dto.app.pay.ConsumeResp;
import com.ruoyi.xq.enums.pay.PlatformTypeEnum; import com.ruoyi.xq.enums.pay.PlatformTypeEnum;
@@ -23,4 +26,8 @@ public interface GroupOrderService extends IService<GroupOrder> {
GroupOrder getByOrderNo(String orderNo); GroupOrder getByOrderNo(String orderNo);
ConsumeResp doSuccess(String orderNo, Map<String, String> params, String appId, PlatformTypeEnum payTypeEnum); ConsumeResp doSuccess(String orderNo, Map<String, String> params, String appId, PlatformTypeEnum payTypeEnum);
Page<GroupOrderAdminVo> pageAdmin(PageQuery pageQuery, GroupOrderAdminVo bo);
void commitDealStatus(Long id);
} }

View File

@@ -9,6 +9,7 @@ import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.xq.domain.ActivityOrder; import com.ruoyi.xq.domain.ActivityOrder;
import com.ruoyi.xq.domain.ActivityShop; import com.ruoyi.xq.domain.ActivityShop;
import com.ruoyi.xq.domain.GroupOrder;
import com.ruoyi.xq.dto.admin.activity.ActivityOrderAdminVo; import com.ruoyi.xq.dto.admin.activity.ActivityOrderAdminVo;
import com.ruoyi.xq.dto.app.activity.CreateOrderReq; import com.ruoyi.xq.dto.app.activity.CreateOrderReq;
import com.ruoyi.xq.dto.app.pay.ConsumeResp; import com.ruoyi.xq.dto.app.pay.ConsumeResp;
@@ -30,6 +31,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Map; import java.util.Map;
/** /**
@@ -107,6 +109,7 @@ public class ActivityOrderServiceImpl extends ServiceImpl<ActivityOrderMapper,Ac
.eq(ActivityOrder::getPayStatus, PayStatusEnum.READY_PAY.getCode()) .eq(ActivityOrder::getPayStatus, PayStatusEnum.READY_PAY.getCode())
.set(ActivityOrder::getPayStatus, PayStatusEnum.PAY.getCode()) .set(ActivityOrder::getPayStatus, PayStatusEnum.PAY.getCode())
.set(ActivityOrder::getTraceId, traceId) .set(ActivityOrder::getTraceId, traceId)
.set(ActivityOrder::getPayTime, LocalDateTime.now())
.set(ActivityOrder::getReturnContent, JSON.toJSONString(params)) .set(ActivityOrder::getReturnContent, JSON.toJSONString(params))
.set(ActivityOrder::getAppid,appId) .set(ActivityOrder::getAppid,appId)
.set(ActivityOrder::getPlatformType, payTypeEnum.getCode())); .set(ActivityOrder::getPlatformType, payTypeEnum.getCode()));

View File

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.xq.domain.AuthOrder; import com.ruoyi.xq.domain.AuthOrder;
import com.ruoyi.xq.domain.GroupOrder;
import com.ruoyi.xq.domain.User; import com.ruoyi.xq.domain.User;
import com.ruoyi.xq.dto.admin.authOrder.AuthOrderAdminVo; import com.ruoyi.xq.dto.admin.authOrder.AuthOrderAdminVo;
import com.ruoyi.xq.dto.app.pay.ConsumeResp; import com.ruoyi.xq.dto.app.pay.ConsumeResp;
@@ -26,6 +27,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Map; import java.util.Map;
/** /**
@@ -85,6 +87,7 @@ public class AuthOrderServiceImpl extends ServiceImpl<AuthOrderMapper,AuthOrder>
.eq(AuthOrder::getPayStatus, PayStatusEnum.READY_PAY.getCode()) .eq(AuthOrder::getPayStatus, PayStatusEnum.READY_PAY.getCode())
.set(AuthOrder::getPayStatus, PayStatusEnum.PAY.getCode()) .set(AuthOrder::getPayStatus, PayStatusEnum.PAY.getCode())
.set(AuthOrder::getTraceId, traceId) .set(AuthOrder::getTraceId, traceId)
.set(AuthOrder::getPayTime, LocalDateTime.now())
.set(AuthOrder::getReturnContent, JSON.toJSONString(params)) .set(AuthOrder::getReturnContent, JSON.toJSONString(params))
.set(AuthOrder::getAppid,appId) .set(AuthOrder::getAppid,appId)
.set(AuthOrder::getPlatformType, payTypeEnum.getCode())); .set(AuthOrder::getPlatformType, payTypeEnum.getCode()));

View File

@@ -2,11 +2,14 @@ package com.ruoyi.xq.service.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.xq.domain.ActivityOrder; import com.ruoyi.xq.domain.ActivityOrder;
import com.ruoyi.xq.domain.Group; import com.ruoyi.xq.domain.Group;
import com.ruoyi.xq.domain.GroupOrder; import com.ruoyi.xq.domain.GroupOrder;
import com.ruoyi.xq.dto.admin.groupOrder.GroupOrderAdminVo;
import com.ruoyi.xq.dto.app.group.CreateGroupOrderReq; import com.ruoyi.xq.dto.app.group.CreateGroupOrderReq;
import com.ruoyi.xq.dto.app.pay.ConsumeResp; import com.ruoyi.xq.dto.app.pay.ConsumeResp;
import com.ruoyi.xq.dto.common.user.MinUser; import com.ruoyi.xq.dto.common.user.MinUser;
@@ -24,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.Map; import java.util.Map;
/** /**
@@ -100,6 +104,7 @@ public class GroupOrderServiceImpl extends ServiceImpl<GroupOrderMapper,GroupOrd
.eq(GroupOrder::getId, order.getId()) .eq(GroupOrder::getId, order.getId())
.eq(GroupOrder::getPayStatus, PayStatusEnum.READY_PAY.getCode()) .eq(GroupOrder::getPayStatus, PayStatusEnum.READY_PAY.getCode())
.set(GroupOrder::getPayStatus, PayStatusEnum.PAY.getCode()) .set(GroupOrder::getPayStatus, PayStatusEnum.PAY.getCode())
.set(GroupOrder::getPayTime, LocalDateTime.now())
.set(GroupOrder::getReturnContent, JSON.toJSONString(params)) .set(GroupOrder::getReturnContent, JSON.toJSONString(params))
.set(GroupOrder::getAppid,appId) .set(GroupOrder::getAppid,appId)
.set(GroupOrder::getPlatformType, payTypeEnum.getCode())); .set(GroupOrder::getPlatformType, payTypeEnum.getCode()));
@@ -116,4 +121,24 @@ public class GroupOrderServiceImpl extends ServiceImpl<GroupOrderMapper,GroupOrd
return resp; return resp;
} }
@Override
public Page<GroupOrderAdminVo> pageAdmin(PageQuery pageQuery, GroupOrderAdminVo bo) {
return baseMapper.pageAdmin(pageQuery.build(),bo);
}
@Override
public void commitDealStatus(Long id) {
GroupOrder groupOrder = this.getById(id);
if(groupOrder == null){
throw new ServiceException("订单不存在");
}
if(!PayStatusEnum.PAY.getCode().equals(groupOrder.getPayStatus())){
throw new ServiceException("未支付无法处理");
}
this.update(Wrappers.lambdaUpdate(GroupOrder.class)
.eq(GroupOrder::getId, id)
.eq(GroupOrder::getPayStatus, PayStatusEnum.PAY.getCode())
.set(GroupOrder::getDealStatus, 1));
}
} }

View File

@@ -6,10 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.xq.domain.ConsumeLog; import com.ruoyi.xq.domain.*;
import com.ruoyi.xq.domain.User;
import com.ruoyi.xq.domain.VipOrder;
import com.ruoyi.xq.domain.VipPrice;
import com.ruoyi.xq.dto.admin.vipOrder.VipOrderAdminVo; import com.ruoyi.xq.dto.admin.vipOrder.VipOrderAdminVo;
import com.ruoyi.xq.dto.app.pay.ConsumeResp; import com.ruoyi.xq.dto.app.pay.ConsumeResp;
import com.ruoyi.xq.enums.common.OrderTypeEnum; import com.ruoyi.xq.enums.common.OrderTypeEnum;
@@ -28,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.Map; import java.util.Map;
/** /**
@@ -98,6 +96,7 @@ public class VipOrderServiceImpl extends ServiceImpl<VipOrderMapper,VipOrder> im
.eq(VipOrder::getId, vipOrder.getId()) .eq(VipOrder::getId, vipOrder.getId())
.eq(VipOrder::getPayStatus, PayStatusEnum.READY_PAY.getCode()) .eq(VipOrder::getPayStatus, PayStatusEnum.READY_PAY.getCode())
.set(VipOrder::getPayStatus, PayStatusEnum.PAY.getCode()) .set(VipOrder::getPayStatus, PayStatusEnum.PAY.getCode())
.set(VipOrder::getPayTime, LocalDateTime.now())
.set(VipOrder::getTraceId, traceId) .set(VipOrder::getTraceId, traceId)
.set(VipOrder::getReturnContent, JSON.toJSONString(params)) .set(VipOrder::getReturnContent, JSON.toJSONString(params))
.set(VipOrder::getAppid,appId) .set(VipOrder::getAppid,appId)

View File

@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.xq.domain.AuthOrder;
import com.ruoyi.xq.domain.GroupOrder;
import com.ruoyi.xq.domain.User; import com.ruoyi.xq.domain.User;
import com.ruoyi.xq.domain.WxTransOrder; import com.ruoyi.xq.domain.WxTransOrder;
import com.ruoyi.xq.dto.admin.account.WxTransOrderAdminVo; import com.ruoyi.xq.dto.admin.account.WxTransOrderAdminVo;
@@ -29,6 +31,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Map; import java.util.Map;
/** /**
@@ -88,6 +91,7 @@ public class WxTransOrderServiceImpl extends ServiceImpl<WxTransOrderMapper,WxTr
.eq(WxTransOrder::getPayStatus, PayStatusEnum.READY_PAY.getCode()) .eq(WxTransOrder::getPayStatus, PayStatusEnum.READY_PAY.getCode())
.set(WxTransOrder::getPayStatus, PayStatusEnum.PAY.getCode()) .set(WxTransOrder::getPayStatus, PayStatusEnum.PAY.getCode())
.set(WxTransOrder::getTraceId, traceId) .set(WxTransOrder::getTraceId, traceId)
.set(WxTransOrder::getPayTime, LocalDateTime.now())
.set(WxTransOrder::getReturnContent, JSON.toJSONString(params)) .set(WxTransOrder::getReturnContent, JSON.toJSONString(params))
.set(WxTransOrder::getAppid,appId) .set(WxTransOrder::getAppid,appId)
.set(WxTransOrder::getPlatformType, payTypeEnum.getCode())); .set(WxTransOrder::getPlatformType, payTypeEnum.getCode()));

View File

@@ -4,31 +4,38 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.xq.mapper.GroupOrderMapper"> <mapper namespace="com.ruoyi.xq.mapper.GroupOrderMapper">
<resultMap type="com.ruoyi.xq.domain.GroupOrder" id="GroupOrderResult"> <select id="pageAdmin" resultType="com.ruoyi.xq.dto.admin.groupOrder.GroupOrderAdminVo">
<result property="id" column="id"/> select t1.*, t2.nickname,t2.mobile,t2.avatar
<result property="groupId" column="group_id"/> from xq_group_order t1
<result property="groupImage" column="group_image"/> left join xq_user t2 on t1.user_id = t2.id
<result property="groupName" column="group_name"/> <where>
<result property="cityName" column="city_name"/> <if test="bo.usercode != null and bo.usercode != ''">
<result property="cityCode" column="city_code"/> and t1.usercode = #{bo.usercode}
<result property="joinMobile" column="join_mobile"/> </if>
<result property="joinPrice" column="join_price"/> <if test="bo.nickname != null and bo.nickname != ''">
<result property="userId" column="user_id"/> and t2.nickname like concat('%',#{bo.nickname},'%')
<result property="usercode" column="usercode"/> </if>
<result property="gender" column="gender"/> <if test="bo.mobile != null and bo.mobile != ''">
<result property="body" column="body"/> and t2.mobile = #{bo.mobile}
<result property="orderName" column="order_name"/> </if>
<result property="orderNo" column="order_no"/> <if test="bo.groupName != null and bo.groupName != ''">
<result property="platformType" column="platform_type"/> and t1.group_name like concat('%',#{bo.groupName},'%')
<result property="payStatus" column="pay_status"/> </if>
<result property="payTime" column="pay_time"/> <if test="bo.joinMobile != null and bo.joinMobile != ''">
<result property="appid" column="appid"/> and t1.join_mobile = #{bo.joinMobile}
<result property="returnContent" column="return_content"/> </if>
<result property="operateIp" column="operate_ip"/> <if test="bo.orderNo != null and bo.orderNo != ''">
<result property="adminId" column="admin_id"/> and t1.order_no = #{bo.orderNo}
<result property="createTime" column="create_time"/> </if>
<result property="updateTime" column="update_time"/> <if test="bo.payStatus != null">
</resultMap> and t1.pay_status = #{bo.payStatus}
</if>
<if test="bo.dealStatus != null">
and t1.deal_status = #{bo.dealStatus}
</if>
</where>
order by t1.create_time desc
</select>
</mapper> </mapper>