有个小伙伴找到我开发一个系统,这次他要考验我的效率,第一次遇到这种条件的。

一周开发出来给2000,3天开发出来4000,一天开发出来给5000。

都这样说了,那我还拖什么?

系统完事后,和他商讨了一下,退他一部分费用,源码开源给大家了。方便的小伙伴,转发,在看支持下。你的支持,是我前进的动力,如果不方便,也没事,嘿嘿……

首先他的需求不是很很难,梳理了一遍感觉没啥问题了,直接开始干了。

那一天能不能完成 让我们拭目以待?

文章目录

  • 一,技术选型:
  • 二,原型设计:
  • 三,软件下载安装、环境安装:
  • 四,系统的演示:
  • 五,核心代码演示
  • 六,系统源码获取

一,技术选型:

二,原型设计:

对方没有UI要求,预算也低,这一步直接忽略,UI套用的我前面开发的。图片处理ps 搞下图标 图片什么的.

三,软件下载安装、环境安装:

软件下载的地址和安装的教程都整理的很详细,每当我换一台电脑的时候,直接进行下面的下载及安装,真的很快搞完,如下所示:


系统的下载也可以提供给大家。

四,系统的演示:

如果想看完整的视频演示,如下:

https://www.bilibili.com/video/BV1Y341177Qd?spm_id_from=333.999.0.0







五,核心代码演示

