ClassController.java 12.7 KB
package com.server.web.controller;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.server.utils.ErrorCode;
import com.server.web.common.mapper.TBaseFirstClassMapper;
import com.server.web.common.mapper.TBaseSecondClassMapper;
import com.server.web.common.model.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 分类管理
 */
@RestController
@RequestMapping(BaseController.OSS_NAMESPACE + "/class")
public class ClassController extends BaseController {

    @Autowired
    private TBaseFirstClassMapper classMapper;
    @Autowired
    private TBaseSecondClassMapper secondClassMapper;


    /**
     * 一级分类列表
     * @param pageNo
     * @param pageSize
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/firstClassList", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json")
    public Map<String,Object> firstClassList(@RequestParam(defaultValue = "1") Integer pageNo, @RequestParam(defaultValue = "1") Integer pageSize) {
        TBaseFirstClassExample example = new TBaseFirstClassExample();
        PageHelper.startPage(pageNo,pageSize,true,false);
        List list = classMapper.selectByExample(example);
        PageInfo pageInfo = new PageInfo(list);
        PageModel model = new PageModel();
        model.setTotal(pageInfo.getTotal());
        model.setList(list);
        return success(model);
    }


    /**
     * 二级分类列表
     * @param firstClassId
     * @param pageNo
     * @param pageSize
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/secondClassList", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json")
    public Map<String,Object> secondClassList(Long firstClassId,@RequestParam(defaultValue = "1") Integer pageNo, @RequestParam(defaultValue = "1") Integer pageSize) {
        Map paramMap = new HashMap<>();
        paramMap.put("firstClassId",firstClassId);
        PageHelper.startPage(pageNo,pageSize,true,false);
        List list = openSqlRingsService.selectList_Rings("com.mapping.queryModel.secondClassList",paramMap);
        PageInfo pageInfo = new PageInfo(list);
        PageModel model = new PageModel();
        model.setTotal(pageInfo.getTotal());
        model.setList(list);
        return success(model);
    }

    /**
     * 保存修改一级分类
     * @param request
     * @param response
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/saveOrUpdateFirstClass", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json")
    public Map<String,Object> saveOrUpdateFirstClass(HttpServletRequest request, HttpServletResponse response) {
        try{
            String id = request.getParameter("id");
            TBaseFirstClass baseClass = new TBaseFirstClass();
            if(StringUtils.hasText(id)){
                baseClass.setId(Long.valueOf(id.trim()));
            }else{
                baseClass.setCreateDt(new Date());
            }
            baseClass.setClassName(request.getParameter("className"));
            if(StringUtils.hasText(request.getParameter("status"))){
                baseClass.setStatus(Integer.valueOf(request.getParameter("status")));
            }else{
                baseClass.setStatus(1);
            }
            baseClass.setPicUrl(request.getParameter("picUrl"));
            if(StringUtils.hasText(request.getParameter("weight"))){
                baseClass.setWeight(Integer.valueOf(request.getParameter("weight")));
            }else{
                baseClass.setWeight(1);
            }
            if(baseClass.getId()!=null){
                classMapper.updateByPrimaryKeySelective(baseClass);
            }else{
                baseClass.setCreateDt(new Date());
                classMapper.insertSelective(baseClass);
            }
            return success("");
        }catch (Exception e){
            e.printStackTrace();
            return error(ErrorCode.ERROR.getCode(),"服务器忙,请稍后重试~","服务器忙,请稍后重试~");
        }
    }

    /**
     * 保存二级分类
     * @param request
     * @param response
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/saveSecondClass", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json")
    public Map<String,Object> saveOrUpdateSecondClass(HttpServletRequest request, HttpServletResponse response) {
        try{
            String className = request.getParameter("className");
            Integer status = Integer.valueOf(request.getParameter("status"));
            Integer type = Integer.valueOf(request.getParameter("type"));
            String picUrl = request.getParameter("picUrl");
            Long firstId = Long.valueOf(request.getParameter("firstId"));
            Integer weight = Integer.valueOf(request.getParameter("weight"));
            TBaseSecondClass baseClass = new TBaseSecondClass();
            baseClass.setPicUrl(picUrl);
            baseClass.setClassName(className);
            baseClass.setType(type);
            baseClass.setStatus(status);
            baseClass.setFirstId(firstId);
            baseClass.setWeight(weight);
            baseClass.setCreateDt(new Date());
            secondClassMapper.insertSelective(baseClass);
            return success("");
        }catch (Exception e){
            e.printStackTrace();
            return error(ErrorCode.ERROR.getCode(),"服务器忙,请稍后重试~","服务器忙,请稍后重试~");
        }
    }


    /**
     * 修改二级分类
     * @param request
     * @param response
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/updateSecondClass", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json")
    public Map<String,Object> updateSecondClass(HttpServletRequest request, HttpServletResponse response) {
        try{
            Long id = Long.valueOf(request.getParameter("id"));
            TBaseSecondClass baseClass = secondClassMapper.selectByPrimaryKey(id);
            if(null == baseClass){
                return error(ErrorCode.ERROR.getCode(),"无效ID","无效ID");
            }
            String className = request.getParameter("className");
            Integer status = Integer.valueOf(request.getParameter("status"));
            String picUrl = request.getParameter("picUrl");
            Integer weight = Integer.valueOf(request.getParameter("weight"));
            baseClass.setPicUrl(picUrl);
            baseClass.setClassName(className);
            baseClass.setStatus(status);
            baseClass.setWeight(weight);
            secondClassMapper.updateByPrimaryKeySelective(baseClass);
            return success("");
        }catch (Exception e){
            e.printStackTrace();
            return error(ErrorCode.ERROR.getCode(),"服务器忙,请稍后重试~","服务器忙,请稍后重试~");
        }
    }


    /**
     * 一级分类启用关闭
     * @param id
     * @param status   状态  1 启用 0 关闭
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/updateFirstClassStatus", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json")
    public Map<String,Object> updateFirstClassStatus(@RequestParam("id") long id , @RequestParam("status")  int status) {
        try{
            if(status==0||status==1){
                TBaseFirstClass baseClass = new TBaseFirstClass();
                baseClass.setId(id);
                baseClass.setStatus(status);
                classMapper.updateByPrimaryKeySelective(baseClass);
                return success("");
            }else{
                return error(ErrorCode.ERROR.getCode(),"服务器忙,请稍后重试~","服务器忙,请稍后重试~");
            }
        }catch (Exception e){
            e.printStackTrace();
            return error(ErrorCode.ERROR.getCode(),"服务器忙,请稍后重试~","服务器忙,请稍后重试~");
        }
    }

    /**
     * 二级分类启用关闭
     * @param id
     * @param status   状态  1 启用 0 关闭
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/updateSecondClassStatus", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json")
    public Map<String,Object> updateSecondClassStatus(@RequestParam("id") long id , @RequestParam("status")  int status) {
        try{
            if(status==0||status==1){
                TBaseSecondClass baseClass = new TBaseSecondClass();
                baseClass.setId(id);
                baseClass.setStatus(status);
                secondClassMapper.updateByPrimaryKeySelective(baseClass);
                return success("");
            }else{
                return error(ErrorCode.ERROR.getCode(),"服务器忙,请稍后重试~","服务器忙,请稍后重试~");
            }
        }catch (Exception e){
            e.printStackTrace();
            return error(ErrorCode.ERROR.getCode(),"服务器忙,请稍后重试~","服务器忙,请稍后重试~");
        }
    }

    /**
     * 根据id查询一级分类
     * @param id
     * @param request
     * @param response
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/getFirstClassById", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json")
    public Map<String,Object> getClassById(@RequestParam("id") Long id , HttpServletRequest request, HttpServletResponse response) {
        try{
            TBaseFirstClass baseClass=classMapper.selectByPrimaryKey(id);
            return success(baseClass);
        }catch (Exception e){
            e.printStackTrace();
            return error(ErrorCode.ERROR.getCode(),"服务器忙,请稍后重试~","服务器忙,请稍后重试~");
        }
    }


    /**
     * 根据二级分类ID获取二级分类
     * @param id
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/getSecondClassById", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json")
    public Map<String,Object> getSecondClassById(@RequestParam("id") Long id ) {
        try{
            Map paramMap = new HashMap<>();
            paramMap.put("id",id);
            Map map = (Map)openSqlRingsService.selectOne_Rings("com.mapping.queryModel.getSecondClassById",paramMap);
            return success(map);
        }catch (Exception e){
            e.printStackTrace();
            return error(ErrorCode.ERROR.getCode(),"服务器忙,请稍后重试~","服务器忙,请稍后重试~");
        }
    }



    /**
     * 用于前端下拉一级分类列表
     * @param pageNo
     * @param pageSize
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/selectFirstClassList", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json")
    public Map<String,Object> selectFirstClassList(@RequestParam(defaultValue = "")String name,@RequestParam(defaultValue = "1") Integer pageNo, @RequestParam(defaultValue = "1") Integer pageSize) {
        Map paramMap = new HashMap<>();
        if(!("").equals(name)){
            paramMap.put("name","%"+name+"%");
        }
        PageHelper.startPage(pageNo,pageSize,true,false);
        List list = openSqlRingsService.selectList_Rings("com.mapping.queryModel.selectFirstClassList",paramMap);
        PageInfo pageInfo = new PageInfo(list);
        PageModel model = new PageModel();
        model.setTotal(pageInfo.getTotal());
        model.setList(list);
        return success(model);
    }


    /**
     * 用于前端下拉二级分类列表
     * @param pageNo
     * @param pageSize
     * @param type 1资讯 2录播 3直播
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/selectSecondClassList", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/json")
    public Map<String,Object> selectSecondClassList(@RequestParam(defaultValue = "-1")Integer type,@RequestParam(defaultValue = "")String name,@RequestParam(defaultValue = "1") Integer pageNo, @RequestParam(defaultValue = "1") Integer pageSize) {
        Map paramMap = new HashMap<>();
        if(!("").equals(name)){
            paramMap.put("name","%"+name+"%");
        }
        if(type!=-1){
            paramMap.put("type",type);
        }
        PageHelper.startPage(pageNo,pageSize,true,false);
        List list = openSqlRingsService.selectList_Rings("com.mapping.queryModel.selectSecondClassList",paramMap);
        PageInfo pageInfo = new PageInfo(list);
        PageModel model = new PageModel();
        model.setTotal(pageInfo.getTotal());
        model.setList(list);
        return success(model);
    }

}