最近很郁闷,一个女粉丝找我要开发一个系统。说是很着急。
 
但是费用不高,说自己没钱。
 
我平时事也很多,又不是很想接。
 
说了一大堆苦情的话,然后说自己的要求不高,没有ui要求,
 
我就接了。
 
但是后来,越扯越严重……上升到600块要开发一个知乎的高度。这让我想起了预算茅草屋的价格,想要别墅的效果。


 
扯皮扯的很累,项目我已经远程调试好了,也讲解了。最后全部退款了。
 

 
关键是我还整理了很多讲解的说明:

既然退款,项目就不是你的了,我开发的就是我的,项目的源码就开源吧。

兄弟们,给个三连安慰下我。源码是你们的了。在文章底部。

首先看一下这个项目演示,值不值600块?评论区告诉我

一,系统演示

二,系统的简介

开发语言:Java

框架:ssm

JDK版本:JDK1.8

服务器:tomcat7

数据库:mysql 5.7(一定要5.7版本)

数据库工具:Navicat11

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.3.9

浏览器:谷歌浏览器

二,系统实现的主要功能

(1)用户管理。主要实现了仿知乎微信小程序的用户管理功能。

(2)标签管理。主要实现了仿知乎微信小程序的标签管理功能。

(3)今日热闻管理。主要实现了仿知乎微信小程序的今日热闻管理功能。

(4)问答模式管理。主要实现了仿知乎微信小程序的问答模式管理功能。

(5)文件管理。主要实现了仿知乎微信小程序的文件管理功能。

三,核心代码展示

