Kaynağa Gözat

后台增加琴房时长

liweifan 3 yıl önce
ebeveyn
işleme
ca42270986

+ 86 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/PianoRoomChangeRecordController.java

@@ -0,0 +1,86 @@
+package com.yonge.cooleshow.admin.controller;
+
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.toolset.base.page.PageInfo;
+import com.yonge.toolset.mybatis.support.PageUtil;
+
+import com.yonge.toolset.base.util.StringUtil;
+import io.swagger.annotations.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+import com.yonge.cooleshow.biz.dal.vo.PianoRoomChangeRecordVo;
+import com.yonge.cooleshow.biz.dal.dto.search.PianoRoomChangeRecordSearch;
+import com.yonge.cooleshow.biz.dal.entity.PianoRoomChangeRecord;
+import com.yonge.cooleshow.biz.dal.service.PianoRoomChangeRecordService;
+
+@RestController
+@RequestMapping("/pianoRoomChangeRecord")
+@Api(value = "琴房时长变更记录表", tags = "琴房时长变更记录表")
+public class PianoRoomChangeRecordController extends BaseController {
+
+    @Autowired
+    private PianoRoomChangeRecordService pianoRoomChangeRecordService;
+
+	/**
+     * 查询单条
+     */
+    @GetMapping("/detail/{id}")
+    @ApiOperation(value = "详情", notes = "传入id")
+    public HttpResponseResult<PianoRoomChangeRecordVo> detail(@PathVariable("id") Long id) {
+    	return succeed(pianoRoomChangeRecordService.detail(id));
+	}
+    
+    /**
+     * 查询分页
+     */
+    @PostMapping("/page")
+    @ApiOperation(value = "查询分页", notes = "传入pianoRoomChangeRecordSearch")
+    public HttpResponseResult<PageInfo<PianoRoomChangeRecordVo>> page(@RequestBody PianoRoomChangeRecordSearch query) {
+		IPage<PianoRoomChangeRecordVo> pages = pianoRoomChangeRecordService.selectPage(PageUtil.getPage(query), query);
+        return succeed(PageUtil.pageInfo(pages));
+	}
+    
+    /**
+	 * 新增
+	 */
+	@PostMapping("/save")
+	@ApiOperation(value = "新增", notes = "传入pianoRoomChangeRecord")
+	public HttpResponseResult save(@Valid @RequestBody PianoRoomChangeRecord pianoRoomChangeRecord) {
+    	return status(pianoRoomChangeRecordService.save(pianoRoomChangeRecord));
+	}
+    
+    /**
+	 * 修改
+	 */
+	@PostMapping("/update")
+	@ApiOperation(value = "修改", notes = "传入pianoRoomChangeRecord")
+	public HttpResponseResult update(@Valid @RequestBody PianoRoomChangeRecord pianoRoomChangeRecord) {
+        return status(pianoRoomChangeRecordService.updateById(pianoRoomChangeRecord));
+	}
+    
+    /**
+	 * 新增或修改
+	 */
+    @PostMapping("/submit")
+    @ApiOperation(value = "新增或修改", notes = "传入pianoRoomChangeRecord")
+	public HttpResponseResult submit(@Valid @RequestBody PianoRoomChangeRecord pianoRoomChangeRecord) {
+        return status(pianoRoomChangeRecordService.saveOrUpdate(pianoRoomChangeRecord));
+    }
+
+ 	/**
+	 * 删除
+	 */
+	@PostMapping("/remove")
+	@ApiOperation(value = "删除", notes = "传入ids")
+	public HttpResponseResult remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+        if (StringUtil.isEmpty(ids)) {
+			return failed("参数不能为空");
+		}
+		return status(pianoRoomChangeRecordService.removeByIds(StringUtil.toLongList(ids)));
+	}
+}

+ 30 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/PianoRoomChangeRecordDao.java

@@ -0,0 +1,30 @@
+package com.yonge.cooleshow.biz.dal.dao;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import com.yonge.cooleshow.biz.dal.entity.PianoRoomChangeRecord;
+import com.yonge.cooleshow.biz.dal.vo.PianoRoomChangeRecordVo;
+import com.yonge.cooleshow.biz.dal.dto.search.PianoRoomChangeRecordSearch;
+
+
+public interface PianoRoomChangeRecordDao extends BaseMapper<PianoRoomChangeRecord>{
+	/**
+	 * 查询详情
+     * @author liweifan
+     * @date 2022-08-03 16:44:34
+     * @return: com.yonge.cooleshow.biz.dal.vo.PianoRoomChangeRecordVo
+	 */
+	PianoRoomChangeRecordVo detail(@Param("id") Long id);
+
+	/**
+	 * 分页查询
+     * @author liweifan
+     * @date 2022-08-03 16:44:34
+     * @return: com.yonge.cooleshow.biz.dal.vo.PianoRoomChangeRecordVo
+	 */
+	List<PianoRoomChangeRecordVo> selectPage(@Param("page") IPage page, @Param("param") PianoRoomChangeRecordSearch pianoRoomChangeRecord);
+	
+}

