Bladeren bron

Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserMineController.java
MrWang 2 jaren geleden
bovenliggende
commit
d59464a387

+ 0 - 3
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserMineController.java

@@ -12,7 +12,6 @@ import com.qs.mp.admin.service.ICouponChannelService;
 import com.qs.mp.admin.service.ICouponService;
 import com.qs.mp.admin.service.IGoodsService;
 import com.qs.mp.channel.domain.Channel;
-import com.qs.mp.channel.service.IChannelCoinTransferService;
 import com.qs.mp.channel.service.IChannelService;
 import com.qs.mp.common.annotation.Log;
 import com.qs.mp.common.core.domain.AjaxResult;
@@ -27,7 +26,6 @@ import com.qs.mp.user.domain.UserCoinLog;
 import com.qs.mp.user.domain.UserCoupon;
 import com.qs.mp.user.domain.UserPrizeStorage;
 import com.qs.mp.user.domain.param.CouponChannelQueryParam;
-import com.qs.mp.user.domain.param.UserPrizeStorageQueryParam;
 import com.qs.mp.user.domain.param.UserPrizeStorageUpdateParam;
 import com.qs.mp.user.domain.vo.UserCouponVO;
 import com.qs.mp.user.domain.vo.UserPrizeStorageVO;
@@ -50,7 +48,6 @@ import io.swagger.annotations.ApiResponses;
 import java.util.stream.Collectors;
 import lombok.AllArgsConstructor;
 import ma.glasnost.orika.MapperFacade;
-import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.CollectionUtils;
 import org.springframework.validation.annotation.Validated;

+ 67 - 0
mp-service/src/main/java/com/qs/mp/channel/domain/ChannelCoinTransfer.java

@@ -0,0 +1,67 @@
+package com.qs.mp.channel.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * @author hu
+ * @create 2023/4/20 15:39
+ * @apiNote 用户盲豆转让信息表实体类
+ */
+
+@TableName("mp_user_coin_transfer")
+@Data
+@ApiModel("用户盲豆转让信息表实体类")
+public class ChannelCoinTransfer implements Serializable {
+
+  private static final long serialVersionUID = 1L;
+
+  /**
+   * 主键
+   */
+  @TableId(value = "id", type = IdType.AUTO)
+  @ApiModelProperty("主键")
+  private Long id;
+
+  /**
+   * 转让人ID
+   */
+  @TableField("transfer_id")
+  @ApiModelProperty("转让人ID")
+  private Long transferId;
+
+  /**
+   * 拥有人ID
+   */
+  @TableField("have_id")
+  @ApiModelProperty("拥有人ID")
+  private Long haveId;
+
+  /**
+   * 受让人的盲豆数量
+   */
+  @TableField("number")
+  @ApiModelProperty("受让人的盲豆数量")
+  private Integer number;
+
+  /**
+   * 创建时间
+   */
+  @TableField("created_time")
+  @ApiModelProperty("创建时间")
+  private Date createdTime;
+
+  /**
+   * 更新时间
+   */
+  @TableField("updated_time")
+  @ApiModelProperty("更新时间")
+  private Date updatedTime;
+}

+ 25 - 0
mp-service/src/main/java/com/qs/mp/channel/domain/param/UserCoinTransferParam.java

@@ -0,0 +1,25 @@
+package com.qs.mp.channel.domain.param;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author hu
+ * @apiNote 我的盲豆转让入参类
+ * @date 2023/4/20
+ */
+
+@ApiModel("我的盲豆转让入参类")
+@Data
+public class UserCoinTransferParam {
+
+  @ApiModelProperty("受让人的盲豆数量")
+  private Integer number;
+
+  @ApiModelProperty("受让人id")
+  private Long assigneeId;
+
+  @ApiModelProperty("受让人手机号")
+  private String mobile;
+}

+ 13 - 0
mp-service/src/main/java/com/qs/mp/channel/mapper/ChannelCoinTransferMapper.java

