大家好!我是程序猿老A,感謝您閱讀本文,歡迎一鍵三連哦。
💞當前專欄:微信小程序畢業設計
精彩專欄推薦👇🏻👇🏻👇🏻
🎀 Python畢業設計
🌎Java畢業設計
開發運行環境
①前端:微信小程序開發工具
② 后端:Java
- 框架:ssm
- JDK版本:JDK1.8
- 服務器:tomcat7
- 數據庫:mysql 5.7
- 數據庫工具:Navicat12
- 開發軟件:eclipse/myeclipse/idea
- Maven包:Maven3.3.9
- 瀏覽器:谷歌瀏覽器
演示視頻
前端:
weixin091農場驛站平臺的設計與實現-微信端
后端:
weixin091農場驛站平臺的設計與實現-服務端
原版高清演示視頻-編號:091
https://pan.quark.cn/s/c0c9519df9d4
源碼下載地址:
https://download.csdn.net/download/2301_76953549/89089673
論文目錄
【如需全文請按文末獲取聯系】
一、項目簡介
農場驛站平臺在系統的安卓手機上可以運行,主要實現了管理員后端;首頁、個人中心、農場資訊管理、用戶管理、賣家管理、用戶分享管理、分享類型管理、商品信息管理、系統管理、訂單管理,賣家前端;首頁、農場資訊、用戶分享、商品信息、我的,用戶前端;首頁、農場資訊、用戶分享、商品信息、我的等主要功能模塊的操作和管理。
二、系統設計
2.1軟件功能模塊設計
系統結構圖,如圖4-3所示:
2.2數據庫設計
管理員信息屬性圖如圖4-4所示。
商品信息管理實體屬性圖如圖4-6所示。
賣家管理實體屬性圖如圖4-7所示。
三、系統項目部分截圖
3.1用戶前端功能模塊
用戶登錄,在用戶登錄頁面填寫賬號、密碼進行登錄,如圖5-1所示。
用戶登錄到農場驛站平臺可以查看首頁、農場資訊、用戶分享、商品信息、我的等內容,如圖5-2所示。
我的,在我的頁面可以查看用戶分享、用戶類型、我的收藏管理、用戶充值、在線客服、購物車、我的訂單等信息進行相對應操作,如圖5-3所示。
3.2管理員后端功能界面
管理員通過填寫用戶名、密碼、角色進行登錄,如圖5-12所示。
用戶管理,可以查看賬號、姓名、年齡、性別、手機、郵箱、照片等信息進行詳情、刪除操作,如圖5-13所示。
賣家管理,可以查看賣家賬號、賣家姓名、年齡、性別、手機、郵箱、照片等信息進行詳情、刪除操作,如圖5-14所示。
四、部分核心代碼
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.MaijiaEntity;
import com.entity.view.MaijiaView;import com.service.MaijiaService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;/*** 賣家* 后端接口* @author * @email * @date 2021-03-24 22:39:00*/
@RestController
@RequestMapping("/maijia")
public class MaijiaController {@Autowiredprivate MaijiaService maijiaService;@Autowiredprivate TokenService tokenService;/*** 登錄*/@IgnoreAuth@RequestMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {MaijiaEntity user = maijiaService.selectOne(new EntityWrapper<MaijiaEntity>().eq("maijiazhanghao", username));if(user==null || !user.getMima().equals(password)) {return R.error("賬號或密碼不正確");}String token = tokenService.generateToken(user.getId(), username,"maijia", "賣家" );return R.ok().put("token", token);}/*** 注冊*/@IgnoreAuth@RequestMapping("/register")public R register(@RequestBody MaijiaEntity maijia){//ValidatorUtils.validateEntity(maijia);MaijiaEntity user = maijiaService.selectOne(new EntityWrapper<MaijiaEntity>().eq("maijiazhanghao", maijia.getMaijiazhanghao()));if(user!=null) {return R.error("注冊用戶已存在");}Long uId = new Date().getTime();maijia.setId(uId);maijiaService.insert(maijia);return R.ok();}/*** 退出*/@RequestMapping("/logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 獲取用戶的session用戶信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Long id = (Long)request.getSession().getAttribute("userId");MaijiaEntity user = maijiaService.selectById(id);return R.ok().put("data", user);}/*** 密碼重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){MaijiaEntity user = maijiaService.selectOne(new EntityWrapper<MaijiaEntity>().eq("maijiazhanghao", username));if(user==null) {return R.error("賬號不存在");}user.setMima("123456");maijiaService.updateById(user);return R.ok("密碼已重置為:123456");}/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,MaijiaEntity maijia, HttpServletRequest request){EntityWrapper<MaijiaEntity> ew = new EntityWrapper<MaijiaEntity>();PageUtils page = maijiaService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, maijia), params), params));return R.ok().put("data", page);}/*** 前端列表*/@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,MaijiaEntity maijia, HttpServletRequest request){EntityWrapper<MaijiaEntity> ew = new EntityWrapper<MaijiaEntity>();PageUtils page = maijiaService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, maijia), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( MaijiaEntity maijia){EntityWrapper<MaijiaEntity> ew = new EntityWrapper<MaijiaEntity>();ew.allEq(MPUtil.allEQMapPre( maijia, "maijia")); return R.ok().put("data", maijiaService.selectListView(ew));}/*** 查詢*/@RequestMapping("/query")public R query(MaijiaEntity maijia){EntityWrapper< MaijiaEntity> ew = new EntityWrapper< MaijiaEntity>();ew.allEq(MPUtil.allEQMapPre( maijia, "maijia")); MaijiaView maijiaView = maijiaService.selectView(ew);return R.ok("查詢賣家成功").put("data", maijiaView);}/*** 后端詳情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){MaijiaEntity maijia = maijiaService.selectById(id);return R.ok().put("data", maijia);}/*** 前端詳情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){MaijiaEntity maijia = maijiaService.selectById(id);return R.ok().put("data", maijia);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody MaijiaEntity maijia, HttpServletRequest request){maijia.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(maijia);MaijiaEntity user = maijiaService.selectOne(new EntityWrapper<MaijiaEntity>().eq("maijiazhanghao", maijia.getMaijiazhanghao()));if(user!=null) {return R.error("用戶已存在");}maijia.setId(new Date().getTime());maijiaService.insert(maijia);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody MaijiaEntity maijia, HttpServletRequest request){maijia.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(maijia);MaijiaEntity user = maijiaService.selectOne(new EntityWrapper<MaijiaEntity>().eq("maijiazhanghao", maijia.getMaijiazhanghao()));if(user!=null) {return R.error("用戶已存在");}maijia.setId(new Date().getTime());maijiaService.insert(maijia);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody MaijiaEntity maijia, HttpServletRequest request){//ValidatorUtils.validateEntity(maijia);maijiaService.updateById(maijia);//全部更新return R.ok();}/*** 刪除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){maijiaService.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<MaijiaEntity> wrapper = new EntityWrapper<MaijiaEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = maijiaService.selectCount(wrapper);return R.ok().put("count", count);}}
五、獲取源碼或論文
如需對應的論文或源碼,以及其他定制需求,也可以點我頭像查看個人簡介聯系。