基于springboot的文章发布系统-JAVA【毕业设计、快速开发、源码、开题报告】

  

功能介绍

管理员登陆后,主要包括首页、个人中心、用户管理、文章分类管理、文章信息管理、系统管理等功能。

用户登陆进入系统可以实现首页、文章信息、公告信息、个人中心、后台管理等功能。

部分功能模块代码

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.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.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{ 	@Autowired 	private CommonService commonService;      private static AipFace client = null;          @Autowired     private ConfigService configService;     	/** 	 * 获取table表中的column列表(联动接口) 	 * @param table 	 * @param column 	 * @return 	 */ 	@IgnoreAuth 	@RequestMapping("/option/{tableName}/{columnName}") 	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获取单条记录 	 * @param table 	 * @param column 	 * @return 	 */ 	@IgnoreAuth 	@RequestMapping("/follow/{tableName}/{columnName}") 	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 table 	 * @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 	 */ 	@IgnoreAuth 	@RequestMapping("/remind/{tableName}/{columnName}/{type}") 	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("/cal/{tableName}/{columnName}") 	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); 	} 	 	/** 	 * 分组统计 	 */ 	@IgnoreAuth 	@RequestMapping("/group/{tableName}/{columnName}") 	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); 		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 		for(Map<String, Object> m : result) { 			for(String k : m.keySet()) { 				if(m.get(k) instanceof Date) { 					m.put(k, sdf.format((Date)m.get(k))); 				} 			} 		} 		return R.ok().put("data", result); 	} 	 	/** 	 * (按值统计) 	 */ 	@IgnoreAuth 	@RequestMapping("/value/{tableName}/{xColumnName}/{yColumnName}") 	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); 		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 		for(Map<String, Object> m : result) { 			for(String k : m.keySet()) { 				if(m.get(k) instanceof Date) { 					m.put(k, sdf.format((Date)m.get(k))); 				} 			} 		} 		return R.ok().put("data", result); 	}  	/**  	 * (按值统计)时间统计类型 	 */ 	@IgnoreAuth 	@RequestMapping("/value/{tableName}/{xColumnName}/{yColumnName}/{timeStatType}") 	public R valueDay(@PathVariable("tableName") String tableName, @PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName, @PathVariable("timeStatType") String timeStatType) { 		Map<String, Object> params = new HashMap<String, Object>(); 		params.put("table", tableName); 		params.put("xColumn", xColumnName); 		params.put("yColumn", yColumnName); 		params.put("timeStatType", timeStatType); 		List<Map<String, Object>> result = commonService.selectTimeStatValue(params); 		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 		for(Map<String, Object> m : result) { 			for(String k : m.keySet()) { 				if(m.get(k) instanceof Date) { 					m.put(k, sdf.format((Date)m.get(k))); 				} 			} 		} 		return R.ok().put("data", result); 	} 	     /**      * 人脸比对      *       * @param face1 人脸1      * @param face2 人脸2      * @return      */     @RequestMapping("/matchFace")     @IgnoreAuth     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 path = new File(ResourceUtils.getURL("classpath:static").getPath());             if(!path.exists()) {                 path = new File("");             }             File upload = new File(path.getAbsolutePath(),"/upload/");             File file1 = new File(upload.getAbsolutePath()+"/"+face1);             File file2 = new File(upload.getAbsolutePath()+"/"+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("score", com.alibaba.fastjson.JSONObject.parse(res.getJSONObject("result").get("score").toString()));     } }  package com.service.impl;   import java.util.List; import java.util.Map;  import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;  import com.dao.CommonDao; import com.service.CommonService;   /**  * 系统用户  */ @Service("commonService") public class CommonServiceImpl implements CommonService { 	 	@Autowired 	private CommonDao commonDao;  	@Override 	public List<String> getOption(Map<String, Object> params) { 		return commonDao.getOption(params); 	} 	 	@Override 	public Map<String, Object> getFollowByOption(Map<String, Object> params) { 		return commonDao.getFollowByOption(params); 	} 	 	@Override 	public void sh(Map<String, Object> params) { 		commonDao.sh(params);  	}  	@Override 	public int remindCount(Map<String, Object> params) { 		return commonDao.remindCount(params); 	}  	@Override 	public Map<String, Object> selectCal(Map<String, Object> params) { 		return commonDao.selectCal(params); 	} 	 	@Override 	public List<Map<String, Object>> selectGroup(Map<String, Object> params) { 		return commonDao.selectGroup(params); 	} 	 	@Override 	public List<Map<String, Object>> selectValue(Map<String, Object> params) { 		return commonDao.selectValue(params); 	}  	@Override 	public List<Map<String, Object>> selectTimeStatValue(Map<String, Object> params) { 		return commonDao.selectTimeStatValue(params); 	}  }  package com.dao;  import java.util.List; import java.util.Map;  /**  * 通用接口  */ public interface CommonDao{ 	List<String> getOption(Map<String, Object> params); 	 	Map<String, Object> getFollowByOption(Map<String, Object> params); 	 	List<String> getFollowByOption2(Map<String, Object> params); 	 	void sh(Map<String, Object> params); 	 	int remindCount(Map<String, Object> params); 	 	Map<String, Object> selectCal(Map<String, Object> params); 	 	List<Map<String, Object>> selectGroup(Map<String, Object> params); 	 	List<Map<String, Object>> selectValue(Map<String, Object> params);  	List<Map<String, Object>> selectTimeStatValue(Map<String, Object> params); } 

论文目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值