押金记录表

This commit is contained in:
gxwebsoft
2024-05-03 16:47:09 +08:00
parent 4996a8be18
commit bb1a6449ef
11 changed files with 471 additions and 18 deletions
@@ -38,7 +38,6 @@ public class MpMenuController extends BaseController {
@Resource @Resource
private RedisUtil redisUtil; private RedisUtil redisUtil;
@PreAuthorize("hasAuthority('cms:mpMenu:list')")
@ApiOperation("分页查询小程序端菜单") @ApiOperation("分页查询小程序端菜单")
@GetMapping("/page") @GetMapping("/page")
public ApiResult<PageResult<MpMenu>> page(MpMenuParam param) { public ApiResult<PageResult<MpMenu>> page(MpMenuParam param) {
@@ -46,14 +45,12 @@ public class MpMenuController extends BaseController {
return success(mpMenuService.pageRel(param)); return success(mpMenuService.pageRel(param));
} }
@PreAuthorize("hasAuthority('cms:mpMenu:list')")
@ApiOperation("查询全部小程序端菜单") @ApiOperation("查询全部小程序端菜单")
@GetMapping() @GetMapping()
public ApiResult<List<MpMenu>> list(MpMenuParam param) { public ApiResult<List<MpMenu>> list(MpMenuParam param) {
return success(mpMenuService.listRel(param)); return success(mpMenuService.listRel(param));
} }
@PreAuthorize("hasAuthority('cms:mpMenu:list')")
@ApiOperation("根据id查询小程序端菜单") @ApiOperation("根据id查询小程序端菜单")
@GetMapping("/{id}") @GetMapping("/{id}")
public ApiResult<MpMenu> get(@PathVariable("id") Integer id) { public ApiResult<MpMenu> get(@PathVariable("id") Integer id) {
@@ -0,0 +1,121 @@
package com.gxwebsoft.shop.controller;
import com.gxwebsoft.common.core.web.BaseController;
import com.gxwebsoft.shop.service.WechatDepositService;
import com.gxwebsoft.shop.entity.WechatDeposit;
import com.gxwebsoft.shop.param.WechatDepositParam;
import com.gxwebsoft.common.core.web.ApiResult;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.BatchParam;
import com.gxwebsoft.common.core.annotation.OperationLog;
import com.gxwebsoft.common.system.entity.User;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* 押金控制器
*
* @author 科技小王子
* @since 2024-05-03 15:50:28
*/
@Api(tags = "押金管理")
@RestController
@RequestMapping("/api/shop/wechat-deposit")
public class WechatDepositController extends BaseController {
@Resource
private WechatDepositService wechatDepositService;
@ApiOperation("分页查询押金")
@GetMapping("/page")
public ApiResult<PageResult<WechatDeposit>> page(WechatDepositParam param) {
// 使用关联查询
return success(wechatDepositService.pageRel(param));
}
@ApiOperation("查询全部押金")
@GetMapping()
public ApiResult<List<WechatDeposit>> list(WechatDepositParam param) {
// 使用关联查询
return success(wechatDepositService.listRel(param));
}
@PreAuthorize("hasAuthority('shop:wechatDeposit:list')")
@ApiOperation("根据id查询押金")
@GetMapping("/{id}")
public ApiResult<WechatDeposit> get(@PathVariable("id") Integer id) {
// 使用关联查询
return success(wechatDepositService.getByIdRel(id));
}
@PreAuthorize("hasAuthority('shop:wechatDeposit:list')")
@ApiOperation("添加押金")
@PostMapping()
public ApiResult<?> save(@RequestBody WechatDeposit wechatDeposit) {
// 记录当前登录用户id
// User loginUser = getLoginUser();
// if (loginUser != null) {
// wechatDeposit.setUserId(loginUser.getUserId());
// }
if (wechatDepositService.save(wechatDeposit)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('shop:wechatDeposit:update')")
@ApiOperation("修改押金")
@PutMapping()
public ApiResult<?> update(@RequestBody WechatDeposit wechatDeposit) {
if (wechatDepositService.updateById(wechatDeposit)) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('shop:wechatDeposit:remove')")
@ApiOperation("删除押金")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (wechatDepositService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@PreAuthorize("hasAuthority('shop:wechatDeposit:save')")
@ApiOperation("批量添加押金")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<WechatDeposit> list) {
if (wechatDepositService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('shop:wechatDeposit:update')")
@ApiOperation("批量修改押金")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<WechatDeposit> batchParam) {
if (batchParam.update(wechatDepositService, "id")) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('shop:wechatDeposit:remove')")
@ApiOperation("批量删除押金")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (wechatDepositService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}
@@ -0,0 +1,67 @@
package com.gxwebsoft.shop.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 押金
*
* @author 科技小王子
* @since 2024-05-03 15:50:28
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "WechatDeposit对象", description = "押金")
@TableName("shop_wechat_deposit")
public class WechatDeposit implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(value = "订单id")
private Integer oid;
@ApiModelProperty(value = "用户id")
private Integer uid;
@ApiModelProperty(value = "场地订单号")
private String orderNum;
@ApiModelProperty(value = "付款订单号")
private String wechatOrder;
@ApiModelProperty(value = "退款订单号 ")
private String wechatReturn;
@ApiModelProperty(value = "场馆名称")
private String siteName;
@ApiModelProperty(value = "微信昵称")
private String username;
@ApiModelProperty(value = "手机号码")
private String phone;
@ApiModelProperty(value = "物品名称")
private String name;
@ApiModelProperty(value = "押金金额")
private BigDecimal price;
@ApiModelProperty(value = "押金状态,1已付款,2未付款,已退押金")
private Integer status;
private Integer createTime;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
}
@@ -0,0 +1,37 @@
package com.gxwebsoft.shop.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.shop.entity.WechatDeposit;
import com.gxwebsoft.shop.param.WechatDepositParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 押金Mapper
*
* @author 科技小王子
* @since 2024-05-03 15:50:28
*/
public interface WechatDepositMapper extends BaseMapper<WechatDeposit> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<WechatDeposit>
*/
List<WechatDeposit> selectPageRel(@Param("page") IPage<WechatDeposit> page,
@Param("param") WechatDepositParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<WechatDeposit> selectListRel(@Param("param") WechatDepositParam param);
}
@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gxwebsoft.shop.mapper.WechatDepositMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
FROM shop_wechat_deposit a
<where>
<if test="param.id != null">
AND a.id = #{param.id}
</if>
<if test="param.oid != null">
AND a.oid = #{param.oid}
</if>
<if test="param.uid != null">
AND a.uid = #{param.uid}
</if>
<if test="param.orderNum != null">
AND a.order_num LIKE CONCAT('%', #{param.orderNum}, '%')
</if>
<if test="param.wechatOrder != null">
AND a.wechat_order LIKE CONCAT('%', #{param.wechatOrder}, '%')
</if>
<if test="param.wechatReturn != null">
AND a.wechat_return LIKE CONCAT('%', #{param.wechatReturn}, '%')
</if>
<if test="param.siteName != null">
AND a.site_name LIKE CONCAT('%', #{param.siteName}, '%')
</if>
<if test="param.username != null">
AND a.username LIKE CONCAT('%', #{param.username}, '%')
</if>
<if test="param.phone != null">
AND a.phone LIKE CONCAT('%', #{param.phone}, '%')
</if>
<if test="param.name != null">
AND a.name LIKE CONCAT('%', #{param.name}, '%')
</if>
<if test="param.price != null">
AND a.price = #{param.price}
</if>
<if test="param.status != null">
AND a.status = #{param.status}
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
<if test="param.keywords != null">
AND (a.oid = #{param.keywords}
OR a.order_num = #{param.keywords}
OR a.phone = #{param.keywords}
)
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.shop.entity.WechatDeposit">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.shop.entity.WechatDeposit">
<include refid="selectSql"></include>
</select>
</mapper>
@@ -103,19 +103,19 @@ public class OrderParam extends BaseParam {
@ApiModelProperty(value = "1微信支付,2积分,3支付宝,4现金,5POS机,6VIP月卡,7VIP年卡,8VIP次卡,9IC月卡,10IC年卡,11IC次卡,12免费,13VIP充值卡,14IC充值卡,15积分支付,16VIP季卡,17IC季卡") @ApiModelProperty(value = "1微信支付,2积分,3支付宝,4现金,5POS机,6VIP月卡,7VIP年卡,8VIP次卡,9IC月卡,10IC年卡,11IC次卡,12免费,13VIP充值卡,14IC充值卡,15积分支付,16VIP季卡,17IC季卡")
@QueryField(type = QueryType.EQ) @QueryField(type = QueryType.EQ)
private Boolean payType; private Integer payType;
@ApiModelProperty(value = "1已付款,2未付款") @ApiModelProperty(value = "1已付款,2未付款")
@QueryField(type = QueryType.EQ) @QueryField(type = QueryType.EQ)
private Boolean payStatus; private Integer payStatus;
@ApiModelProperty(value = "1已完成,2未使用,3已取消,4退款申请中,5退款被拒绝,6退款成功,7客户端申请退款") @ApiModelProperty(value = "1已完成,2未使用,3已取消,4退款申请中,5退款被拒绝,6退款成功,7客户端申请退款")
@QueryField(type = QueryType.EQ) @QueryField(type = QueryType.EQ)
private Boolean orderStatus; private Integer orderStatus;
@ApiModelProperty(value = "优惠类型:0无、1抵扣优惠券、2折扣优惠券、3、VIP月卡、4VIP年卡,5VIP次卡、6VIP会员卡、7IC月卡、8IC年卡、9IC次卡、10IC会员卡、11免费订单、12VIP充值卡、13IC充值卡、14VIP季卡、15IC季卡") @ApiModelProperty(value = "优惠类型:0无、1抵扣优惠券、2折扣优惠券、3、VIP月卡、4VIP年卡,5VIP次卡、6VIP会员卡、7IC月卡、8IC年卡、9IC次卡、10IC会员卡、11免费订单、12VIP充值卡、13IC充值卡、14VIP季卡、15IC季卡")
@QueryField(type = QueryType.EQ) @QueryField(type = QueryType.EQ)
private Boolean type; private Integer type;
@ApiModelProperty(value = "二维码地址,保存订单号,支付成功后才生成") @ApiModelProperty(value = "二维码地址,保存订单号,支付成功后才生成")
private String qrcode; private String qrcode;
@@ -136,7 +136,7 @@ public class OrderParam extends BaseParam {
@ApiModelProperty(value = "是否已开具发票:1已开发票,2未开发票,3不能开具发票") @ApiModelProperty(value = "是否已开具发票:1已开发票,2未开发票,3不能开具发票")
@QueryField(type = QueryType.EQ) @QueryField(type = QueryType.EQ)
private Boolean isInvoice; private Integer isInvoice;
@ApiModelProperty(value = "付款时间") @ApiModelProperty(value = "付款时间")
@QueryField(type = QueryType.EQ) @QueryField(type = QueryType.EQ)
@@ -0,0 +1,66 @@
package com.gxwebsoft.shop.param;
import java.math.BigDecimal;
import com.gxwebsoft.common.core.annotation.QueryField;
import com.gxwebsoft.common.core.annotation.QueryType;
import com.gxwebsoft.common.core.web.BaseParam;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 押金查询参数
*
* @author 科技小王子
* @since 2024-05-03 15:50:28
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "WechatDepositParam对象", description = "押金查询参数")
public class WechatDepositParam extends BaseParam {
private static final long serialVersionUID = 1L;
@QueryField(type = QueryType.EQ)
private Integer id;
@ApiModelProperty(value = "订单id")
@QueryField(type = QueryType.EQ)
private Integer oid;
@ApiModelProperty(value = "用户id")
@QueryField(type = QueryType.EQ)
private Integer uid;
@ApiModelProperty(value = "场地订单号")
private String orderNum;
@ApiModelProperty(value = "付款订单号")
private String wechatOrder;
@ApiModelProperty(value = "退款订单号 ")
private String wechatReturn;
@ApiModelProperty(value = "场馆名称")
private String siteName;
@ApiModelProperty(value = "微信昵称")
private String username;
@ApiModelProperty(value = "手机号码")
private String phone;
@ApiModelProperty(value = "物品名称")
private String name;
@ApiModelProperty(value = "押金金额")
@QueryField(type = QueryType.EQ)
private BigDecimal price;
@ApiModelProperty(value = "押金状态,1已付款,2未付款,已退押金")
@QueryField(type = QueryType.EQ)
private Integer status;
}
@@ -0,0 +1,42 @@
package com.gxwebsoft.shop.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.shop.entity.WechatDeposit;
import com.gxwebsoft.shop.param.WechatDepositParam;
import java.util.List;
/**
* 押金Service
*
* @author 科技小王子
* @since 2024-05-03 15:50:28
*/
public interface WechatDepositService extends IService<WechatDeposit> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<WechatDeposit>
*/
PageResult<WechatDeposit> pageRel(WechatDepositParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<WechatDeposit>
*/
List<WechatDeposit> listRel(WechatDepositParam param);
/**
* 根据id查询
*
* @param id
* @return WechatDeposit
*/
WechatDeposit getByIdRel(Integer id);
}
@@ -12,6 +12,7 @@ import com.gxwebsoft.shop.param.OrderParam;
import com.gxwebsoft.common.core.web.PageParam; import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.PageResult; import com.gxwebsoft.common.core.web.PageResult;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.List;
@@ -37,6 +38,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
page.setDefaultOrder("sort_number asc, create_time desc"); page.setDefaultOrder("sort_number asc, create_time desc");
List<Order> list = baseMapper.selectPageRel(page, param); List<Order> list = baseMapper.selectPageRel(page, param);
final Set<Integer> orderIds = list.stream().map(Order::getOrderId).collect(Collectors.toSet()); final Set<Integer> orderIds = list.stream().map(Order::getOrderId).collect(Collectors.toSet());
// 查询订单信息表
if (!CollectionUtils.isEmpty(orderIds)) {
final List<OrderInfo> orderInfoList = orderInfoService.list(new LambdaQueryWrapper<OrderInfo>().in(OrderInfo::getOid, orderIds)); final List<OrderInfo> orderInfoList = orderInfoService.list(new LambdaQueryWrapper<OrderInfo>().in(OrderInfo::getOid, orderIds));
final Map<Integer, List<OrderInfo>> orderInfo = orderInfoList.stream().collect(Collectors.groupingBy(OrderInfo::getOid)); final Map<Integer, List<OrderInfo>> orderInfo = orderInfoList.stream().collect(Collectors.groupingBy(OrderInfo::getOid));
list.forEach(d -> { list.forEach(d -> {
@@ -47,6 +50,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
} }
} }
}); });
}
return new PageResult<>(list, page.getTotal()); return new PageResult<>(list, page.getTotal());
} }
@@ -0,0 +1,47 @@
package com.gxwebsoft.shop.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gxwebsoft.shop.mapper.WechatDepositMapper;
import com.gxwebsoft.shop.service.WechatDepositService;
import com.gxwebsoft.shop.entity.WechatDeposit;
import com.gxwebsoft.shop.param.WechatDepositParam;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.PageResult;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 押金Service实现
*
* @author 科技小王子
* @since 2024-05-03 15:50:28
*/
@Service
public class WechatDepositServiceImpl extends ServiceImpl<WechatDepositMapper, WechatDeposit> implements WechatDepositService {
@Override
public PageResult<WechatDeposit> pageRel(WechatDepositParam param) {
PageParam<WechatDeposit, WechatDepositParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
List<WechatDeposit> list = baseMapper.selectPageRel(page, param);
return new PageResult<>(list, page.getTotal());
}
@Override
public List<WechatDeposit> listRel(WechatDepositParam param) {
List<WechatDeposit> list = baseMapper.selectListRel(param);
// 排序
PageParam<WechatDeposit, WechatDepositParam> page = new PageParam<>();
page.setDefaultOrder("create_time desc");
return page.sortRecords(list);
}
@Override
public WechatDeposit getByIdRel(Integer id) {
WechatDepositParam param = new WechatDepositParam();
param.setId(id);
return param.getOne(baseMapper.selectListRel(param));
}
}
@@ -69,7 +69,8 @@ public class ShopGenerator {
// "shop_user_collection", // "shop_user_collection",
// "shop_mp_menu" // "shop_mp_menu"
// "shop_order_info", // "shop_order_info",
// "shop_order_info_log" // "shop_order_info_log",
"shop_wechat_deposit"
}; };
// 需要去除的表前缀 // 需要去除的表前缀
private static final String[] TABLE_PREFIX = new String[]{ private static final String[] TABLE_PREFIX = new String[]{