Código fuente y artículos del sistema de evaluación de películas en línea basado en ssm.

Código fuente y documento del sistema de evaluación de películas en línea basado en ssm 148


 Herramientas de desarrollo: base de datos idea o eclipse
 mysql5.7+
 herramientas de enlace de base de datos: navcat, little Dolphin y otras
  tecnologías: ssm 

1. Introducción

Hoy en día, con el rápido desarrollo de Internet, Internet se ha convertido en un canal importante para que las personas obtengan, publiquen y transmitan información rápidamente y desempeña un papel importante en el trabajo y la vida de las personas. Con el advenimiento de la nueva era, las películas se han convertido en una parte indispensable de la vida diaria de las personas. En gran parte, la razón es que muchas escenas de las películas son representaciones reales de la vida diaria, y la existencia de sitios web de películas es en gran medida conveniente. mejoró la vida de entretenimiento de las personas y les permitió disfrutar de películas maravillosas sin salir de casa [1].

La llegada de la era del cine ha enriquecido la vida de las personas. Sin embargo, la calidad de las películas es desigual y muchas películas de menor calidad son iguales a las reales. Es difícil para las personas juzgar la calidad de las películas basándose en su propia intuición únicamente a través de la descripción de las películas [2]. Por lo tanto, los sitios web de reseñas de películas surgieron según lo requieren los tiempos. El estatus de la construcción de este sitio web en las aplicaciones de Internet es obvio, y este diseño es un reflejo de la estrecha relación entre Internet y la vida social [3]. En base a esto, a través de un breve análisis de la demanda, con el objetivo de permitir a los usuarios utilizar este sistema de manera más efectiva, se propone un diseño de sistema de películas en línea con función de comentarios basado en el framework Spring MVC, que brinda diferentes permisos para usuarios y administradores. puede ver información de películas, participar en comentarios y participar en votaciones. Los administradores pueden administrar información de películas, administrar usuarios, administrar comentarios de usuarios y administrar información de votación.

2. Tecnología para implementar sistema de evaluación de películas online

La alta cohesión y el bajo acoplamiento son uno de los objetivos importantes del diseño de la estructura del software. Para hacer realidad las ideas de alta cohesión y bajo acoplamiento, se debe distinguir la estructura jerárquica: los extremos frontal y posterior no se pueden separar, de lo contrario parecerá caótico [4]. Por lo tanto, se planea adoptar el modelo de arquitectura B/S de tres niveles del marco J2EE, que es el modelo de arquitectura de navegador y servidor [5].

Spring es un contenedor, que es como una fábrica que contiene objetos, y luego todas las clases marcadas como requeridas se colocarán en este contenedor de antemano [6]. Spring MVC es un controlador y distribuidor de vistas. El controlador acepta la solicitud enviada por el usuario. Una vez que el controlador la acepta, juzgará de acuerdo con los requisitos comerciales correspondientes. Si es necesario, obtendrá datos de la base de datos, que requiere la base de datos. capa de persistencia Haga la conexión [7]. En principio, My batis es una encapsulación de JDBC, su esencia es el funcionamiento de la base de datos por parte de JDBC y luego reserva las interfaces correspondientes para que las utilicen los programadores. La instancia de fábrica de sesiones Sql es un componente central de My batis, las entidades, el Mapper y las tablas de la base de datos deben corresponder uno a uno, y cada uno es indispensable. De acuerdo con la correspondencia entre la clase de entidad escrita por usted mismo y el archivo Mapper de mapeo, se obtiene la operación de base de datos correspondiente y luego se ejecuta [8]. Una vez que la capa de persistencia de la base de datos obtiene los datos, regresa a la capa del controlador, quien luego pasa los datos a la vista para renderizarlos a través de Modelo y Vista y finalmente los muestra en la interfaz de usuario.

package com.controller;


import java.text.SimpleDateFormat;
import com.alibaba.fastjson.JSONObject;
import java.util.*;
import org.springframework.beans.BeanUtils;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.context.ContextLoader;
import javax.servlet.ServletContext;
import com.service.TokenService;
import com.utils.StringUtil;
import java.lang.reflect.InvocationTargetException;

