项目-----

package com.course.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.course.entity.ReportCard;
import com.course.vo.ReportCardVo;
import com.goal.entity.AcademicGoal;
import com.goal.vo.AcademicGoalVo;
import com.sys.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

@Mapper
public interface ReportCardMapper extends BaseMapper<ReportCard> {
    @Select({"<script>",
            "SELECT\n" +
                    "	r.*, u.`name` AS username,\n" +
                    "	c.`name` AS courseName,\n" +
                    "	t.`name` AS theClassName\n" +
                    "FROM\n" +
                    "	report_card r\n" +
                    "LEFT JOIN sys_user u ON  u.`id` = r.`user_id`\n" +
                    "LEFT JOIN course c ON c.`id` = r.`course_id`\n" +
                    "LEFT JOIN the_class t ON t.`id` = u.`the_class_id`\n" +
                    "WHERE\n" +
                    "	1 = 1\n" +
                    "<when test='reportCardVo.userId !=null'>",
            "AND r.`user_id` = #{reportCardVo.userId}",
            "</when>",

            "<when test='reportCardVo.theClassName!=null'>",

            "AND t.`name` like CONCAT('%',#{reportCardVo.theClassName},'%')",
            "</when>",

            "<when test='reportCardVo.username!=null'>",
            "AND u.`name` like CONCAT('%',#{reportCardVo.username},'%')",
            "</when>",

            "<when test='reportCardVo.courseName!=null'>",
            "AND c.`name` = #{reportCardVo.courseName}",
            //"AND c.`name` like CONCAT('%',#{reportCardVo.courseName},'%')",
            "</when>",

            "</script>"})
    IPage<ReportCard> pageList(IPage<ReportCard> page, @Param("reportCardVo") ReportCardVo reportCardVo);
    @Update({"<script>","UPDATE report_card a SET a.`grade` = #{reportCard.grade} WHERE a.`id` =#{reportCard.id} ","</script>"})
    void updateGreatById(@Param("reportCard")ReportCard reportCard);
}
package com.course.controller;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.course.entity.Course;
import com.course.service.CourseService;
import com.course.vo.CourseVo;
import com.goal.entity.TheClass;
import com.goal.service.TheClassService;
import com.sys.common.DataGridView;
import com.sys.common.ResultObj;
import com.sys.entity.User;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping("/course/iCourse")
public class ICourseController {
    @Autowired
    private CourseService courseService;
    @Autowired
    private TheClassService theClassService;

    @RequestMapping("list")
    public DataGridView list(CourseVo courseVo){
        IPage<Course> page = new Page<Course>(courseVo.getPage(),courseVo.getLimit());
        QueryWrapper<Course> queryWrapper = new QueryWrapper<Course>();
        queryWrapper.like(StringUtils.isNotBlank(courseVo.getName()),"name",courseVo.getName());
        queryWrapper.orderByAsc("id");
        courseService.page(page,queryWrapper);
        return new DataGridView(page.getTotal(),page.getRecords());
    }

    @RequestMapping("add")
    public ResultObj add(Course course){
        try {
            course.setCreatetime(new Date());
            courseService.save(course);
            return ResultObj.ADD_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return ResultObj.ADD_ERROR;
        }
    }

    @RequestMapping("update")
    public ResultObj update(Course course){
        try {
            courseService.updateById(course);
            return ResultObj.UPDATE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return ResultObj.UPDATE_ERROR;
        }
    }

    @RequestMapping("delete/{id}")
    public ResultObj delete(@PathVariable("id") Integer id){
        try {
            courseService.removeById(id);
            return ResultObj.DELETE_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return ResultObj.DELETE_ERROR;
        }
    }

    @RequestMapping("getById/{id}")
    public DataGridView getById(@PathVariable("id") Integer id){
        Course course = courseService.getById(id);
        return new DataGridView(course);
    }

    /**
     * 根据用户id查询角色并选中已拥有的角色
     * @param id 用户id
     * @return
     */
    @RequestMapping("initCourseClassId")
    public DataGridView initCourseClassId(Integer id){
        //1.查询所有可用的角色
        QueryWrapper<TheClass> queryWrapper = new QueryWrapper<>();
        List<Map<String, Object>> listMaps = theClassService.listMaps(queryWrapper);
        //2.查询当前用户拥有的角色ID集合
        List<Integer> ClassIds = courseService.queryCourseClassIdsByCid(id);
        for (Map<String, Object> map : listMaps) {
            Boolean LAY_CHECKED=false;
            Integer cId = (Integer) map.get("id");
            for (Integer cid : ClassIds) {
                //如果当前用户已有该角色,则让LAY_CHECKED为true。LAY_CHECKED为true时,复选框选中
                if (cid.equals(cId)){
                    LAY_CHECKED=true;
                    break;
                }
            }
            map.put("LAY_CHECKED",LAY_CHECKED);
        }
        return new DataGridView(Long.valueOf(listMaps.size()),listMaps);
    }


    /**
     * 保存用户和角色的关系
     * @param cid 用户的ID
     * @param ids 用户拥有的角色的ID的数组
     * @return
     */
    @RequestMapping("saveCourseClass")
    public ResultObj saveUserRole(Integer cid,Integer[] ids){

        try {
            courseService.saveCourseClass(cid,ids);
            return ResultObj.DISPATCH_SUCCESS;
        } catch (Exception e) {
            e.printStackTrace();
            return ResultObj.DISPATCH_ERROR;
        }

    }

    /**
     * 加载所有课程的下拉列表
     * @return
     */
    @RequestMapping("loadAllTheClassSelect")
    public DataGridView loadAllTheClassSelect(){
        QueryWrapper<Course> queryWrapper = new QueryWrapper<Course>();
        List<Course> list = courseService.list(queryWrapper);
        return new DataGridView(list);
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值