package com.example.bus.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;/*** 业务管理的路由器* @author LJH**/
@Controller
@RequestMapping("/bus")
public class BusinessController {/*** 跳转到客户管理*/@RequestMapping("toCustomerManager")public String toCustomerManager() {return "business/customer/customerManager";}/*** 跳转到供应商管理*/@RequestMapping("toProviderManager")public String toProviderManager() {return "business/provider/providerManager";}/*** 跳转到商品管理*/@RequestMapping("toGoodsManager")public String toGoodsManager() {return "business/goods/goodsManager";}/*** 跳转到进货管理*/@RequestMapping("toInportManager")public String toInportManager() {return "business/inport/inportManager";}/*** 跳转到退货查询管理*/@RequestMapping("toOutportManager")public String toOutportManager() {return "business/outport/outportManager";}/*** 跳转到宠物资料管理** @return*/@RequestMapping("toPetInfoManager")public String toPetInfoManager() {return "business/pet/petManager";}
}
@RestController
@RequestMapping("/customer")
public class CustomerController {@Autowiredprivate CustomerService customerService;/*** 查询*/@RequestMapping("loadAllCustomer")public DataGridView loadAllCustomer(CustomerVo customerVo) {IPage<Customer> page = new Page<>(customerVo.getPage(), customerVo.getLimit());QueryWrapper<Customer> queryWrapper = new QueryWrapper<>();queryWrapper.like(StringUtils.isNotBlank(customerVo.getCustomername()), "customername",customerVo.getCustomername());queryWrapper.like(StringUtils.isNotBlank(customerVo.getPhone()), "phone", customerVo.getPhone());queryWrapper.like(StringUtils.isNotBlank(customerVo.getConnectionperson()), "connectionperson",customerVo.getConnectionperson());this.customerService.page(page, queryWrapper);return new DataGridView(page.getTotal(), page.getRecords());}/*** 添加*/@RequestMapping("addCustomer")public ResultObj addCustomer(CustomerVo customerVo) {try {this.customerService.save(customerVo);return ResultObj.ADD_SUCCESS;} catch (Exception e) {e.printStackTrace();return ResultObj.ADD_ERROR;}}/*** 修改*/@RequestMapping("updateCustomer")public ResultObj updateCustomer(CustomerVo customerVo) {try {this.customerService.updateById(customerVo);return ResultObj.UPDATE_SUCCESS;} catch (Exception e) {e.printStackTrace();return ResultObj.UPDATE_ERROR;}}/*** 删除*/@RequestMapping("deleteCustomer")public ResultObj deleteCustomer(Integer id) {try {this.customerService.removeById(id);return ResultObj.DELETE_SUCCESS;} catch (Exception e) {e.printStackTrace();return ResultObj.DELETE_ERROR;}}/*** 批量删除*/@RequestMapping("batchDeleteCustomer")public ResultObj batchDeleteCustomer(CustomerVo customerVo) {try {Collection<Serializable> idList = new ArrayList<Serializable>();for (Integer id : customerVo.getIds()) {idList.add(id);}this.customerService.removeByIds(idList);return ResultObj.DELETE_SUCCESS;} catch (Exception e) {e.printStackTrace();return ResultObj.DELETE_ERROR;}}
@RestController
@RequestMapping("/goods")
public class GoodsController {@Autowiredprivate GoodsService goodsService;@Autowiredprivate ProviderService providerService;/*** 查询*/@RequestMapping("loadAllGoods")public DataGridView loadAllGoods(GoodsVo goodsVo) {IPage<Goods> page = new Page<>(goodsVo.getPage(), goodsVo.getLimit());QueryWrapper<Goods> queryWrapper = new QueryWrapper<>();queryWrapper.eq(goodsVo.getProviderid() != null && goodsVo.getProviderid() != 0, "providerid", goodsVo.getProviderid());queryWrapper.like(StringUtils.isNotBlank(goodsVo.getGoodsname()), "goodsname", goodsVo.getGoodsname());queryWrapper.like(StringUtils.isNotBlank(goodsVo.getProductcode()), "productcode", goodsVo.getProductcode());queryWrapper.like(StringUtils.isNotBlank(goodsVo.getPromitcode()), "promitcode", goodsVo.getPromitcode());queryWrapper.like(StringUtils.isNotBlank(goodsVo.getDescription()), "description", goodsVo.getDescription());queryWrapper.like(StringUtils.isNotBlank(goodsVo.getSize()), "size", goodsVo.getSize());this.goodsService.page(page, queryWrapper);List<Goods> records = page.getRecords();for (Goods goods : records) {Provider provider = this.providerService.getById(goods.getProviderid());if (null != provider) {goods.setProvidername(provider.getProvidername());}}return new DataGridView(page.getTotal(), records);}/*** 添加*/@RequestMapping("addGoods")public ResultObj addGoods(GoodsVo goodsVo) {try {if (goodsVo.getGoodsimg() != null && goodsVo.getGoodsimg().endsWith("_temp")) {String newName = AppFileUtils.renameFile(goodsVo.getGoodsimg());goodsVo.setGoodsimg(newName);}this.goodsService.save(goodsVo);return ResultObj.ADD_SUCCESS;} catch (Exception e) {e.printStackTrace();return ResultObj.ADD_ERROR;}}/*** 修改*/@RequestMapping("updateGoods")public ResultObj updateGoods(GoodsVo goodsVo) {try {//说明是不默认图片if (!(goodsVo.getGoodsimg() != null && goodsVo.getGoodsimg().equals(Constant.IMAGES_DEFAULTGOODSIMG_PNG))) {if (goodsVo.getGoodsimg().endsWith("_temp")) {String newName = AppFileUtils.renameFile(goodsVo.getGoodsimg());goodsVo.setGoodsimg(newName);//删除原先的图片String oldPath = this.goodsService.getById(goodsVo.getId()).getGoodsimg();AppFileUtils.removeFileByPath(oldPath);}}this.goodsService.updateById(goodsVo);return ResultObj.UPDATE_SUCCESS;} catch (Exception e) {e.printStackTrace();return ResultObj.UPDATE_ERROR;}}/*** 删除*/@RequestMapping("deleteGoods")public ResultObj deleteGoods(Integer id, String goodsimg) {try {//删除原文件AppFileUtils.removeFileByPath(goodsimg);this.goodsService.removeById(id);return ResultObj.DELETE_SUCCESS;} catch (Exception e) {e.printStackTrace();return ResultObj.DELETE_ERROR;}}/*** 加载所有可用的供应商*/@RequestMapping("loadAllGoodsForSelect")public DataGridView loadAllGoodsForSelect() {QueryWrapper<Goods> queryWrapper = new QueryWrapper<>();queryWrapper.eq("available", Constant.AVAILABLE_TRUE);List<Goods> list = this.goodsService.list(queryWrapper);for (Goods goods : list) {Provider provider = this.providerService.getById(goods.getProviderid());if (null != provider) {goods.setProvidername(provider.getProvidername());}}return new DataGridView(list);}

六,系统源码获取

还是那句话,仅限制学习使用!

若发现偷盗者,以后我开源的就少了!而且会追究你的责任!

最后希望大家给个三连吧!开源不容易!

挑战一天开发一个前后端小程序系统|源码公开,开箱即用相关推荐

  1. 最新版wifi营销分销流量主前后端+小程序源码+搭建教程

    前端+后端+数据库+搭建教程,无任何密码,亲测能用,避免踩坑,+v:JZ716888 教程如下: 安装源码到根目录 1.网站运行目录public 2.PHP7.2,开通SSL 3.导入数据库文件 4. ...

  2. 云开发口袋工具箱微信小程序源码(已更新)