import com.service.DictionaryService;
import org.apache.commons.lang3.StringUtils;
import com.annotation.IgnoreAuth;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;

import com.entity.DianyingCommentbackEntity;

import com.service.DianyingCommentbackService;
import com.entity.view.DianyingCommentbackView;
import com.service.DianyingService;
import com.entity.DianyingEntity;
import com.service.YonghuService;
import com.entity.YonghuEntity;
import com.utils.PageUtils;
import com.utils.R;

/**
 * 电影评论
 * 后端接口
 * @author
 * @email
 * @date 2021-04-05
*/
@RestController
@Controller
@RequestMapping("/dianyingCommentback")
public class DianyingCommentbackController {
    private static final Logger logger = LoggerFactory.getLogger(DianyingCommentbackController.class);

    @Autowired
    private DianyingCommentbackService dianyingCommentbackService;


    @Autowired
    private TokenService tokenService;
    @Autowired
    private DictionaryService dictionaryService;


    //级联表service
    @Autowired
    private DianyingService dianyingService;
    @Autowired
    private YonghuService yonghuService;


    /**
    * 后端列表
    */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
            logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
            if(params.get("commentbackTypes")!= null && params.get("commentbackTypes").equals("2")){
                params.put("dianyingId",params.get("dianyingId2"));
            }
            params.put("orderBy","id");
            PageUtils page = dianyingCommentbackService.queryPage(params);

