最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot帶你實(shí)現(xiàn)一個(gè)點(diǎn)餐小程序

 更新時(shí)間:2022年07月16日 09:53:43   作者:程序員springmeng  
有個(gè)小伙伴臨時(shí)找到我,要開發(fā)一個(gè)點(diǎn)餐的系統(tǒng),時(shí)間比較著急,給了2天的時(shí)間。馬馬虎虎的搞出來了,頭發(fā)掉了一撮!下面介紹下本系統(tǒng),感興趣的小伙伴,可以參考開發(fā)下

一,功能介紹

本點(diǎn)單系統(tǒng)主要是基于SpringBoot框架和小程序開發(fā)的,主要是為當(dāng)代人們的生活提供更便利、更高效的服務(wù),也為營(yíng)銷者提供更好的系統(tǒng)進(jìn)行用戶、商品、訂單等信息管理。

該系統(tǒng)所實(shí)現(xiàn)的主要功能模塊如下:

前臺(tái):

1)注冊(cè)登錄

2)個(gè)人中心

① 修改個(gè)人信息

② 修改收貨地址

③ 積分

3)商品瀏覽

4)商品搜索

5)購物車

6)下單支付后臺(tái):

1)注冊(cè)登錄

2)個(gè)人中心

① 修改個(gè)人信息

② 修改密碼

3)用戶管理

① 客戶信息管理

② 管理員信息管理

4)商品管理

① 商品分類管理

② 商品信息管理

③ 庫存與銷量

5)訂單管理

前臺(tái)提供用戶注冊(cè)登錄、個(gè)人中心、瀏覽商品、查找商品、添加商品入購物車、訂單提交以及支付等功能。后臺(tái)提供管理注冊(cè)登錄、修改密碼、修改個(gè)人信息、用戶信息管理、管理員信息管理、商品信息管理、商品分配管理、庫存與銷量統(tǒng)計(jì)、訂單管理等功能。

二,開發(fā)語言介紹

采用的SpringBoot+Vue+微信小程序進(jìn)行開發(fā),數(shù)據(jù)庫采用的是Mysql。

三,系統(tǒng)的界面介紹

四,核心代碼演示

/**
 * 登錄相關(guān)
 */