    介绍: 这是一款云开发口袋工具箱微信小程序源码,,该版本的口袋工具箱涵盖了13个功能 分别为圣诞帽头像生成.二维码生成.日语50音图.汉字拼音查询.计算器.程序员黄历.娱乐摇骰子. 身材计算.所在地天 ...

  3. java计算机毕业设计vue开发一个简单音乐播放器源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计vue开发一个简单音乐播放器源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计vue开发一个简单音乐播放器源码+mysql数据库+系统+lw文档+部署 本源码技 ...

  4. 云开发表白墙微信小程序源码

    这是一款云开发的表白墙微信小程序 特点是云开发, 安装特别的简单 首先呢小程序账号开通云开发权限 然后把源码上传到微信开发者工具里面 然后点击开发者工具软件上面的云开发,然后点击数据库 在数据库里面创 ...

  5. 修复采集接口版云开发表情包微信小程序源码下载增加制作等功能

    大家好,相信很多人对这个界面的表情包小程序肯定不陌生吧 不错之前该款小程序是属于独立后端的,不管今天所发的这款是云开发的哟 运营着这个表情包的用户应该发现了,最近很多表情包图片都失效了 所以呢,今天小 ...

  6. 云开发表白墙微信小程序源码下载免服务器和域名支持流量主收益

    这是一款云开发的表白墙微信小程序 特点是云开发,所以也就无需服务器和域名的支持了 安装特别的简单 首先呢小程序账号开通云开发权限 然后把源码上传到微信开发者工具里面 然后点击开发者工具软件上面的云开发 ...

  7. 计算机毕业设计Javavue开发一个简单音乐播放器(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Javavue开发一个简单音乐播放器(源码+系统+mysql数据库+lw文档) 计算机毕业设计Javavue开发一个简单音乐播放器(源码+系统+mysql数据库+lw文档) 本源码技术栈 ...

  8. 小程序源码:全新独家云开发微群人脉小程序源码下载社群空间站

    今天给大家带来一款云开发版本的微群人脉小程序源码 该版本属于采集版本(群二维码自动采集) 该版本属于云开发版本(免服务器和域名) 这是一款不怕封小程序版本 PS:支持用户自主发布那一款还是有点危险因为 ...

  9. php微擎万能门店小程序_万能门店独立版小程序V2.0.2,基于ThinkPHP5框架开发的万能门店小程序源码...

    源码介绍 基于ThinkPHP5框架开发的万能门店小程序源码,是微擎上很火的万能门店小程序的独立版,万能门店小程序DIY建站无限独立版非微擎应用,独立版是基于国内很火的ThinkPHP5.0.10框架 ...

最新文章

  1. bzoj 3028 生成函数
  2. 大数据下Limit使用(MySQL)
  3. IRP_MJ_CREATE
  4. 图像低频高频区域分离 小波变换
  5. 动态创建的 CEdit 被限制长度,增加 ES_AUTOHSCROLL 属性;被无法Tab激活焦点,增加 WS_TABSTOP 属性(转)...
  6. 关于Spring容器管理Bean的过程以及加载模式
  7. php直接的模块接口,api(接口)模块
  8. 依赖注入之针对不同类型变量的几种注入方式
  9. 120天的烧脑只为孩子设计一套教具~
  10. ARM汇编指令格式及规则
  11. 游戏开发筑基之判断回文数及static(C语言)
  12. Jellybean 4.1.1 精简列表+谷歌服务包精简列表
  13. Excel将汉字与英文分开
  14. 外显子名词解释_生物信息学常用名词解释(一)
  15. java计算机毕业设计体育用品购物系统源码+数据库+系统+lw文档+mybatis+运行部署
  16. LeaRun快速开发平台,快速开发.net/java项目
  17. 企业要融资,增资好还是股权转让好
  18. 【统计学】统计学基础
  19. MyBatis配置数据库
  20. ExecuteNonQuery()返回值

热门文章

  1. 【电子学会】2019年12月图形化三级 -- 判断奇偶数
  2. Pytorch之DataLoader Dataset、datasets、models、transforms的认识和学习
  3. matlab电流表怎么找,电压表、电流表到底在测量谁?小编教你快速“找对象”!...
  4. Adobe Photoshop CC 最新版下载
  5. basler相机无连接
  6. 关于python语句p p_关于Python语句P=-P,哪个选项的描述是正确的?_学小易找答案
  7. java 实现ppt文件压缩
  8. # PyTorch学习笔记(15)--神经网络模型训练实战
  9. 嵌入式学习之Linux驱动篇-迅为视频更新了
  10. 全栈开发工程师修炼指南