浏览代码

Merge branch 'dev_v1.3.8_20221107' of http://git.dayaedu.com/yonge/cooleshow into dev_v1.3.8_20221107

Eric 2 年之前
父节点
当前提交
04b3751a66

+ 94 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/ReturnVisitController.java

@@ -0,0 +1,94 @@
+package com.yonge.cooleshow.admin.controller;
+
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+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.http.HttpStatus;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+
+import com.yonge.cooleshow.biz.dal.vo.ReturnVisitVo;
+import com.yonge.cooleshow.biz.dal.dto.search.ReturnVisitSearch;
+import com.yonge.cooleshow.biz.dal.entity.ReturnVisit;
+import com.yonge.cooleshow.biz.dal.service.ReturnVisitService;
+
+import java.util.Date;
+
+@RestController
+@RequestMapping("/returnVisit")
+@Api(value = "回访表", tags = "回访表")
+public class ReturnVisitController extends BaseController {
+
+    @Autowired
+    private ReturnVisitService returnVisitService;
+
+	@Resource
+	private SysUserFeignService sysUserFeignService;
+
+	/**
+     * 查询单条
+     */
+    @GetMapping("/detail/{id}")
+    @ApiOperation(value = "详情", notes = "传入id")
+    public HttpResponseResult<ReturnVisitVo> detail(@PathVariable("id") Long id) {
+    	return succeed(returnVisitService.detail(id));
+	}
+    
+    /**
+     * 查询分页
+     */
+    @PostMapping("/page")
+    @ApiOperation(value = "查询分页", notes = "传入returnVisitSearch")
+    public HttpResponseResult<PageInfo<ReturnVisitVo>> page(@RequestBody ReturnVisitSearch query) {
+		IPage<ReturnVisitVo> pages = returnVisitService.selectPage(PageUtil.getPage(query), query);
+        return succeed(PageUtil.pageInfo(pages));
+	}
+    
+    /**
+	 * 新增
+	 */
+	@PostMapping("/save")
+	@ApiOperation(value = "新增", notes = "传入returnVisit")
+	public HttpResponseResult save(@Valid @RequestBody ReturnVisit returnVisit) {
+		SysUser user = sysUserFeignService.queryUserInfo();
+		if (user == null || null == user.getId()) {
+			return failed(HttpStatus.FORBIDDEN, "请登录");
+		}
+		returnVisit.setCreateBy(user.getId());
+		returnVisit.setCreateTime(new Date());
+
+    	return status(returnVisitService.save(returnVisit));
+	}
+    
+    /**
+	 * 修改
+	 */
+	// @PostMapping("/update")
+	@ApiOperation(value = "修改", notes = "传入returnVisit")
+	public HttpResponseResult update(@Valid @RequestBody ReturnVisit returnVisit) {
+        return status(returnVisitService.updateById(returnVisit));
+	}
+
+
+ 	/**
+	 * 删除
+	 */
+	@PostMapping("/remove")
+	@ApiOperation(value = "删除", notes = "传入ids")
+	public HttpResponseResult remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+        if (StringUtil.isEmpty(ids)) {
+			return failed("参数不能为空");
+		}
+		return status(returnVisitService.removeByIds(StringUtil.toLongList(ids)));
+	}
+}

+ 30 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ReturnVisitDao.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.ReturnVisit;
+import com.yonge.cooleshow.biz.dal.vo.ReturnVisitVo;
+import com.yonge.cooleshow.biz.dal.dto.search.ReturnVisitSearch;
+
+
+public interface ReturnVisitDao extends BaseMapper<ReturnVisit>{
+	/**
+	 * 查询详情
+     * @author liweifan
+     * @date 2022-11-08 15:27:08
+     * @return: com.yonge.cooleshow.biz.dal.vo.ReturnVisitVo
+	 */
+	ReturnVisitVo detail(@Param("id") Long id);
+
+	/**
+	 * 分页查询
+     * @author liweifan
+     * @date 2022-11-08 15:27:08
+     * @return: com.yonge.cooleshow.biz.dal.vo.ReturnVisitVo
+	 */
+	List<ReturnVisitVo> selectPage(@Param("page") IPage page, @Param("param") ReturnVisitSearch returnVisit);
+	
+}

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

