he2802 3 år sedan
förälder
incheckning
81b5270d61

+ 74 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/user/UserCourseAnswerController.java

@@ -0,0 +1,74 @@
+package com.zhongzheng.controller.user;
+
+import com.zhongzheng.common.annotation.Log;
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.domain.AjaxResult;
+import com.zhongzheng.common.core.page.TableDataInfo;
+import com.zhongzheng.common.enums.BusinessType;
+import com.zhongzheng.common.utils.ServletUtils;
+import com.zhongzheng.framework.web.service.WxTokenService;
+import com.zhongzheng.modules.user.bo.UserCourseAnswerAddBo;
+import com.zhongzheng.modules.user.bo.UserCourseAnswerEditBo;
+import com.zhongzheng.modules.user.bo.UserCourseAnswerQueryBo;
+import com.zhongzheng.modules.user.entity.ClientLoginUser;
+import com.zhongzheng.modules.user.service.IUserCourseAnswerService;
+import com.zhongzheng.modules.user.vo.UserCourseAnswerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 答疑Controller
+ *
+ * @author ruoyi
+ * @date 2021-12-15
+ */
+@Api(value = "答疑控制器", tags = {"答疑管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/course/answer")
+public class UserCourseAnswerController extends BaseController {
+
+    private final IUserCourseAnswerService iUserCourseAnswerService;
+
+    private final WxTokenService wxTokenService;
+    /**
+     * 查询答疑列表
+     */
+    @ApiOperation("查询答疑列表")
+    @GetMapping("/list")
+    public TableDataInfo<UserCourseAnswerVo> list(UserCourseAnswerQueryBo bo) {
+        startPage();
+        List<UserCourseAnswerVo> list = iUserCourseAnswerService.queryList(bo);
+        return getDataTable(list);
+    }
+
+
+    /**
+     * 新增答疑
+     */
+    /*@ApiOperation("新增答疑")
+    @Log(title = "答疑", businessType = BusinessType.INSERT)
+    @PostMapping()
+    public AjaxResult<Void> add(@RequestBody UserCourseAnswerAddBo bo) {
+        ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
+        bo.setUserId(loginUser.getUser().getUserId());
+        return toAjax(iUserCourseAnswerService.insertByAddBo(bo) ? 1 : 0);
+    }*/
+
+    /**
+     * 修改答疑
+     */
+    @ApiOperation("修改答疑")
+    @Log(title = "答疑", businessType = BusinessType.UPDATE)
+    @PostMapping("edit")
+    public AjaxResult<Void> edit(@RequestBody UserCourseAnswerEditBo bo) {
+        return toAjax(iUserCourseAnswerService.updateByEditBo(bo) ? 1 : 0);
+    }
+
+
+}

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/bo/UserPeriodStatusAddBo.java

@@ -43,4 +43,7 @@ public class UserPeriodStatusAddBo {
     /** 分数 */
     @ApiModelProperty("分数")
     private Long performance;
+    /** 审核用户名 */
+    @ApiModelProperty("审核用户名")
+    private String auditUserName;
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/bo/UserPeriodStatusEditBo.java

@@ -49,5 +49,8 @@ public class UserPeriodStatusEditBo {
     @ApiModelProperty("分数")
     private Long performance;
 
+    /** 审核用户名 */
+    @ApiModelProperty("审核用户名")
+    private String auditUserName;
 
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/domain/UserPeriodStatus.java

@@ -46,4 +46,6 @@ private static final long serialVersionUID=1L;
 
     /** 分数 */
     private Long performance;
+    /** 审核用户名 */
+    private String auditUserName;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/UserPeriodServiceImpl.java

@@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.common.utils.SecurityUtils;
 import com.zhongzheng.modules.goods.service.IGoodsService;
 import com.zhongzheng.modules.goods.vo.GoodsVo;
 import com.zhongzheng.modules.grade.domain.ClassGradeUser;
@@ -138,6 +139,7 @@ public class UserPeriodServiceImpl extends ServiceImpl<UserPeriodMapper, UserPer
         userUp.setId(bo.getId());
         userUp.setStatus(bo.getStatus());
         userUp.setUpdateTime(DateUtils.getNowTime());
+        userUp.setAuditUserName(SecurityUtils.getUsername());
         userPeriodStatusService.updateById(userUp);
 
         //判断是否已全部审核结束

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/vo/UserPeriodStatusVo.java

@@ -81,6 +81,11 @@ public class UserPeriodStatusVo {
 	@ApiModelProperty("分数")
 	private Long performance;
 
+	/** 审核用户名 */
+	@Excel(name = "审核用户名")
+	@ApiModelProperty("审核用户名")
+	private String auditUserName;
+
 	/** 审核时间 */
 	@Excel(name = "审核照片")
 	@ApiModelProperty("审核照片")

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserCourseAnswerAddBo.java

@@ -49,4 +49,7 @@ public class UserCourseAnswerAddBo {
     /** 1有效 -1删除 */
     @ApiModelProperty("1有效 -1删除")
     private Integer status;
+    /** 商品ID */
+    @ApiModelProperty("商品ID")
+    private Long goodsId;
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserCourseAnswerEditBo.java

@@ -57,5 +57,8 @@ public class UserCourseAnswerEditBo {
     @ApiModelProperty("1有效 -1删除")
     private Integer status;
 
+    /** 商品ID */
+    @ApiModelProperty("商品ID")
+    private Long goodsId;
 
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserCourseAnswerQueryBo.java

@@ -60,4 +60,9 @@ public class UserCourseAnswerQueryBo extends BaseEntity {
 	/** 1有效 -1删除 */
 	@ApiModelProperty("1有效 -1删除")
 	private Integer status;
+	/** 商品ID */
+	@ApiModelProperty("商品ID")
+	private Long goodsId;
+	@ApiModelProperty("消息类型 1提问 2回复")
+	private Integer msgType;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/domain/UserCourseAnswer.java

@@ -48,4 +48,6 @@ private static final long serialVersionUID=1L;
     private Long updateTime;
     /** 1有效 -1删除 */
     private Integer status;
+    /** 商品ID */
+    private Long goodsId;
 }

+ 18 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserCourseAnswerVo.java

@@ -79,4 +79,22 @@ public class UserCourseAnswerVo {
 	@Excel(name = "1有效 -1删除")
 	@ApiModelProperty("1有效 -1删除")
 	private Integer status;
+
+	/** 商品ID */
+	@Excel(name = "商品ID")
+	@ApiModelProperty("商品ID")
+	private Long goodsId;
+
+	/** 商品名称 */
+	@Excel(name = "商品名称")
+	@ApiModelProperty("商品名称")
+	private String goodsName;
+	@ApiModelProperty("教育名称")
+	private String educationName;
+	@ApiModelProperty("项目名称")
+	private String projectName;
+	@ApiModelProperty("业务名称")
+	private String businessName;
+	@ApiModelProperty("课程名称")
+	private String courseName;
 }

+ 2 - 0
zhongzheng-system/src/main/resources/mapper/modules/grade/UserPeriodStatusMapper.xml

@@ -13,6 +13,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="periodStatus" column="period_status"/>
         <result property="createTime" column="create_time"/>
         <result property="updateTime" column="update_time"/>
+        <result property="auditUserName" column="audit_user_name"/>
     </resultMap>
 
 
@@ -28,6 +29,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="typeName" column="type_name"/>
         <result property="realName" column="realname"/>
         <result property="performance" column="performance"/>
+        <result property="auditUserName" column="audit_user_name"/>
     </resultMap>
 
     <select id="selectPeriodStatus" parameterType="com.zhongzheng.modules.grade.bo.UserPeriodQueryBo" resultMap="UserPeriodStatusVo">

+ 41 - 8
zhongzheng-system/src/main/resources/mapper/modules/user/UserCourseAnswerMapper.xml

@@ -15,6 +15,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="chapterId" column="chapter_id"/>
         <result property="createTime" column="create_time"/>
         <result property="updateTime" column="update_time"/>
+        <result property="goodsId" column="goods_id"/>
     </resultMap>
 
     <resultMap type="com.zhongzheng.modules.user.vo.UserCourseAnswerVo" id="UserCourseAnswerVo">
@@ -31,19 +32,42 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="assignRealname" column="assign_realname"/>
         <result property="assignAvatar" column="assign_avatar"/>
         <result property="createTime" column="create_time"/>
+        <result property="goodsId" column="goods_id"/>
+        <result property="educationName" column="education_name"/>
+        <result property="projectName" column="project_name"/>
+        <result property="businessName" column="business_name"/>
+        <result property="goodsName" column="goods_name"/>
+        <result property="courseName" column="course_name"/>
     </resultMap>
 
     <select id="selectAnswer" parameterType="com.zhongzheng.modules.user.bo.UserCourseAnswerQueryBo"  resultMap="UserCourseAnswerVo">
         SELECT
-            * ,
-            (SELECT u.realname FROM `user` u where uca.user_id = u.user_id) realname,
-            (SELECT u.realname FROM `user` u where uca.assign_user_id = u.user_id) assign_realname,
-            (SELECT u.avatar FROM `user` u where uca.assign_user_id = u.user_id) assign_avatar,
-            (SELECT u.avatar FROM `user` u where uca.user_id = u.user_id) avatar
+        uca.*,
+        u.realname,
+        u.avatar,
+        u2.realname assign_realname,
+        u2.avatar assign_avatar
+        <if test="msgType != null">
+        ,g.goods_name,
+        c.course_name,
+        cet.education_name,
+        cpt.project_name,
+        cb.business_name
+        </if>
         FROM
-            user_course_answer uca
-        WHERE 1=1
-          AND uca.status=1
+        user_course_answer uca
+        LEFT JOIN `user` u ON uca.user_id = u.user_id
+        LEFT JOIN `user` u2 ON uca.assign_user_id = u2.user_id
+        <if test="msgType != null">
+        LEFT JOIN goods g on uca.goods_id = g.goods_id
+        LEFT JOIN course c on c.course_id = uca.course_id
+        LEFT JOIN course_education_type cet ON g.education_type_id = cet.id
+        LEFT JOIN course_project_type cpt ON g.project_id = cpt.id
+        LEFT JOIN course_business cb ON g.business_id = cb.id
+        </if>
+        WHERE
+        1 = 1
+        AND uca.STATUS =1
         <if test="courseId != null and courseId != ''">
           AND uca.course_id = #{courseId}
         </if>
@@ -56,5 +80,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="sectionId != null and sectionId != ''">
           AND uca.section_id = #{sectionId}
         </if>
+        <if test="goodsId != null and goodsId != ''">
+            AND uca.goods_id = #{goodsId}
+        </if>
+        <if test="msgType != null and msgType == 1">
+            AND ISNULL(uca.assign_user_id )
+        </if>
+        <if test="msgType != null and msgType == 2">
+            AND uca.assign_user_id>0
+        </if>
     </select>
 </mapper>