@RequestMapping("users")
@RestController
public class UserController{
	@Autowired
	private UserService userService;
	@Autowired
	private TokenService tokenService;
	/**
	 * 登錄
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("賬號(hào)或密碼不正確");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	/**
	 * 注冊(cè)
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用戶已存在");
    	}
        userService.insert(user);
        return R.ok();
    }
	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	/**
     * 密碼重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("賬號(hào)不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密碼已重置為:123456");
    }
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }
	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user"));
        return R.ok().put("data", userService.selectListView(ew));
    }
    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    /**
     * 獲取用戶的session用戶信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用戶已存在");
    	}
        userService.insert(user);
        return R.ok();
    }
    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
    	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
    	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
    		return R.error("用戶名已存在。");
    	}
        userService.updateById(user);//全部更新
        return R.ok();
    }
    /**
     * 刪除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}
/**
 * 訂單
 * 后端接口
 * @author 小孟v:jishulearn
 * @email
 * @date 2022-06-26 09:41:24
 */
@RestController
@RequestMapping("/orders")
public class OrdersController {
    @Autowired
    private OrdersService ordersService;
    @Autowired
    private CaipinxinxiService caipinxinxiService;
    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,OrdersEntity orders,
		HttpServletRequest request){
    	if(!request.getSession().getAttribute("role").toString().equals("管理員")) {
    		orders.setUserid((Long)request.getSession().getAttribute("userId"));
    	}
        EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>();
		PageUtils page = ordersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, orders), params), params));
        return R.ok().put("data", page);
    }
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,OrdersEntity orders, HttpServletRequest request){
        EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>();
		PageUtils page = ordersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, orders), params), params));
        return R.ok().put("data", page);
    }
	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( OrdersEntity orders){
       	EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>();
      	ew.allEq(MPUtil.allEQMapPre( orders, "orders"));
        return R.ok().put("data", ordersService.selectListView(ew));
    }
	 /**
     * 查詢
     */
    @RequestMapping("/query")
    public R query(OrdersEntity orders){
        EntityWrapper< OrdersEntity> ew = new EntityWrapper< OrdersEntity>();
 		ew.allEq(MPUtil.allEQMapPre( orders, "orders"));
		OrdersView ordersView =  ordersService.selectView(ew);
		return R.ok("查詢訂單成功").put("data", ordersView);
    }
    /**
     * 后端詳情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        OrdersEntity orders = ordersService.selectById(id);
        return R.ok().put("data", orders);
    }
    /**
     * 前端詳情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        OrdersEntity orders = ordersService.selectById(id);
        return R.ok().put("data", orders);
    }
    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody OrdersEntity orders, HttpServletRequest request){
    	orders.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(orders);
    	orders.setUserid((Long)request.getSession().getAttribute("userId"));
        ordersService.insert(orders);
        return R.ok();
    }
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody OrdersEntity orders, HttpServletRequest request){
    	orders.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(orders);
        CaipinxinxiEntity caipinxinxiEntity = caipinxinxiService.selectById(orders.getGoodid());
        if(caipinxinxiEntity.getStore()<orders.getBuynumber()){
            return R.error("庫存不足");
        }
        caipinxinxiEntity.setStore(caipinxinxiEntity.getStore()-orders.getBuynumber());
        caipinxinxiEntity.setSell(caipinxinxiEntity.getSell()+orders.getBuynumber());
        caipinxinxiService.updateById(caipinxinxiEntity);
        ordersService.insert(orders);
        return R.ok();
    }
    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody OrdersEntity orders, HttpServletRequest request){
        //ValidatorUtils.validateEntity(orders);
        ordersService.updateById(orders);//全部更新
        return R.ok();
    }

到此這篇關(guān)于SpringBoot帶你實(shí)現(xiàn)一個(gè)點(diǎn)餐小程序的文章就介紹到這了,更多相關(guān)SpringBoot點(diǎn)餐小程序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

  • 詳解Spring Security如何配置JSON登錄

    詳解Spring Security如何配置JSON登錄

    這篇文章主要介紹了詳解Spring Security如何配置JSON登錄,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • MyBatis和MyBatis Plus并存問題及解決

    MyBatis和MyBatis Plus并存問題及解決

    最近需要使用MyBatis和MyBatis Plus,就會(huì)導(dǎo)致MyBatis和MyBatis Plus并存,本文主要介紹了MyBatis和MyBatis Plus并存問題及解決,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-07-07
  • 利用Spring Boot創(chuàng)建docker image的完整步驟

    利用Spring Boot創(chuàng)建docker image的完整步驟

    這篇文章主要給大家介紹了關(guān)于如何利用Spring Boot創(chuàng)建docker image的完整步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 微服務(wù)鏈路追蹤Spring Cloud Sleuth整合Zipkin解析

    微服務(wù)鏈路追蹤Spring Cloud Sleuth整合Zipkin解析

    這篇文章主要為大家介紹了微服務(wù)鏈路追蹤Spring Cloud Sleuth整合Zipkin解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • 淺談JDK7和JDK8的區(qū)別在哪

    淺談JDK7和JDK8的區(qū)別在哪

    面試總是遇到這個(gè)問題,做一個(gè)小總結(jié),文中有非常詳細(xì)的介紹,對(duì)正在學(xué)習(xí)java的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • JAVA 文件監(jiān)控 WatchService的示例方法

    JAVA 文件監(jiān)控 WatchService的示例方法

    本篇文章主要介紹了JAVA 文件監(jiān)控 WatchService的示例方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • Java實(shí)現(xiàn)HTML轉(zhuǎn)為Word的示例代碼

    Java實(shí)現(xiàn)HTML轉(zhuǎn)為Word的示例代碼

    本文以Java代碼為例為大家詳細(xì)介紹如何實(shí)現(xiàn)將HTML文件轉(zhuǎn)為Word文檔(.docx、.doc)。在實(shí)際開發(fā)場(chǎng)景中可參考此方法來轉(zhuǎn)換,感興趣的可以了解一下
    2022-06-06
  • Java超詳細(xì)教你寫一個(gè)網(wǎng)絡(luò)購書系統(tǒng)案例

    Java超詳細(xì)教你寫一個(gè)網(wǎng)絡(luò)購書系統(tǒng)案例

    這篇文章主要介紹了怎么用Java來寫一個(gè)購書系統(tǒng),購買書籍主要需要每本書的編號(hào)、書名、單價(jià)、庫存屬性,能夠讓客戶通過編號(hào)來選書,感興趣的朋友跟隨文章往下看看吧
    2022-03-03
  • Java向數(shù)據(jù)庫插入中文出現(xiàn)亂碼解決方案

    Java向數(shù)據(jù)庫插入中文出現(xiàn)亂碼解決方案

    這篇文章主要介紹了Java向數(shù)據(jù)庫插入中文出現(xiàn)亂碼解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 最新評(píng)論

    永康市| 门头沟区| 莆田市| 仙桃市| 噶尔县| 鹤壁市| 永清县| 新密市| 大化| 吉水县| 尼木县| 黎平县| 互助| 岢岚县| 青浦区| 东平县| 遵义市| 嘉鱼县| 西华县| 汝城县| 庄河市| 伊通| 嘉峪关市| 额尔古纳市| 三河市| 黄平县| 临海市| 板桥市| 灵石县| 丰顺县| 林州市| 乌什县| 新宁县| 繁昌县| 益阳市| 通州市| 高要市| 行唐县| 河南省| 太白县| 临漳县|