+ 13 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/PianoRoomChangeRecordDto.java

@@ -0,0 +1,13 @@
+package com.yonge.cooleshow.biz.dal.dto;
+
+import com.yonge.cooleshow.biz.dal.entity.PianoRoomChangeRecord;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-08-03 16:44:34
+ */
+@ApiModel(value = "PianoRoomChangeRecordDto对象", description = "琴房时长变更记录表数据传输对象")
+public class PianoRoomChangeRecordDto extends PianoRoomChangeRecord{
+	private static final long serialVersionUID = 1L;
+}

+ 14 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/PianoRoomChangeRecordSearch.java

@@ -0,0 +1,14 @@
+package com.yonge.cooleshow.biz.dal.dto.search;
+
+import com.yonge.toolset.base.page.QueryInfo;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-08-03 16:44:34
+ */
+@ApiModel(value = "PianoRoomChangeRecordSearch对象", description = "琴房时长变更记录表查询对象")
+public class PianoRoomChangeRecordSearch extends QueryInfo{
+	private static final long serialVersionUID = 1L;
+
+}

+ 14 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/PianoRoomBuyRecord.java

@@ -4,6 +4,7 @@ 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 com.yonge.cooleshow.biz.dal.enums.InOrOutEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -48,7 +49,18 @@ public class PianoRoomBuyRecord implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
     private Date updateTime;
 
