Java项目-基于springboot框架的智慧外贸系统项目实战(附源码+文档)

作者:计算机学长阿伟
开发技术:SpringBoot、SSM、Vue、MySQL、ElementUI等,“文末源码”。

开发运行环境

  • 开发语言:Java
  • 数据库:MySQL
  • 技术:SpringBoot、Vue、Mybaits Plus、ELementUI
  • 工具:IDEA/Ecilpse、Navicat、Maven

源码下载地址:

Java项目-基于springboot框架的智慧外贸系统项目实战(附源码+文档)资源-CSDN文库

文档目录

【如需全文请按文末获取联系】

一、项目简介

        智慧外贸平台是一个集成了商品管理、订单处理、物流跟踪和发票管理等功能的外贸服务平台。该平台旨在为商家和买家提供一个高效、便捷的在线交易环境,实现商品的预订、关单信息的生成、送仓申请的提交、运单的跟踪以及出口发票的开具等流程。

二、系统设计

2.1软件功能模块设计

2.2数据库设计

 商品信息E/R图如下所示:

关单信息E/R图如下所示:

三、系统项目部分截图

3.1后台系统部分页面效果

3.2前台系统部分页面效果

四、部分核心代码

package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
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.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.ChukoufapiaoEntity;
import com.entity.view.ChukoufapiaoView;import com.service.ChukoufapiaoService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import java.io.IOException;/*** 出口发票* 后端接口*/
@RestController
@RequestMapping("/chukoufapiao")
public class ChukoufapiaoController {@Autowiredprivate ChukoufapiaoService chukoufapiaoService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,ChukoufapiaoEntity chukoufapiao,HttpServletRequest request){String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("shangjia")) {chukoufapiao.setShangjiazhanghao((String)request.getSession().getAttribute("username"));}if(tableName.equals("maijia")) {chukoufapiao.setMaijiazhanghao((String)request.getSession().getAttribute("username"));}EntityWrapper<ChukoufapiaoEntity> ew = new EntityWrapper<ChukoufapiaoEntity>();PageUtils page = chukoufapiaoService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, chukoufapiao), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,ChukoufapiaoEntity chukoufapiao, HttpServletRequest request){EntityWrapper<ChukoufapiaoEntity> ew = new EntityWrapper<ChukoufapiaoEntity>();PageUtils page = chukoufapiaoService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, chukoufapiao), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( ChukoufapiaoEntity chukoufapiao){EntityWrapper<ChukoufapiaoEntity> ew = new EntityWrapper<ChukoufapiaoEntity>();ew.allEq(MPUtil.allEQMapPre( chukoufapiao, "chukoufapiao")); return R.ok().put("data", chukoufapiaoService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(ChukoufapiaoEntity chukoufapiao){EntityWrapper< ChukoufapiaoEntity> ew = new EntityWrapper< ChukoufapiaoEntity>();ew.allEq(MPUtil.allEQMapPre( chukoufapiao, "chukoufapiao")); ChukoufapiaoView chukoufapiaoView =  chukoufapiaoService.selectView(ew);return R.ok("查询出口发票成功").put("data", chukoufapiaoView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){ChukoufapiaoEntity chukoufapiao = chukoufapiaoService.selectById(id);return R.ok().put("data", chukoufapiao);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){ChukoufapiaoEntity chukoufapiao = chukoufapiaoService.selectById(id);return R.ok().put("data", chukoufapiao);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody ChukoufapiaoEntity chukoufapiao, HttpServletRequest request){chukoufapiao.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(chukoufapiao);chukoufapiaoService.insert(chukoufapiao);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody ChukoufapiaoEntity chukoufapiao, HttpServletRequest request){chukoufapiao.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(chukoufapiao);chukoufapiaoService.insert(chukoufapiao);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody ChukoufapiaoEntity chukoufapiao, HttpServletRequest request){//ValidatorUtils.validateEntity(chukoufapiao);chukoufapiaoService.updateById(chukoufapiao);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){chukoufapiaoService.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<ChukoufapiaoEntity> wrapper = new EntityWrapper<ChukoufapiaoEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("shangjia")) {wrapper.eq("shangjiazhanghao", (String)request.getSession().getAttribute("username"));}if(tableName.equals("maijia")) {wrapper.eq("maijiazhanghao", (String)request.getSession().getAttribute("username"));}int count = chukoufapiaoService.selectCount(wrapper);return R.ok().put("count", count);}}

获取源码或文档

如需对应的论文或文档,以及其他定制需求,也可以下方添加联系我。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/455794.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年最新苹果iOS证书申请创建App详细图文流程

iOS 证书设置指南&#xff1a; 对于开发者来说&#xff0c;在没有Mac电脑或对Xcode等开发工具不熟悉的情况下&#xff0c;如何快速完成IOS证书制作和IPA文件提交至开发者中心一直是一个难题。但是现在&#xff0c;有了初雪云提供的极简工具&#xff0c;您可以轻松实现这两个任…

Tomcat隐藏版本号和报错信息

为了避免漏洞扫描的时候造成版本泄露&#xff0c;可以在conf/server.xml配置文件中的<Host>配置项中添加如下配置: <Valve className"org.apache.catalina.valves.ErrorReportValve" showReport"false" showServerInfo"false" /> …

c语言内核链表

c语言内核链表 在Linux中拥有大量的内核源码&#xff0c;在数据存储的这块位置拥有内核链表&#xff08;双向循环链表&#xff09; 由linux内核提供的链表文件&#xff0c;里面包含了多组内联函数和宏定义函数以及功能性函数。 内核链表中定义了多个函数&#xff0c;我们只需要…

(gersemi) CMake 格式化工具

文章目录 &#x1f9ee;介绍&#x1f9ee;安装&#x1f9ee;使用&#x1f5f3;️模式 modes&#x1f5f3;️样式配置 config ⭐END&#x1f31f;help&#x1f31f;交流方式 &#x1f9ee;介绍 BlankSpruce/gersemi: A formatter to make your CMake code the real treasure A f…

关闭或开启Win11系统的自动更新

Win11系统老是自动更新&#xff0c;每次更新后不仅拖慢计算机的运行速度&#xff0c;甚至打印机都无法使用了&#xff0c;给我们带来了很多困扰。 那么我们该如何彻底关闭Win11系统的自动更新呢&#xff1f;关闭Win11系统自动更新会有什么弊端呢&#xff1f; 下面就分享几个小方…

NVIDIA 发布适用于网络安全的 NIM Blueprint

德勤使用适用于容器安全的 NVIDIA NIM Agent Blueprint 帮助企业利用开源软件构建安全的 AI。 文章目录 &#x1f64a; 德勤使用 NVIDIA AI 保障软件安全&#x1f64a; 通过生成式 AI 保障软件安全&#x1f64a; 适用于网络安全成功的蓝图&#x1f3a0; 什么是 NVIDIA NIM Agen…

ESP32移植Openharmony外设篇(3)OLED屏

模块简介 产品介绍 OLED (Organic Light-Emitting Diode)&#xff1a;有机发光二极管又称为有机电激光显示&#xff0c;OLED显示技术具有自发光的特性&#xff0c;采用薄的有机材料涂层和玻璃基板&#xff0c;当有电流通过时&#xff0c;这些有机材料就会发光&#xff0c;而且…

数组中的算法

目录 1.什么是数组 2.数组上的算法 2.1二分查找算法 什么是二分查找算法&#xff1f; 算法步骤 算法时间复杂度 一个问题 例题 题目分析 解题代码 2.2双指针法 什么是双指针法&#xff1f; 例题 题目分析 解题代码 1.什么是数组 数组是在一块连续的内存空间…

【vuejs】富文本框输入的字符串按规则解析填充表单

今天遇到一个批量添加信息的需求&#xff0c;按照格式要求解析后填充到表单中&#xff0c;不符合规则的直接过滤掉 注&#xff1a;添加的信息都是随机生成&#xff0c;不用于实际用途 这是弹框输入的文本解析代码 export const editValToArr (value, bankArr) > {return n…

vue2-render:vue2项目使用render / 基础使用

一、本文内容 本文内容记录render常用的一些属性和方法的配置&#xff0c;以作参考 export default { data() {return { modelValue: ,key: 0,}; }, render(h) { return h(div, [ h(input, {class: input,attrs: { type: text }, key: this.key,props: { value: thi…

【mysql进阶】2-4. mysql 系统库

mysql System Schema (mysql系统库) Mysql Schema是⼀个系统库&#xff0c;表中存储了MySQL服务器运⾏时所需的信息。⼴义上&#xff0c;mysqlschema包含存储数据库对象元数据的数据字典和⽤于其他操作⽬的的系统表。数据字典表和系统表位于数据⽬录下⼀个名为 mysql.ibd 的表…

“声音”音源设置和音效播放

学习如何使用音效系统&#xff0c;背景音乐和其他特别的音效&#xff0c;跳跃攻击等等 学习如何在unity当中使用整套的音效系统&#xff0c;使用之前&#xff0c;我们先来确定一下我们要使用的音乐和音效&#xff0c;在Unity Asset Store当中搜索&#xff0c;添加到我们的unit…

详解Oracle审计(二)

题记&#xff1a; 本文将承接上篇详细介绍oracle的审计功能&#xff0c;基于11g版本&#xff0c;但对12c&#xff0c;19c也同样适用。 1. 语句审计实操演示实例 sqlplus / as sysdba show parameter audit_trail alter system set audit_traildb_extended scopespfile; star…

OpenCV和HALCON

OpenCV和HALCON是两种广泛用于图像处理和计算机视觉的开发库&#xff0c;它们各有优缺点&#xff0c;适合不同的应用场景。以下是两者的比较&#xff1a; 1. 开发背景与定位 OpenCV (Open Source Computer Vision Library)&#xff1a; 开源库&#xff0c;最初由Intel开发&…

Gitlab 完全卸载–亲测可行

1、停止gitlab gitlab-ctl stop2.卸载gitlab&#xff08;注意这里写的是gitlab-ce&#xff09; rpm -e gitlab-ce 3、查看gitlab进程 ps aux | grep gitlab 4、杀掉第一个进程&#xff08;就是带有好多.............的进程&#xff09; 5、删除所有包含gitlab文件 find / …

【计网】深入理解网络通信:端口号、Socket编程及编程接口

目录 1.端口号 1.1.理解源 IP 地址和目的 IP 地址 1.2.认识端口号 1.3.端口号范围划分 1.4理解 "端口号" 和 "进程 ID" 2.socket编程 2.1.理解 socket 2.2.socket编程的概念 2.3. 传输层的典型代表 认识 TCP 协议 认识 UDP 协议 2.3 网络字节序…

基于Multisim的水位测量电路设计与仿真

1.利用LED指示灯显示水位&#xff08;最低水位、1/4、1/2、3/4、最高水位&#xff09;。 2.达到最高水位时&#xff0c;自动报警。

探索Python与Excel的无缝对接:xlwings库的神秘面纱

文章目录 探索Python与Excel的无缝对接&#xff1a;xlwings库的神秘面纱1. 背景介绍&#xff1a;为何选择xlwings&#xff1f;2. xlwings是什么&#xff1f;3. 如何安装xlwings&#xff1f;4. 简单的库函数使用方法打开工作簿创建工作簿读取单元格数据写入单元格数据保存并关闭…

消息会话—发送消息自动滚动到最底部

背景 在项目开发中&#xff0c;实现用户友好的输入交互是提升用户体验的关键之一。例如&#xff0c;在消息会话页面中&#xff0c;为了确保用户在发送新消息后页面能自动滚动到最底部&#xff0c;从而始终保持最新消息的可见性&#xff0c;需要实现自动滚动功能。这不仅提升了…

Spring Boot集成:高效论坛网站的构建

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理论坛网站的相关信息成为必然。开发合适的论…