@@ -0,0 +1,13 @@
+package com.qs.mp.channel.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qs.mp.channel.domain.ChannelCoinTransfer;
+
+/**
+ * @author mine
+ * @create 2023/4/20 15:22
+ * @apiNote
+ */
+public interface ChannelCoinTransferMapper extends BaseMapper<ChannelCoinTransfer> {
+
+}

+ 21 - 0
mp-service/src/main/java/com/qs/mp/channel/service/IChannelCoinTransferService.java

@@ -0,0 +1,21 @@
+package com.qs.mp.channel.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qs.mp.channel.domain.ChannelCoinTransfer;
+import com.qs.mp.channel.domain.param.UserCoinTransferParam;
+
+/**
+ * @author hu
+ * @create 2023/4/20 15:16
+ * @apiNote 用户盲豆转让信息表 服务类
+ */
+public interface IChannelCoinTransferService extends IService<ChannelCoinTransfer>{
+
+  /**
+   * 用户盲豆转让
+   * @param userId     转让人id
+   * @param userCoinTransferParam 转让参数
+   * @return
+   */
+  boolean transferCoin(Long userId, UserCoinTransferParam userCoinTransferParam);
+}

+ 42 - 0
mp-service/src/main/java/com/qs/mp/channel/service/impl/ChannelCoinTransferServiceImpl.java

@@ -0,0 +1,42 @@
+package com.qs.mp.channel.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qs.mp.channel.domain.ChannelCoinTransfer;
+import com.qs.mp.channel.domain.ChannelOrderDetail;
+import com.qs.mp.channel.domain.ChannelTicketTransfer;
+import com.qs.mp.channel.domain.param.UserCoinTransferParam;
+import com.qs.mp.channel.mapper.ChannelCoinTransferMapper;
+import com.qs.mp.channel.service.IChannelCoinTransferService;
+import com.qs.mp.user.service.IUserCoinService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * @author hu
+ * @create 2023/4/20 15:17
+ * @apiNote 用户盲豆转让
+ */
+
+@Service
+public class ChannelCoinTransferServiceImpl extends ServiceImpl<ChannelCoinTransferMapper, ChannelCoinTransfer> implements IChannelCoinTransferService {
+
+  @Autowired
+  private IUserCoinService userCoinService;
+
+  @Override
+  @Transactional(rollbackFor = Exception.class)
+  public boolean transferCoin(Long userId, UserCoinTransferParam userCoinTransferParam) {
+    // 转让盲豆
+    ChannelCoinTransfer channelCoinTransfer = new ChannelCoinTransfer();
+    channelCoinTransfer.setTransferId(userId);
+    channelCoinTransfer.setHaveId(userCoinTransferParam.getAssigneeId());
+    channelCoinTransfer.setNumber(userCoinTransferParam.getNumber());
+    // 记录盲豆转让信息
+    this.save(channelCoinTransfer);
+    //处理更新盲豆
+    return true;
+  }
+}
+

+ 20 - 0
mp-service/src/main/resources/mapper/user/ChannelCoinTransferMapper.xml

@@ -0,0 +1,20 @@
+<?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.qs.mp.user.mapper.ChannelCoinTransferMapper">
+
+  <!-- 通用查询映射结果 -->
+  <resultMap id="BaseResultMap" type="com.qs.mp.user.mapper.ChannelCoinTransferMapper">
+    <id column="id" property="id"/>
+    <result column="transfer_id" property="transferId"/>
+    <result column="have_id" property="haveId"/>
+    <result column="number" property="number"/>
+    <result column="createdTime" property="createdTime"/>
+    <result column="updatedTime" property="updatedTime"/>
+  </resultMap>
+
+  <!-- 通用查询结果列 -->
+  <sql id="Base_Column_List">
+    id, transfer_id, have_id, number, created_time, updated_time
+  </sql>
+</mapper>