-	public Long getId() {
+    public PianoRoomBuyRecord() {
+    }
+
+    public PianoRoomBuyRecord(Long userId, Long settingsId, String orderNo, String subOrderNo, Integer times) {
+        this.userId = userId;
+        this.settingsId = settingsId;
+        this.orderNo = orderNo;
+        this.subOrderNo = subOrderNo;
+        this.times = times;
+    }
+
+    public Long getId() {
         return id;
     }
 
@@ -111,5 +123,5 @@ public class PianoRoomBuyRecord implements Serializable {
     public void setUpdateTime(Date updateTime) {
         this.updateTime = updateTime;
     }
-    
+
 }

+ 91 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/PianoRoomChangeRecord.java

@@ -0,0 +1,91 @@
+package com.yonge.cooleshow.biz.dal.entity;
+
+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 com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * 琴房时长变更记录表
+ */
+@TableName("piano_room_change_record")
+@ApiModel(value = "PianoRoomChangeRecord对象", description = "琴房时长变更记录表")
+public class PianoRoomChangeRecord implements Serializable {
+	private static final long serialVersionUID = 1L;
+    @ApiModelProperty("购买记录id ")
+    @TableId(value = "id_", type = IdType.AUTO)
+    private Long id;
+    @ApiModelProperty("用户id ")
+	@TableField(value = "user_id_")
+    private Long userId;
+    @ApiModelProperty("时长(分) ")
+	@TableField(value = "times_")
+    private Integer times;
+    @ApiModelProperty("收支类型:IN、增加 OUT、减少 ")
+	@TableField(value = "in_or_out_")
+    private String inOrOut;
+    @ApiModelProperty("原因 ")
+	@TableField(value = "reason_")
+    private String reason;
+    @ApiModelProperty("创建时间 ")
+	@TableField(value = "create_time_")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    private Date createTime;
+
+	public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    
+	public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+    
+	public Integer getTimes() {
+        return times;
+    }
+
+    public void setTimes(Integer times) {
+        this.times = times;
+    }
+    
+	public String getInOrOut() {
+        return inOrOut;
+    }
+
+    public void setInOrOut(String inOrOut) {
+        this.inOrOut = inOrOut;
+    }
+    
+	public String getReason() {
+        return reason;
+    }
+
+    public void setReason(String reason) {
+        this.reason = reason;
+    }
+    
+	public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+    
+}

+ 29 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/PianoRoomChangeRecordService.java

@@ -0,0 +1,29 @@
+package com.yonge.cooleshow.biz.dal.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.biz.dal.vo.PianoRoomChangeRecordVo;
+import com.yonge.cooleshow.biz.dal.dto.search.PianoRoomChangeRecordSearch;
+import com.yonge.cooleshow.biz.dal.entity.PianoRoomChangeRecord;
+
+/**
+ * 琴房时长变更记录表 服务类
+ * @author liweifan
+ * @date 2022-08-03
+ */
+public interface PianoRoomChangeRecordService extends IService<PianoRoomChangeRecord>  {
+
+	/**
+     * 查询详情
+     * @author liweifan
+ 	 * @date 2022-08-03
+     */
+	PianoRoomChangeRecordVo detail(Long id);
+
+    /**
+     * 分页查询
+     * @author liweifan
+ 	 * @date 2022-08-03
+     */
+    IPage<PianoRoomChangeRecordVo> selectPage(IPage<PianoRoomChangeRecordVo> page, PianoRoomChangeRecordSearch query);
+}

+ 2 - 7
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/PianoRoomBuyRecordServiceImpl.java

@@ -81,13 +81,8 @@ public class PianoRoomBuyRecordServiceImpl extends ServiceImpl<PianoRoomBuyRecor
         TeacherVo teacherVo = teacherService.detail(orderDetailVo.getUserId());
 
         //保存琴房购买记录
-        PianoRoomBuyRecord record = new PianoRoomBuyRecord();
-        record.setUserId(teacherVo.getUserId());
-        record.setSettingsId(detail.getId());
-        record.setOrderNo(orderDetailVo.getOrderNo());
-        record.setSubOrderNo(orderDetailVo.getSubOrderNo());
-        record.setTimes(detail.getTimes());
-        save(record);
+        save(new PianoRoomBuyRecord(teacherVo.getUserId(), detail.getId(), orderDetailVo.getOrderNo(),
+                orderDetailVo.getSubOrderNo(), detail.getTimes()));
 
         //入琴房账户
         DistributedLock.of(redissonClient)

+ 29 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/PianoRoomChangeRecordServiceImpl.java

@@ -0,0 +1,29 @@
+package com.yonge.cooleshow.biz.dal.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.yonge.cooleshow.biz.dal.entity.PianoRoomChangeRecord;
+import com.yonge.cooleshow.biz.dal.vo.PianoRoomChangeRecordVo;
+import com.yonge.cooleshow.biz.dal.dto.search.PianoRoomChangeRecordSearch;
+import com.yonge.cooleshow.biz.dal.dao.PianoRoomChangeRecordDao;
+import com.yonge.cooleshow.biz.dal.service.PianoRoomChangeRecordService;
+
+
+@Service
+public class PianoRoomChangeRecordServiceImpl extends ServiceImpl<PianoRoomChangeRecordDao, PianoRoomChangeRecord> implements PianoRoomChangeRecordService {
+    private final static Logger log = LoggerFactory.getLogger(PianoRoomChangeRecordServiceImpl.class);
+
+	@Override
+    public PianoRoomChangeRecordVo detail(Long id) {
+        return baseMapper.detail(id);
+    }
+    
+    @Override
+    public IPage<PianoRoomChangeRecordVo> selectPage(IPage<PianoRoomChangeRecordVo> page, PianoRoomChangeRecordSearch query){
+        return page.setRecords(baseMapper.selectPage(page, query));
+    }
+	
+}

+ 13 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/PianoRoomChangeRecordVo.java

@@ -0,0 +1,13 @@
+package com.yonge.cooleshow.biz.dal.vo;
+
+import com.yonge.cooleshow.biz.dal.entity.PianoRoomChangeRecord;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-08-03 16:44:34
+ */
+@ApiModel(value = "PianoRoomChangeRecordVo对象", description = "琴房时长变更记录表查询视图对象")
+public class PianoRoomChangeRecordVo extends PianoRoomChangeRecord{
+	private static final long serialVersionUID = 1L;
+}

+ 35 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/PianoRoomChangeRecordMapper.xml

@@ -0,0 +1,35 @@
+<?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.yonge.cooleshow.biz.dal.dao.PianoRoomChangeRecordDao">
+	<resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.PianoRoomChangeRecord">
+            <result column="id_" property="id" />
+	        <result column="user_id_" property="userId" />
+	        <result column="times_" property="times" />
+	        <result column="in_or_out_" property="inOrOut" />
+	        <result column="reason_" property="reason" />
+	        <result column="create_time_" property="createTime" />
+		</resultMap>  
+    
+    <!-- 表字段 -->
+    <sql id="baseColumns">
+         t.id_ as id
+        , t.user_id_ as userId
+        , t.times_ as times
+        , t.in_or_out_ as inOrOut
+        , t.reason_ as reason
+        , t.create_time_ as createTime
+        </sql> 
+    
+    <select id="detail" resultType="com.yonge.cooleshow.biz.dal.vo.PianoRoomChangeRecordVo">
+        SELECT
+            <include refid="baseColumns"/>
+        FROM piano_room_change_record t
+        where t.id_ = #{id}
+    </select>
+    
+    <select id="selectPage" resultType="com.yonge.cooleshow.biz.dal.vo.PianoRoomChangeRecordVo">
+		SELECT         
+        	<include refid="baseColumns" />
+		FROM piano_room_change_record t
+	</select>
+</mapper>