源码获取私信联系我即可~大家点赞、收藏、关注、评论啦精彩专栏推荐订阅在下方专栏 精彩专栏 推荐订阅Java精品项目案例【2000套】https://blog.csdn.net/fykj_2010/category_13187274.htmlPython精品项目案例【500套】uniapp/微信小程序/安卓app【1800套】✅文末获取源码✅感兴趣的可以先收藏起来还有大家在毕设选题项目以及论文编写等相关问题都可以找我咨询希望帮助更多的人❤️系统分析功能需求分析普通用户可以在系统内对字画作品进行查看购物车管理地址管理支付订单订单管理订单配送跟踪以及售后退款等操作。普通用户通过浏览模块获取作品信息将感兴趣的作品添加到购物车里暂存起来在结算时管理收货地址并完成在线支付支付成功之后可以在订单列表中查看订单的状态以及配送的进度对于有问题的商品可以发起售后退款流程。普通用户用例图如下图3-1所示。商家用户在系统内可以进行字画作品管理、分类管理、字画交易管理、订单管理、订单配送和订单售后操作。商家用户通过作品管理模块发布作品、管理信息利用分类管理将作品按类别归类使用交易管理模块查看成交情况通过订单管理模块处理买家的订单对快递状态进行配送更新买家申请售后时由管理员审核并处理。商家用户用例图如图3-2所示。管理员在系统内可执行字画作品管理、分类管理、字画交易、订单管理、订单配送与订单售后操作。管理员对全站字画作品进行统一监管对分类体系进行调整与维护查看所有交易记录对商家与普通用户产生的订单进行全局管理监督配送流程并处理售后纠纷。管理员用例图如图3-3所示。系统流程设计总体业务流程图设计用户进入系统后根据自身身份选择登录或注册操作。普通用户登录后浏览字画作品可将作品添加至购物车在购物车中调整数量或移除作品确认购买意向后进入结算环节填写收货地址并提交订单。订单生成后用户需完成在线支付支付成功则订单状态更新为待发货支付失败可重新尝试。商家用户登录后管理字画作品信息处理买家订单确认订单无误后安排配送并更新物流状态。管理员登录后监管全站交易审核商家提交的作品信息处理售后纠纷。用户收到商品后可确认收货若商品存在问题可发起售后退款申请商家审核申请后进行处理。总体业务流程如图4-3所示。普通用户字画交易流程设计普通用户进入字画作品列表页面可按分类筛选或通过关键词搜索目标作品。用户点击作品卡片进入详情页面查看作品图片、作者信息、价格及库存情况。用户决定购买后点击加入购物车按钮系统将作品添加至购物车并保留当前浏览状态。用户进入购物车页面可修改购买数量或删除已选作品确认无误后点击去结算按钮。系统跳转至订单确认页面用户选择或新增收货地址核对商品信息与金额后提交订单。订单提交成功跳转至支付页面用户选择支付方式完成付款操作。普通用户字画交易流程如图4-4所示。商家用户订单处理流程设计商家用户登录后进入订单管理页面系统按订单状态分类展示待处理订单列表。商家点击待发货订单查看订单详情核对买家收货地址与商品信息。商家确认信息无误后点击发货按钮系统弹出配送信息填写窗口。商家输入物流单号并选择配送方式后提交订单状态变更为已发货。若买家发起售后申请商家在订单管理页面看到待处理售后标识点击进入售后详情查看买家退款理由与凭证图片。商家根据实际情况选择同意退款或拒绝退款操作完成后系统更新售后状态并通知买家。商家用户订单处理流程如图4-5所示。概念设计E-R图实体关系图是一种用来做数据建模的图形化工具描述实体、属性以及实体之间的关系。以图示的形式来辅助数据库结构的分析与设计清楚地表明数据间的相互联系利于后续的数据库开发及管理工作。下面给出系统全局E-R图以及各个实体的属性图[19]。字画作品实体主要包括作品编号、作品名称、作品分类、作品作者等属性。实体属性图如图4-8所示。普通用户实体主要包括用户姓名、用户手机、审核状态、用户id等属性。实体属性图如图4-9所示。商家用户实体主要包括商家姓名、商家手机、审核状态、用户id等属性。实体属性图如图4-10所示。订单实体主要包括订单号、商品标题、订单状态、总价等属性。实体属性图如图4-11所示。数据库DROP TABLE IF EXISTS logistics_delivery; CREATE TABLE logistics_delivery ( logistics_delivery_id int(11) NOT NULL AUTO_INCREMENT COMMENT 物流配送ID, order_number varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 订单号, product_name varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 商品名称, purchase_quantity varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 购买数量, total_transaction_amount double(10,2) DEFAULT 0.00 COMMENT 交易总额, the_date_of_issuance date DEFAULT NULL COMMENT 发货日期, delivery_number varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 配送订单, ordinary_users int(11) DEFAULT 0 COMMENT 普通用户, shipping_address varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 收货地址, delivery_status varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 配送状态, signing_status varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 签收状态, recommend int(11) NOT NULL DEFAULT 0 COMMENT 智能推荐, contact_name varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 联系人名字, merchant_id int(11) DEFAULT NULL COMMENT 商家id, create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, DROP TABLE IF EXISTS cart; CREATE TABLE cart ( cart_id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 购物车ID, title varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 标题, img varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 0 COMMENT 图片, user_id int(10) unsigned NOT NULL DEFAULT 0 COMMENT 用户ID, create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, state int(1) unsigned NOT NULL DEFAULT 0 COMMENT 状态使用中已失效, price double(8,2) NOT NULL DEFAULT 0.00 COMMENT 单价, price_ago double(8,2) NOT NULL DEFAULT 0.00 COMMENT 原价, price_count double(10,2) NOT NULL DEFAULT 0.00 COMMENT 总价, num int(8) unsigned NOT NULL DEFAULT 1 COMMENT 数量, goods_id mediumint(8) unsigned NOT NULL COMMENT 商品id, type varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 未分类 COMMENT 商品分类, description varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 描述, norms varchar(64) COLLATE utf8mb4_general_ci DEFAULT COMMENT 规格, PRIMARY KEY (cart_id) USING BTREE ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci COMMENT购物车; DROP TABLE IF EXISTS message_inform; CREATE TABLE message_inform ( message_inform_id int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 通知ID, user_id int(10) unsigned NOT NULL DEFAULT 0 COMMENT 通知人ID, title varchar(255) DEFAULT NULL COMMENT 标题, state varchar(255) DEFAULT NULL COMMENT 状态, type varchar(64) DEFAULT NULL COMMENT 分类, content varchar(255) DEFAULT NULL COMMENT 内容, create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, DROP TABLE IF EXISTS address; CREATE TABLE address ( address_id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 收货地址, name varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 姓名, phone varchar(13) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 手机, postcode varchar(8) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 邮编, address varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 地址, user_id mediumint(8) unsigned NOT NULL COMMENT 用户ID, create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间,代码template el-main classbg edit_wrap comtable_e el-form refform :modelform status-icon label-width120px v-ifis_view() el-row classrow_ce el-col :xs24 :sm12 :lg8 classel_form_item_warp el-form-item label订单号 proporder_number el-input :disabledtrue idorder_number v-modelform[order_number] placeholder请输入订单号 /el-input /el-form-item /el-col el-col :xs24 :sm12 :lg8 classel_form_item_warp el-form-item label商品名称 proptitle el-input :disabledtrue idtitle v-modelform[title] /el-input /el-form-item /el-col !--el-col :xs24 :sm12 :lg8 classel_form_item_warp el-form-item label价格 propprice el-input :disabledtrue idprice v-modelform[price] placeholder请输入购买数量 /el-input /el-form-item /el-col-- !--el-col :xs24 :sm12 :lg8 classel_form_item_warp el-form-item label购买数量 propnum el-input :disabledtrue idnum v-modelform[num] placeholder请输入购买数量 /el-input /el-form-item /el-col-- el-col :xs24 :sm12 :lg8 classel_form_item_warp el-form-item label交易总额 propprice_count el-input-number :disabledtrue idprice_count v-model.numberform[price_count] /el-input-number /el-form-item /el-col el-col :xs24 :sm12 :lg8 classel_form_item_warp el-form-item label卖家 propmerchant_id el-select v-modelform.merchant_id placeholder请选择 :disabledtrue el-option :key-1 label未选择 :value0 /el-option el-option v-for(o,i) in list_user :keyi :labelo.nickname :valueo.user_id /el-option /el-select /el-form-item /el-col el-col :xs24 :sm12 :lg8 classel_form_item_warp el-form-item label买家 propuser_id el-select v-modelform.user_id placeholder请选择 :disabledtrue el-option :key-1 label未选择 :value0 /el-option el-option v-for(o,i) in list_user :keyi :labelo.nickname :valueo.user_id /el-option /el-select /el-form-item /el-col el-col :xs24 :sm12 :lg8 classel_form_item_warp el-form-item label订单状态 propstate el-select idstate v-modelform.state :disabledtrue el-option v-foro in order_state_list :keyo :labelo :valueo /el-option /el-select /el-form-item /el-col el-col :xs24 :sm12 :lg8 classel_form_item_warp el-form-item label售后类型 proptype el-select idtype v-modelform[type] :disabledtrue el-option v-foro in after_state_type_list :keyo.value :labelo.label :valueo.value /el-option /el-select /el-form-item /el-col el-col :xs24 :sm12 :lg8 classel_form_item_warp el-form-item label售后内容 propcontent_desc el-input typetextarea v-modelform[content_desc] :disabledtrue/el-input /el-form-item /el-col el-col :xs24 :sm24 :lg24 classel_form_item_warp el-form-item label售后凭证 propimgs img styleheight:100px;margin-right:10px;width:auto;border-radius: 4px; v-for(item,index) in form[imgs] :src$fullUrl(item) :keyindex alt / /el-form-item /el-col el-col :xs24 :sm12 :lg8 classel_form_item_warp el-form-item label售后状态 propafter_state el-select idafter_state v-modelform[after_state] :disabledtrue el-option v-foro in list_aftersale_status :keyo :labelo :valueo /el-option /el-select /el-form-item /el-col el-col v-ifform[after_state]!未审核 :xs24 :sm12 :lg8 classel_form_item_warp el-form-item label售后回复 propafter_state_reply el-input typetextarea v-modelform[after_state_reply] :disabledtrue/el-input /el-form-item /el-col /el-row el-col :xs24 :sm12 :lg8 classel_form_btn_warp el-form-item v-if$check_action(/order_after_sale/view,set) el-button typeprimary clicksubmit()提交/el-button el-button clickcancel()取消/el-button /el-form-item el-form-item v-else el-button clickcancel()返回/el-button /el-form-item /el-col /el-form /el-main /template script import mixin from /mixins/page.js; export default { mixins: [mixin], data() { return { field: order_after_sale_id, url_add: ~/api/order_after_sale/add?, url_set: ~/api/order_after_sale/set?, url_get_obj: ~/api/order_after_sale/get_obj?, url_upload: ~/api/order_after_sale/upload?, query: { order_after_sale_id: 0, }, form: { order_number: , // 订单号 title: , // 商品名称 num: , // 购买数量 price: , // 单价 price_count: , // 交易总额 merchant_id:,//卖家 user_id:,//买家 order_after_sale_id: 0, // ID after_state:,//售后状态 after_state_reply:,//售后回复 content_desc:,//售后内容 imgs:[], type:,//售后类型 state:,//订单状态 }, disabledObj: { order_number_isDisabled: false, title_isDisabled: false, price_isDisabled: false, num_isDisabled: false, price_count_isDisabled: false, merchant_id_isDisabled: false, user_id_isDisabled: false, }, list_user: [], after_state_type_list:[ { label: 仅退款, value: 1 }, { label: 退货退款, value: 2 }, { label: 其他, value: 3 } ], order_state_list:[待付款,待发货,待签收,已签收,待退款,售后/退款], list_aftersale_status:[未审核,未通过,已通过] } }, methods: { /** * 获取对象之后 * param {Object} json * param {Object} func */ get_obj_after(json, func) { if (!this.form[after_state]) { this.form[after_state] 未审核; } if(!!this.form[imgs]){ this.form[imgs]JSON.parse(this.form[imgs]); } this.form[user_id]Number(this.form[user_id]) this.form[merchant_id]Number(this.form[merchant_id]) console.log( this.form) }, /** * 提交前验证事件 * param {Object} 请求参数 * return {String} 验证成功返回null, 失败返回错误提示 */ submit_check(param) { let msg null return msg; }, is_view() { var bl this.user_group 管理员; if (!bl) { bl this.$check_action(/order_after_sale/table, add); console.log(bl ? 你有表格添加权限视作有添加权限 : 你没有表格添加权限); } if (!bl) { bl this.$check_action(/order_after_sale/table, set); console.log(bl ? 你有表格添加权限视作有修改权限 : 你没有表格修改权限); } if (!bl) { bl this.$check_action(/order_after_sale/view, add); console.log(bl ? 你有视图添加权限视作有添加权限 : 你没有视图添加权限); } if (!bl) { bl this.$check_action(/order_after_sale/view, set); console.log(bl ? 你有视图修改权限视作有修改权限 : 你没有视图修改权限); } if (!bl) { bl this.$check_action(/order_after_sale/view, get); console.log(bl ? 你有视图查询权限视作有查询权限 : 你没有视图查询权限); } console.log(bl ? 具有当前页面的查看权请注意这不代表你有字段的查看权 : 无权查看当前页请注意即便有字段查询权限没有页面查询权限也不行); return bl; }, /** * 获取用户 */ async get_list_user() { var json await this.$get(~/api/user/get_list?); if (json.result) { this.list_user json.result.list; } else if (json.error) { console.error(json.error); } } }, created() { this.get_list_user() }, } /script普通用户功能实现字画交易功能实现普通用户通过字画交易模块完成作品的浏览与购买流程。前端页面发送请求至CalligraphyAndPaintingInformationController调用get_list方法获取字画列表数据该方法从数据库检索作品信息并返回分页结果。用户选择作品后提交订单请求OrderController中的add方法接收订单信息并写入数据库。字画交易界面如图5-1所示。图5-1 字画交易界面5.1.2我的地址管理功能实现用户管理收货地址时通过地址管理模块完成新增、修改、删除操作。前端提交地址数据至AddressControlleradd方法接收请求后校验地址信息非空调用addEntity方法将数据持久化至address表。修改地址时set方法接收查询条件与更新数据调用service.update完成记录更新。地址管理界面如图5-2所示。图5-2 我的地址管理界面5.1.3支付订单功能实现用户在订单确认页面选择支付方式后调用支付接口。OrderController接收支付请求根据订单号更新订单状态。系统在update方法中传入查询条件与状态参数将订单状态字段修改为“待发货”。支付成功后返回提示信息前端跳转至订单列表页面。支付订单界面如图5-3所示。图5-3 支付订单界面订单配送功能实现用户在订单详情页面点击查看配送信息时系统调用LogisticsDeliveryController的get_list方法。该方法根据订单号查询logistics_delivery表返回物流单号、配送状态、签收状态、发货日期等信息。前端页面将配送详情展示给用户。订单配送界面如图5-8所示。图5-8 订单配送界面管理员功能实现5.3.1字画作品管理功能实现管理员通过字画作品管理模块对全站作品进行监管。CalligraphyAndPaintingWorksController的get_list方法返回所有作品列表管理员可查看作品详情并执行下架操作。set方法接收更新参数将作品状态字段修改为已下架系统同时通知对应商家用户。字画作品管理界面如图5-15所示。图5-15 字画作品管理界面核心代码实现如下RequestMapping(/get_list)public MapString, Object getList(HttpServletRequest request) {MapString, Object map this.service.selectToPage(service.readQuery(request), service.readConfig(request));return success(map);}字画交易功能实现管理员查看全站交易记录时调用CalligraphyAndPaintingInformationController的get_list方法。该方法不附加用户筛选条件返回所有商家产生的交易数据。管理员可通过交易时间、作品名称等条件检索对异常交易进行标记处理。字画交易界面如图5-16所示。图5-16 字画交易界面核心代码实现如下RequestMapping(/get_list)public MapString, Object getList(HttpServletRequest request) {MapString, Object map this.service.selectToPage(service.readQuery(request), service.readConfig(request));return success(map);}分类管理功能实现管理员对作品分类体系进行全局维护时调用GoodsTypeController的add、set、del方法。新增分类时add方法校验分类名称非空后写入数据库修改分类时set方法根据分类ID更新记录删除分类时del方法检查该分类下是否存在关联作品若无关联方可删除。分类管理界面如图5-17所示。图5-17 分类管理界面源码获取私信联系我即可~大家点赞、收藏、关注、评论啦精彩专栏推荐订阅在下方专栏 精彩专栏 推荐订阅Java精品项目案例【2000套】https://blog.csdn.net/fykj_2010/category_13187274.htmlPython精品项目案例【500套】uniapp/微信小程序/安卓app【1800套】✅文末获取源码✅感兴趣的可以先收藏起来还有大家在毕设选题项目以及论文编写等相关问题都可以找我咨询希望帮助更多的人❤️