@RestController
@RequestMapping("/biaoqianleixing")
public class BiaoqianleixingController {@Autowiredprivate BiaoqianleixingService biaoqianleixingService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,BiaoqianleixingEntity biaoqianleixing, HttpServletRequest request){EntityWrapper<BiaoqianleixingEntity> ew = new EntityWrapper<BiaoqianleixingEntity>();PageUtils page = biaoqianleixingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, biaoqianleixing), params), params));return R.ok().put("data", page);}/*** 前端列表*/@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,BiaoqianleixingEntity biaoqianleixing, HttpServletRequest request){EntityWrapper<BiaoqianleixingEntity> ew = new EntityWrapper<BiaoqianleixingEntity>();PageUtils page = biaoqianleixingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, biaoqianleixing), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( BiaoqianleixingEntity biaoqianleixing){EntityWrapper<BiaoqianleixingEntity> ew = new EntityWrapper<BiaoqianleixingEntity>();ew.allEq(MPUtil.allEQMapPre( biaoqianleixing, "biaoqianleixing")); return R.ok().put("data", biaoqianleixingService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(BiaoqianleixingEntity biaoqianleixing){EntityWrapper< BiaoqianleixingEntity> ew = new EntityWrapper< BiaoqianleixingEntity>();ew.allEq(MPUtil.allEQMapPre( biaoqianleixing, "biaoqianleixing")); BiaoqianleixingView biaoqianleixingView =  biaoqianleixingService.selectView(ew);return R.ok("查询标签类型成功").put("data", biaoqianleixingView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){BiaoqianleixingEntity biaoqianleixing = biaoqianleixingService.selectById(id);return R.ok().put("data", biaoqianleixing);}/*** 前端详情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){BiaoqianleixingEntity biaoqianleixing = biaoqianleixingService.selectById(id);return R.ok().put("data", biaoqianleixing);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody BiaoqianleixingEntity biaoqianleixing, HttpServletRequest request){biaoqianleixing.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(biaoqianleixing);biaoqianleixingService.insert(biaoqianleixing);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody BiaoqianleixingEntity biaoqianleixing, HttpServletRequest request){biaoqianleixing.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(biaoqianleixing);biaoqianleixingService.insert(biaoqianleixing);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody BiaoqianleixingEntity biaoqianleixing, HttpServletRequest request){//ValidatorUtils.validateEntity(biaoqianleixing);biaoqianleixingService.updateById(biaoqianleixing);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){biaoqianleixingService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {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));}}Wrapper<BiaoqianleixingEntity> wrapper = new EntityWrapper<BiaoqianleixingEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = biaoqianleixingService.selectCount(wrapper);return R.ok().put("count", count);}
/*** 通用接口*/
@RestController
public class CommonController{@Autowiredprivate CommonService commonService;@Autowiredprivate 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列表(联动接口)* @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);}

四,源码获取

这个项目搞的恨不痛快,以后这样的再也不接了。开始的时候就要确认好需求。源码给你了。

点击下面,回复:小程序666

大厂程序员接私活被坑, 还被放鸽子,那源码就开源-基于SSM仿知乎小程序相关推荐

  1. (附源码)计算机毕业设计SSM家政服务预约小程序

    (附源码)计算机毕业设计SSM家政服务预约小程序 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Inte ...

  2. 前同事接私活年入百万,都是用这几个开源的SpringBoot项目(含小程序)改的...

    点击上方蓝色字体,选择"标星公众号" 优质文章,第一时间送达 关注公众号后台回复pay或mall获取实战项目资料+视频 来源:整理自:爪哇笔记,作者:小柒2012 前言 不得不佩服 ...

  3. 程序员接私活的一些平台和建议,千万要注意,别掉坑里!

    关于程序员接私活,社会各界说法不一,如果你确实急用钱,价格又合适,那就去做. 不过,私活也没有那么好做,一般私活的性价比远比上班拿工资的低.但是作为一个额外的收益渠道,一部分生活窘迫的程序员,或者想要 ...

  4. 程序员接私活的几个平台和建议,避免掉坑!

    大家对于程序员接私活这件事的看法,褒贬不一.但是你如果确实用钱,价格又合适,那就大胆去接. 如果不那么缺钱,那么接私活之前先考虑清楚,如果自己将空余时间用在接私活所产生的价值是不是大于提升自己.如果是 ...

  5. 程序员接私活平台汇总,有技术就有钱!

    程序员接私活平台汇总,有技术就有钱! 前言 关于程序员接私活,社会各界说法不一.按照作者的观点来说如果你确实急用钱,价格又合适,那就去做.如果不怎么缺钱,那就接私活之前要好好考虑.私活的钱不好挣是一个 ...

  6. 所有外包项目威客网站列表----来自程序员接私活网qxj.me

    猪八戒    http://www.zhubajie.com/  有佣金,建议别去坑死了 csto      http://www.csto.com/ 开源中国众包   https://zb.osch ...

  7. Android程序员接私活完整攻略

    接私活对程序员这个圈子来说是一个既公开又隐私的话题,不说全部,应该大多数程序员都有过想要接私活的想法,当然,也有部分得道成仙的不主张接私活.但是很少有人在公开场合讨论私活的问题,似乎都在避嫌.就跟有人 ...

  8. Android 强烈推荐:程序员接私活那点事

    今天周末在家宅着,并不是我不想运动,是因为北京的雨雪交加导致我想在家写文章,不过想想给大家写文章还是蛮惬意的,望一眼窗外,看一眼雪景,指尖在键盘上跳动,瞬间有种从屌丝程序员转变成了小姑娘们都羡慕的文艺 ...

  9. 前端学习与“IT界大佬告诉你,程序员接私活的7大平台利器”

    mark一下,博主名称"前端入门到精通",博客标题:"IT界大佬告诉你,程序员接私活的7大平台利器" https://blog.csdn.net/zwjweb/ ...

最新文章

  1. servlet必知细节(一)
  2. 毕业典礼上,硕士情侣现场求婚!校长也被甜到全程“姨母笑”
  3. Python去除字符串前后空格
  4. 2017年软件工程第四次作业-4每周例行报告
  5. [转载]使用消息队列实现分布式事务-公认较为理想的分布式事务解决方案
  6. phpstorm docker php,使用phpstorm对docker中的脚本进行debug的方法
  7. python xml.dom模块解析xml
  8. Ant命令编译flex时碰到的问题:[mxmlc] java.lang.OutOfMemoryError: Java heap space
  9. 安全小测试:介绍一个简单web安全知识测试的网站
  10. 2022美赛C题 F奖思路分享
  11. BigGAN高保真自然图像合成的大规模GAN训练
  12. Ajax-ajax实例2-根据邮政编码获取地区信息
  13. 【面试记录】比亚迪二面
  14. 【C语言代码写圣诞节程序】别再画圣诞树了,看都看腻了
  15. php 超炫 页面,dedecms织梦后台模板,超炫界面风格
  16. 联想笔记本linux不能启动无线网卡解决方法
  17. 中小企业的需求管理软件都有哪些
  18. 【附源码】Python计算机毕业设计社区志愿者管理系统
  19. Ubuntu WPS系统缺失字体symbol、wingdings、wingdings wingdings webding
  20. 做公关就是做产品:新媒体时代的公关怎么做

热门文章

  1. 3D制图软件中如何构造放样弯边?
  2. 前淘宝工程师对12306的解读: 曾嗤之以鼻 现在认为几乎是奇迹
  3. 全球及中国商业无线雷管行业研究及十四五规划分析报告
  4. 【论文阅读】Revisiting Long-tailed Image Classification: Survey and Benchmarks with New Evaluation Metrics
  5. 在wps里面怎么设置触发器_WPS演示如何设置动作触发器
  6. 【NYOJ 分类——语言入门】——汇总(四)
  7. 周末用了下Google Allo:有些弱,百度度秘比它强
  8. php数组排序后保留键名,详解PHP 二维数组排序保持键名不变
  9. Android 微博长图加载
  10. 树莓派传输数据给OneNET(HTTP形式)