            //字典表数据转换
            List<DianyingCommentbackView> list =(List<DianyingCommentbackView>)page.getList();
            for(DianyingCommentbackView c:list){
                //修改对应字典表字段
                dictionaryService.dictionaryConvert(c);
            }
            return R.ok().put("data", page);


    }

    /**
    * 后端详情
    */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
        DianyingCommentbackEntity dianyingCommentback = dianyingCommentbackService.selectById(id);
        if(dianyingCommentback !=null){
            //entity转view
            DianyingCommentbackView view = new DianyingCommentbackView();
            BeanUtils.copyProperties( dianyingCommentback , view );//把实体数据重构到view中

            //级联表
            DianyingEntity dianying = dianyingService.selectById(dianyingCommentback.getDianyingId());
            if(dianying != null){
                BeanUtils.copyProperties( dianying , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段
                view.setDianyingId(dianying.getId());
            }
            //级联表
            YonghuEntity yonghu = yonghuService.selectById(dianyingCommentback.getYonghuId());
            if(yonghu != null){
                BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段
                view.setYonghuId(yonghu.getId());
            }
            //修改对应字典表字段
            dictionaryService.dictionaryConvert(view);
            return R.ok().put("data", view);
        }else {
            return R.error(511,"查不到数据");
        }

    }

    /**
    * 后端保存
    */
    @RequestMapping("/save")
    public R save(@RequestBody DianyingCommentbackEntity dianyingCommentback, HttpServletRequest request){
        logger.debug("save方法:,,Controller:{},,dianyingCommentback:{}",this.getClass().getName(),dianyingCommentback.toString());
        dianyingCommentback.setInsertTime(new Date());
        dianyingCommentback.setCreateTime(new Date());
        dianyingCommentbackService.insert(dianyingCommentback);
        return R.ok();
    }

    /**
    * 后端修改
    */
    @RequestMapping("/update")
    public R update(@RequestBody DianyingCommentbackEntity dianyingCommentback, HttpServletRequest request){
        logger.debug("update方法:,,Controller:{},,dianyingCommentback:{}",this.getClass().getName(),dianyingCommentback.toString());
        //根据字段查询是否有相同数据
        Wrapper<DianyingCommentbackEntity> queryWrapper = new EntityWrapper<DianyingCommentbackEntity>()
            .notIn("id",dianyingCommentback.getId())
            .andNew()
            .eq("dianying_id", dianyingCommentback.getDianyingId())
            .eq("yonghu_id", dianyingCommentback.getYonghuId())
            .eq("commentback_types", dianyingCommentback.getCommentbackTypes())
            ;
        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        DianyingCommentbackEntity dianyingCommentbackEntity = dianyingCommentbackService.selectOne(queryWrapper);
        if(dianyingCommentbackEntity==null){
            //  String role = String.valueOf(request.getSession().getAttribute("role"));
            //  if("".equals(role)){
            //      dianyingCommentback.set
            //  }
            dianyingCommentbackService.updateById(dianyingCommentback);//根据id更新
            return R.ok();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }


    /**
    * 删除
    */
    @RequestMapping("/delete")
    public R delete(@RequestBody Integer[] ids){
        logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
        dianyingCommentbackService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }



    /**
    * 前端列表
    */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params, HttpServletRequest request){
        logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
        String role = String.valueOf(request.getSession().getAttribute("role"));
        if(StringUtil.isNotEmpty(role) && "用户".equals(role)){
            params.put("yonghuId",request.getSession().getAttribute("userId"));
        }
        // 没有指定排序字段就默认id倒序
        if(StringUtil.isEmpty(String.valueOf(params.get("orderBy")))){
            params.put("orderBy","id");
        }
        PageUtils page = dianyingCommentbackService.queryPage(params);

        //字典表数据转换
        List<DianyingCommentbackView> list =(List<DianyingCommentbackView>)page.getList();
        for(DianyingCommentbackView c:list){
            //修改对应字典表字段
            dictionaryService.dictionaryConvert(c);
        }
        return R.ok().put("data", page);
    }

    /**
    * 前端详情
    */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        logger.debug("detail方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
    DianyingCommentbackEntity dianyingCommentback = dianyingCommentbackService.selectById(id);
        if(dianyingCommentback !=null){
            //entity转view
    DianyingCommentbackView view = new DianyingCommentbackView();
            BeanUtils.copyProperties( dianyingCommentback , view );//把实体数据重构到view中

            //级联表
                DianyingEntity dianying = dianyingService.selectById(dianyingCommentback.getDianyingId());
            if(dianying != null){
                BeanUtils.copyProperties( dianying , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段
                view.setDianyingId(dianying.getId());
            }
            //级联表
                YonghuEntity yonghu = yonghuService.selectById(dianyingCommentback.getYonghuId());
            if(yonghu != null){
                BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段
                view.setYonghuId(yonghu.getId());
            }
            //修改对应字典表字段
            dictionaryService.dictionaryConvert(view);
            return R.ok().put("data", view);
        }else {
            return R.error(511,"查不到数据");
        }
    }


    /**
    * 前端保存
    */
    @RequestMapping("/add")
    public R add(@RequestBody DianyingCommentbackEntity dianyingCommentback, HttpServletRequest request){
        logger.debug("add方法:,,Controller:{},,dianyingCommentback:{}",this.getClass().getName(),dianyingCommentback.toString());
        Wrapper<DianyingCommentbackEntity> queryWrapper = new EntityWrapper<DianyingCommentbackEntity>()
            .eq("dianying_id", dianyingCommentback.getDianyingId())
            .eq("yonghu_id", dianyingCommentback.getYonghuId())
            .eq("commentback_types", dianyingCommentback.getCommentbackTypes())
            ;
        logger.info("sql语句:"+queryWrapper.getSqlSegment());
    DianyingCommentbackEntity dianyingCommentbackEntity = dianyingCommentbackService.selectOne(queryWrapper);
        if(dianyingCommentbackEntity==null){
            dianyingCommentback.setInsertTime(new Date());
            dianyingCommentback.setCreateTime(new Date());
        //  String role = String.valueOf(request.getSession().getAttribute("role"));
        //  if("".equals(role)){
        //      dianyingCommentback.set
        //  }
        dianyingCommentbackService.insert(dianyingCommentback);
            return R.ok();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }


}

 

package com.controller;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ResourceUtils;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.annotation.IgnoreAuth;
import com.baidu.aip.face.AipFace;
import com.baidu.aip.face.MatchRequest;
import com.baidu.aip.util.Base64Util;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.entity.ConfigEntity;
import com.service.CommonService;
import com.service.ConfigService;
import com.utils.BaiduUtil;
import com.utils.FileUtil;
import com.utils.R;

/**
 * 通用接口
 */
@RestController
public class CommonController{
	private static final Logger logger = LoggerFactory.getLogger(CommonController.class);
	@Autowired
	private CommonService commonService;
	
	@Autowired
	private ConfigService configService;
	
	private static AipFace client = null;
	
	private static String BAIDU_DITU_AK = null;
	
	@RequestMapping("/location")
	public R location(String lng,String lat) {
		if(BAIDU_DITU_AK==null) {
			BAIDU_DITU_AK = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "baidu_ditu_ak")).getValue();
			if(BAIDU_DITU_AK==null) {
				return R.error("请在配置管理中正确配置baidu_ditu_ak");
			}
		}
		Map<String, String> map = BaiduUtil.getCityByLonLat(BAIDU_DITU_AK, lng, lat);
		return R.ok().put("data", map);
	}
	
	/**
	 * 人脸比对
	 * 
	 * @param face1 人脸1
	 * @param face2 人脸2
	 * @return
	 */
	@RequestMapping("/matchFace")
	public R matchFace(String face1, String face2, HttpServletRequest request) {
		if(client==null) {
			/*String AppID = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "AppID")).getValue();*/
			String APIKey = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "APIKey")).getValue();
			String SecretKey = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "SecretKey")).getValue();
			String token = BaiduUtil.getAuth(APIKey, SecretKey);
			if(token==null) {
				return R.error("请在配置管理中正确配置APIKey和SecretKey");
			}
			client = new AipFace(null, APIKey, SecretKey);
			client.setConnectionTimeoutInMillis(2000);
			client.setSocketTimeoutInMillis(60000);
		}
		JSONObject res = null;
		try {
			File file1 = new File(request.getSession().getServletContext().getRealPath("/upload")+"/"+face1);
			File file2 = new File(request.getSession().getServletContext().getRealPath("/upload")+"/"+face2);
			String img1 = Base64Util.encode(FileUtil.FileToByte(file1));
			String img2 = Base64Util.encode(FileUtil.FileToByte(file2));
			MatchRequest req1 = new MatchRequest(img1, "BASE64");
			MatchRequest req2 = new MatchRequest(img2, "BASE64");
			ArrayList<MatchRequest> requests = new ArrayList<MatchRequest>();
			requests.add(req1);
			requests.add(req2);
			res = client.match(requests);
			System.out.println(res.get("result"));
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			return R.error("文件不存在");
		} catch (IOException e) {
			e.printStackTrace();
		} 
		return R.ok().put("data", com.alibaba.fastjson.JSONObject.parse(res.get("result").toString()));
	}
    
	/**
	 * 获取table表中的column列表(联动接口)
	 * @return
	 */
	@RequestMapping("/option/{tableName}/{columnName}")
	@IgnoreAuth
	public R getOption(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName,String level,String parent) {
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("table", tableName);
		params.put("column", columnName);
		if(StringUtils.isNotBlank(level)) {
			params.put("level", level);
		}
		if(StringUtils.isNotBlank(parent)) {
			params.put("parent", parent);
		}
		List<String> data = commonService.getOption(params);
		return R.ok().put("data", data);
	}
	
	/**
	 * 根据table中的column获取单条记录
	 * @return
	 */
	@RequestMapping("/follow/{tableName}/{columnName}")
	@IgnoreAuth
	public R getFollowByOption(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName, @RequestParam String columnValue) {
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("table", tableName);
		params.put("column", columnName);
		params.put("columnValue", columnValue);
		Map<String, Object> result = commonService.getFollowByOption(params);
		return R.ok().put("data", result);
	}
	
	/**
	 * 修改table表的sfsh状态
	 * @param map
	 * @return
	 */
	@RequestMapping("/sh/{tableName}")
	public R sh(@PathVariable("tableName") String tableName, @RequestBody Map<String, Object> map) {
		map.put("table", tableName);
		commonService.sh(map);
		return R.ok();
	}
	
	/**
	 * 获取需要提醒的记录数
	 * @param tableName
	 * @param columnName
	 * @param type 1:数字 2:日期
	 * @param map
	 * @return
	 */
	@RequestMapping("/remind/{tableName}/{columnName}/{type}")
	@IgnoreAuth
	public R remindCount(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("table", tableName);
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		int count = commonService.remindCount(map);
		return R.ok().put("count", count);
	}

	/**
	 * 圖表统计
	 */
	@IgnoreAuth
	@RequestMapping("/group/{tableName}")
	public R group1(@PathVariable("tableName") String tableName, @RequestParam Map<String,Object> params) {
		params.put("table1", tableName);
		List<Map<String, Object>> result = commonService.chartBoth(params);
		return R.ok().put("data", result);
	}

	
	/**
	 * 单列求和
	 */
	@RequestMapping("/cal/{tableName}/{columnName}")
	@IgnoreAuth
	public R cal(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName) {
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("table", tableName);
		params.put("column", columnName);
		Map<String, Object> result = commonService.selectCal(params);
		return R.ok().put("data", result);
	}
	
	/**
	 * 分组统计
	 */
	@RequestMapping("/group/{tableName}/{columnName}")
	@IgnoreAuth
	public R group(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName) {
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("table", tableName);
		params.put("column", columnName);
		List<Map<String, Object>> result = commonService.selectGroup(params);
		return R.ok().put("data", result);
	}
	
	/**
	 * (按值统计)
	 */
	@RequestMapping("/value/{tableName}/{xColumnName}/{yColumnName}")
	@IgnoreAuth
	public R value(@PathVariable("tableName") String tableName, @PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName) {
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("table", tableName);
		params.put("xColumn", xColumnName);
		params.put("yColumn", yColumnName);
		List<Map<String, Object>> result = commonService.selectValue(params);
		return R.ok().put("data", result);
	}


	/**
	 * 下面为新加的
	 *
	 *
	 *
	 */

	/**
	 * 查询字典表的分组求和
	 * @param tableName  		表名
	 * @param groupColumn  		分组字段
	 * @param sumCloum			统计字段
	 * @return
	 */
	@RequestMapping("/sum/group/{tableName}/{groupColumn}/{sumCloum}")
	@IgnoreAuth
	public R newSelectGroupSum(@PathVariable("tableName") String tableName, @PathVariable("groupColumn") String groupColumn, @PathVariable("sumCloum") String sumCloum) {
		logger.debug("newSelectGroupSum:,,Controller:{},,tableName:{},groupColumn:{},sumCloum:{}",this.getClass().getName(),tableName,groupColumn,sumCloum);
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("tableName", tableName);
		params.put("groupColumn", groupColumn);
		params.put("sumColumn", sumCloum);
		List<Map<String, Object>> result = commonService.newSelectGroupSum(params);
		return R.ok().put("data", result);
	}

	/**
	 * 查询字典表的分组统计总条数
	 * @param tableName  		表名
	 * @param groupColumn  		分组字段
	 * @return
	 */
	@RequestMapping("/count/group/{tableName}/{groupColumn}")
	@IgnoreAuth
	public R newSelectGroupCount(@PathVariable("tableName") String tableName, @PathVariable("groupColumn") String groupColumn) {
		logger.debug("newSelectGroupCount:,,Controller:{},,tableName:{},groupColumn:{}",this.getClass().getName(),tableName,groupColumn);
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("tableName", tableName);
		params.put("groupColumn", groupColumn);
		List<Map<String, Object>> result = commonService.newSelectGroupCount(params);
		return R.ok().put("data", result);
	}


	/**
	 * 当前表的日期分组求和
	 * @param tableName  		表名
	 * @param groupColumn  		分组字段
	 * @param sumCloum			统计字段
	 * @param dateFormatType	日期格式化类型   1:年 2:月 3:日
	 * @return
	 */
	@RequestMapping("/sum/group/{tableName}/{groupColumn}/{sumCloum}/{dateFormatType}")
	@IgnoreAuth
	public R newSelectDateGroupSum(@PathVariable("tableName") String tableName, @PathVariable("groupColumn") String groupColumn, @PathVariable("sumCloum") String sumCloum, @PathVariable("dateFormatType") String dateFormatType) {
		logger.debug("newSelectDateGroupSum:,,Controller:{},,tableName:{},groupColumn:{},sumCloum:{},dateFormatType:{}",this.getClass().getName(),tableName,groupColumn,sumCloum,dateFormatType);
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("tableName", tableName);
		params.put("groupColumn", groupColumn);
		params.put("sumColumn", sumCloum);
		if("1".equals(dateFormatType)){
			params.put("dateFormat", "%Y");
		}else if("2".equals(dateFormatType)){
			params.put("dateFormat", "%Y-%m");
		}else if("3".equals(dateFormatType)){
			params.put("dateFormat", "%Y-%m-%d");
		}else{
			R.error("日期格式化不正确");
		}
		List<Map<String, Object>> result = commonService.newSelectDateGroupSum(params);
		return R.ok().put("data", result);
	}

	/**
	 *
	 * 查询字典表的分组统计总条数
	 * @param tableName  		表名
	 * @param groupColumn  		分组字段
	 * @param dateFormatType	日期格式化类型   1:年 2:月 3:日
	 * @return
	 */
	@RequestMapping("/count/group/{tableName}/{groupColumn}/{dateFormatType}")
	@IgnoreAuth
	public R newSelectDateGroupCount(@PathVariable("tableName") String tableName, @PathVariable("groupColumn") String groupColumn, @PathVariable("dateFormatType") String dateFormatType) {
		logger.debug("newSelectDateGroupCount:,,Controller:{},,tableName:{},groupColumn:{},dateFormatType:{}",this.getClass().getName(),tableName,groupColumn,dateFormatType);
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("tableName", tableName);
		params.put("groupColumn", groupColumn);
		if("1".equals(dateFormatType)){
			params.put("dateFormat", "%Y");
		}else if("2".equals(dateFormatType)){
			params.put("dateFormat", "%Y-%m");
		}else if("3".equals(dateFormatType)){
			params.put("dateFormat", "%Y-%m-%d");
		}else{
			R.error("日期格式化类型不正确");
		}
		List<Map<String, Object>> result = commonService.newSelectDateGroupCount(params);
		return R.ok().put("data", result);
	}

	/**
	 * 字段加数字
	 * @param tableName 表名
	 * @param id		id
	 * @param column	字段
	 * @param number	数量
	 * @return
	 */
	@RequestMapping("/plus/{tableName}/{id}/{column}/{number}")
	public R plusCloumNumber(@PathVariable("tableName") String tableName, @PathVariable("id") Integer id, @PathVariable("column") String column, @PathVariable("number") String number) {
		logger.debug("plusCloumNumber:,,Controller:{},,tableName:{},id:{},column:{},number:{}",this.getClass().getName(),tableName,id,column,number);
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("tableName", tableName);
		params.put("id", id);
		params.put("column", column);
		params.put("number", number);
		int i = commonService.plusCloumNumber(params);
		if(i>0){
			return R.ok();
		}
		return R.error("添加失败");
	}

	/**
	 * 字段减数字
	 * @param tableName
	 * @param id
	 * @param column
	 * @param number
	 * @return
	 */
	@RequestMapping("/reduce/{tableName}/{id}/{column}/{number}")
	public R reduceCloumNumber(@PathVariable("tableName") String tableName, @PathVariable("id") Integer id, @PathVariable("column") String column, @PathVariable("number") String number) {
		logger.debug("reduceCloumNumber:,,Controller:{},,tableName:{},id:{},column:{},number:{}",this.getClass().getName(),tableName,id,column,number);
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("tableName", tableName);
		params.put("id", id);
		params.put("column", column);
		params.put("number", number);
		int i = commonService.reduceCloumNumber(params);
		if(i>0){
			return R.ok();
		}
		return R.error("添加失败");
	}

	@RequestMapping("/update/{tableName}/{id}/{column}/{value}")
	public R updateCloumValue(@PathVariable("tableName") String tableName, @PathVariable("id") Integer id, @PathVariable("column") String column, @PathVariable("value") String value) {
		logger.debug("updateCloumValue:,,Controller:{},,tableName:{},id:{},column:{},number:{}",this.getClass().getName(),tableName,id,column,value);
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("tableName", tableName);
		params.put("id", id);
		params.put("column", column);
		params.put("value", value);
		int i = commonService.updateCloumValue(params);
		if(i>0){
			return R.ok();
		}
		return R.error("添加失败");
	}



}

Supongo que te gusta

Origin blog.csdn.net/weixin_46437112/article/details/132730989
Recomendado
Clasificación