@@ -0,0 +1,59 @@
+package com.yonge.cooleshow.biz.dal.dto.search;
+
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import com.yonge.toolset.base.page.QueryInfo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-11-08 15:37:44
+ */
+@ApiModel(value = "ReturnVisitSearch对象", description = "回访表查询对象")
+public class ReturnVisitSearch extends QueryInfo{
+	private static final long serialVersionUID = 1L;
+
+	@ApiModelProperty("用户id")
+	private Long userId;
+
+	@ApiModelProperty("用户类型  STUDENT  TEACHER")
+	private ClientEnum clientType;
+
+	@ApiModelProperty("回访用户名")
+	private String username;
+
+	@ApiModelProperty("回访标题")
+	private String title;
+
+	public Long getUserId() {
+		return userId;
+	}
+
+	public void setUserId(Long userId) {
+		this.userId = userId;
+	}
+
+	public ClientEnum getClientType() {
+		return clientType;
+	}
+
+	public void setClientType(ClientEnum clientType) {
+		this.clientType = clientType;
+	}
+
+	public String getUsername() {
+		return username;
+	}
+
+	public void setUsername(String username) {
+		this.username = username;
+	}
+
+	public String getTitle() {
+		return title;
+	}
+
+	public void setTitle(String title) {
+		this.title = title;
+	}
+}

+ 115 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ReturnVisit.java

@@ -0,0 +1,115 @@
+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 com.fasterxml.jackson.annotation.JsonFormat;
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 回访表
+ */
+@TableName("return_visit")
+@ApiModel(value = "ReturnVisit对象", description = "回访表")
+public class ReturnVisit implements Serializable {
+    private static final long serialVersionUID = 1L;
+    @ApiModelProperty(value = "主键 ",hidden = true)
+    @TableId(value = "id_", type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty(value = "用户id ",required = true)
+    @TableField(value = "user_id_")
+    @NotNull(message = "回访用户不能为空")
+    private Long userId;
+
+    @ApiModelProperty(value = "用户类型 ",required = true)
+    @TableField(value = "client_type_")
+    @NotNull(message = "用户类型不能为空")
+    private ClientEnum clientType;
+
+    @ApiModelProperty(value = "回访标题 ",required = true)
+    @TableField(value = "title_")
+    @NotBlank(message = "回访标题不能为空")
+    private String title;
+
+    @ApiModelProperty(value = "回访内容 ",required = true)
+    @TableField(value = "content_")
+    @NotBlank(message = "回访内容不能为空")
+    private String content;
+
+    @ApiModelProperty(value = "创建时间 ",hidden = true)
+    @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;
+
+    @ApiModelProperty(value = "创建人 ",hidden = true)
+    @TableField(value = "create_by_")
+    private Long createBy;
+
+    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 ClientEnum getClientType() {
+        return clientType;
+    }
+
+    public void setClientType(ClientEnum clientType) {
+        this.clientType = clientType;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Long getCreateBy() {
+        return createBy;
+    }
+
+    public void setCreateBy(Long createBy) {
+        this.createBy = createBy;
+    }
+
+}

+ 29 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ReturnVisitService.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.ReturnVisitVo;
+import com.yonge.cooleshow.biz.dal.dto.search.ReturnVisitSearch;
+import com.yonge.cooleshow.biz.dal.entity.ReturnVisit;
+
+/**
+ * 回访表 服务类
+ * @author liweifan
+ * @date 2022-11-08
+ */
+public interface ReturnVisitService extends IService<ReturnVisit>  {
+
+	/**
+     * 查询详情
+     * @author liweifan
+ 	 * @date 2022-11-08
+     */
+	ReturnVisitVo detail(Long id);
+
+    /**
+     * 分页查询
+     * @author liweifan
+ 	 * @date 2022-11-08
+     */
+    IPage<ReturnVisitVo> selectPage(IPage<ReturnVisitVo> page, ReturnVisitSearch query);
+}

+ 29 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ReturnVisitServiceImpl.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.ReturnVisit;
+import com.yonge.cooleshow.biz.dal.vo.ReturnVisitVo;
+import com.yonge.cooleshow.biz.dal.dto.search.ReturnVisitSearch;
+import com.yonge.cooleshow.biz.dal.dao.ReturnVisitDao;
+import com.yonge.cooleshow.biz.dal.service.ReturnVisitService;
+
+
+@Service
+public class ReturnVisitServiceImpl extends ServiceImpl<ReturnVisitDao, ReturnVisit> implements ReturnVisitService {
+    private final static Logger log = LoggerFactory.getLogger(ReturnVisitServiceImpl.class);
+
+	@Override
+    public ReturnVisitVo detail(Long id) {
+        return baseMapper.detail(id);
+    }
+    
+    @Override
+    public IPage<ReturnVisitVo> selectPage(IPage<ReturnVisitVo> page, ReturnVisitSearch query){
+        return page.setRecords(baseMapper.selectPage(page, query));
+    }
+	
+}

+ 27 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/ReturnVisitVo.java

@@ -0,0 +1,27 @@
+package com.yonge.cooleshow.biz.dal.vo;
+
+import com.yonge.cooleshow.biz.dal.entity.ReturnVisit;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-11-08 15:27:08
+ */
+@ApiModel(value = "ReturnVisitVo对象", description = "回访表查询视图对象")
+public class ReturnVisitVo extends ReturnVisit{
+	private static final long serialVersionUID = 1L;
+
+
+
+	@ApiModelProperty("回访用户名")
+	private String username;
+
+	public String getUsername() {
+		return username;
+	}
+
+	public void setUsername(String username) {
+		this.username = username;
+	}
+}

+ 1 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseGroupMapper.xml

@@ -729,6 +729,7 @@
         <if test="param.status != null and param.status != ''">
             AND cg.status_ = #{param.status}
         </if>
+        order by st.start_time_ desc,cg.id_ desc
     </select>
     <select id="selectPianoGroupDetail"
             resultType="com.yonge.cooleshow.biz.dal.vo.CourseGroupPianoDetailVo">

+ 54 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/ReturnVisitMapper.xml

@@ -0,0 +1,54 @@
+<?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.ReturnVisitDao">
+	<resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.ReturnVisit">
+            <result column="id_" property="id" />
+	        <result column="user_id_" property="userId" />
+	        <result column="client_type_" property="clientType" />
+	        <result column="title_" property="title" />
+	        <result column="content_" property="content" />
+	        <result column="create_time_" property="createTime" />
+	        <result column="create_by_" property="createBy" />
+		</resultMap>  
+    
+    <!-- 表字段 -->
+    <sql id="baseColumns">
+         t.id_ as id
+        , t.user_id_ as userId
+        , t.client_type_ as clientType
+        , t.title_ as title
+        , t.content_ as content
+        , t.create_time_ as createTime
+        , t.create_by_ as createBy
+        </sql> 
+    
+    <select id="detail" resultType="com.yonge.cooleshow.biz.dal.vo.ReturnVisitVo">
+        SELECT
+            <include refid="baseColumns"/>
+        FROM return_visit t
+        where t.id_ = #{id}
+    </select>
+    
+    <select id="selectPage" resultType="com.yonge.cooleshow.biz.dal.vo.ReturnVisitVo">
+		SELECT         
+        	<include refid="baseColumns" />
+        ,su.username_ as username
+		FROM return_visit t
+        left join sys_user su on t.user_id_ = su.id_
+        <where>
+            <if test="param.clientType != null">
+                and #{param.clientType} = t.client_type_
+            </if>
+            <if test="param.userId != null">
+                and #{param.userId} = t.user_id_
+            </if>
+            <if test="param.username != null and param.username != ''">
+                and su.username_ like '%${param.username}%'
+            </if>
+            <if test="param.title != null and param.title != ''">
+                and t.title_ like '%${param.title}%'
+            </if>
+        </where>
+        order by t.id_ desc
+	</select>
+</mapper>

+ 2 - 2
service.md

@@ -1,7 +1,7 @@
 - [ ] gateway-server
 - [ ] auth-server
-- [ ] admin-server
-- [x] teacher-server
+- [x] admin-server
+- [ ] teacher-server
 - [ ] student-server
 - [ ] website-server
 - [ ] task-server