色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于JAVA超市自助購物系統的設計與實現

DS小龍哥-嵌入式技術 ? 來源:DS小龍哥-嵌入式技術 ? 作者:DS小龍哥-嵌入式技 ? 2022-09-09 11:39 ? 次閱讀

【摘要】 基于RFID的自動識別技術,通過無線射頻方式實時獲得磁卡對超市物品的電子標簽進行讀取,然后將數據通過網絡傳輸至服務器,在應用層開發一個管理系統,對超市物品信息、店內消費等各種行為進行管理和顯示。系統需有登錄注冊功能,商品的信息管理,付款等功能。

一、設計需求

基于RFID的自動識別技術,通過無線射頻方式實時獲得磁卡對超市物品的電子標簽進行讀取,然后將數據通過網絡傳輸至服務器,在應用層開發一個管理系統,對超市物品信息、店內消費等各種行為進行管理和顯示。系統需有登錄注冊功能,商品的信息管理,付款等功能。

擬解決的主要問題:

(1)使用RFID自動識別技術,對超市商品信息進行讀取

(2) 將接受到的數據傳輸給服務器

(3)在應用層管理系統中對信息進行管理

(4) 管理員對整個后臺系統的商品進行管理

二、設計需求總結

整個系統的設計:

(1). (管理員操作)超市每上架一個新產品時,就在軟件端進行入庫注冊、注冊時填入商品的名稱、編號(可以使用UUID動態生成)、數量、價格、圖片、數據都保存在軟件端的數據庫里。

(2). (管理員操作)開卡-入庫: 上架的新產品入庫注冊之后,需要為這個產品辦理一張電子標簽卡,這個卡里存放著產品的編號;這個卡就放在產品貨架上(與產品對應),如果后面這個產品的信息如果查詢,就讀取電子標簽里的編號,到數據庫里查詢。

(3). (管理員操作)開卡和查詢的數據傳輸: 設備端與軟件端采用 TCP網絡方式進行通信;設備端當做TCP客戶端,軟件端當做TCP服務器;當設備端查詢產品的電子標簽時,設備端讀取編號之后,會通過約定的數據格式通過網絡傳遞給軟件端。 當軟件端開卡注冊時,也會用約定好的數據格式傳遞給設備端,如果設備端收到數據,開發板上的LED會點亮;這時把IC拿到RC522射頻模塊上刷一下即可;如果成功寫入LED燈就會關閉。

(4). 軟件端的設計:

有注冊界面、登錄界面;

主界面上顯示店內有所有登記入庫的商品信息,每個產品有圖片進行顯示、圖片下面就顯示產品的數量與價格;

管理員界面: 可以進行商品添加、設計價格、修改信息等。

查詢頁面: 輸入產品的信息,可以查詢產品的所有詳細信息。

顧客可以選擇購買的商品進行,然后點擊支付。

軟件端與硬件端的數據格式:

(1). 開卡注冊數據格式-字符串(軟件—>設備): register:86382684638434

(2). 設備查詢上傳的數據格式-字符串(設備—>軟件): query: 86382684638434

商品的編號限制在16個字節內。

這里的設備硬件部分采用STM32最小系統板當做刷卡器,完成對IC卡讀寫,如果不需要STM32也可以替換成其他掃碼槍之類的都可以的:

  1. RC522刷卡模塊負責對卡進行讀寫。
  2. ESP8266WIFI初始化工作在STA模式,連接到指定WIFI,與軟件所在的電腦處于同一個局域網,方便連接軟件端的服務器進行數據通信,每次設備開機將會自動連接到程序里設置好WIFI熱點和服務器。
  3. 設備端上有一個LED燈,用來顯示刷卡的狀態—成功與否。
imgimgimg

三、相關硬件

3.1 STM32F103最小系統板

img

STM32F系列屬于中低端的32位ARM微控制器,該系列芯片意法半導體(ST)公司出品,其內核是Cortex-M3。

該系列芯片按片內Flash的大小可分為三大類:小容量(16K和32K)、中容量(64K和128K)、大容量(256K、384K和512K)。

芯片集成定時器Timer,CANADC,SPI,I2CUSBUART等多種外設功能。

3.2 ESP8266串口WIFI

img

ESP8266 系列模組集成 Wi-Fi 芯片 ESP8266,設計緊湊、集成度高、RF 性能突出。通過 SRRC, FCC, CE 等多國無線電認證,適用于各類物聯網應用場景。

性能卓越

ESP8266EX 芯片內置超低功耗 Tensilica L106 32 位 RISC 處理器CPU 時鐘速度最?可達 160 MHz,?持實時操作系統 (RTOS) 和 Wi-Fi 協議棧,可將?達 80% 的處理能?應用于編程和開發。

高度集成

ESP8266 芯片高度集成天線開關、射頻巴倫、功率放大器、低噪聲接收放大器濾波器等射頻模塊。模組尺寸小巧,尤其適用于空間受限的產品設計。

認證齊全

RF 認證:SRRC、FCC、CE-RED、KCC、TELEC/MIC、IC 和 NCC 認證;

環保認證:RoHS、REACH;

可靠性認證:HTOL、HTSL、μHAST、TCT、ESD

豐富的產品應用

ESP8266 模組既可以通過 ESP-AT 指令固件,為外部主機 MCU 提供 Wi-Fi 連接功能;也可以作為獨立 Wi-Fi MCU 運行,用戶通過基于 RTOS 的 SDK 開發帶 Wi-Fi 連接功能的產品。用戶可以輕松實現開箱即用的云連接、低功耗運行模式,以及包括 WPA3 在內的 Wi-Fi 安全支持等功能。

3.3 RC522無線射頻模塊

img

MF RC522 是應用于13.56MHz 非接觸式通信中高集成度讀寫卡系列芯片中的一員。是NXP 公司針對“三表”應用推出的一款低 電壓、低成本、體積小的非接觸式讀寫卡芯片,是智能儀表和便攜式手持設備研發的較好選擇。

概述

MFRC522 是應用于13.56MHz 非接觸式通信中高集成度讀寫卡系列芯片中的一員。是NXP 公司針對“三表”應用推出的一款低 電壓、低成本、體積小的非接觸式讀寫卡芯片,是智能儀表和便攜 式手持設備研發的較好選擇。

MF RC522 利用了先進的調制和解調概念,完全集成了在13.56MHz 下所有類型的被動非接觸式通信方式和協議。支持 ISO14443A 的多層應用。其內部發送器部分可驅動讀寫器天線與ISO 14443A/MIFARE卡和應答機的通信,無需其它的電路。接收器部分提供一個堅固而有效的解調和解碼電路,用于處理ISO14443A 兼容的應答器信號。數字部分處理ISO14443A 幀和錯誤檢測(奇偶 &CRC)。此外,它還支持快速CRYPTO1 加密算法,用于驗證MIFARE 系列產品。MFRC522 支持MIFARE?更高速的非接觸式通信,雙向數據傳輸速率高達424kbit/s。

作為13.56MHz 高集成度讀寫卡系列芯片家族的新成員,MF RC522 與MF RC500和 MF RC530 有不少相似之處,同時也具備諸多特點和差異。它與主機間的通信采用連線較少的串行通信,且可根據不同的用戶需求,選取SPI、I2C 或串行UART(類似RS232)模式之一,有利于減少連線,縮小PCB 板體積,降低成本。

特性

◆高集成度的調制解調電路;

◆采用少量外部器件,即可將輸出驅動級接至天線;

◆支持 ISO/IEC 14443 TypeA 和MIFARE?通信協議;

◆ 讀寫器模式中與 ISO 14443A/MIFARE?的通信距離高達50mm,取決于天線的長度和調諧。

◆支持 ISO 14443 212kbit/s 和424kbit/s 的更高傳輸速率的通信。

◆支持 MIFARE? Classic 加密;

◆支持的主機接口

-10Mbit/s 的SPI 接口

-I2C 接口,快速模式的速率為400kbit/s,高速模式的速率為3400kbit/s

-串行UART,傳輸速率高達1228.8kbit/s,幀取決于RS232 接口,電壓電平取決于提供的管腳電壓

◆64 字節的發送和接收FIFO 緩沖區;

◆靈活的中斷模式;

◆可編程定時器。

◆具備硬件掉電、軟件掉電和發送器掉電 3 種節電模式,前兩種模式雷同于MFRC500 和 CL RC400,其特有的“發送器掉電”則可關閉內部天線驅動器,即關閉RF 場;

◆內置溫度傳感器,以便在芯片溫度過高時自動停止 RF 發射;

◆采用相互獨立的多組電源供電,以避免模塊間的相互干擾,提高工作的穩定性;

◆具備 CRC 和奇偶校驗功能,CRC 協處理器的16 位長CRC 計算多項式固定為:x16+x12+x5+1,符合ISO/1EC14443 和CCTITT 協議;

◆內部振蕩器,連接 27.12MHz 的晶體;

◆2.5~3.3V 的低電壓低功耗設計;

◆工作溫度范圍-30~+85℃;

◆5mm×5mm×0.85mm 的超小體積。

應用場合

MF RC522 適用于各種基于ISO/IEC 14443A 標準并且要求低成本、小尺寸、高性能以及單電源的非接觸式通信的應用場合。

▲三表;

▲板上單元;

▲公共交通終端;

▲便攜式手持設備;

▲非接觸式公用電話。

3.4 IC卡

img

IC卡 (Integrated Circuit Card,集成電路卡),也稱智能卡(Smart card)、智慧卡(Intelligent card)、微電路卡(Microcircuit card)或微芯片卡等。它是將一個微電子芯片嵌入符合ISO 7816標準的卡基中,做成卡片形式。IC卡與讀寫器之間的通訊方式可以是接觸式,也可以是非接觸式。由于IC卡具有體積小便于攜帶、存儲容量大、可靠性高、使用壽命長、保密性強安全性高等特點,IC卡的概念是在20世紀70年代初提出來的,法國的布爾公司于1976年首先創造出了IC卡產品,并將這項技術應用于金融、交通、醫療、身份證明等行業,它將微電子技術和計算機技術結合在一起,提高了人們工作、生活的現代化程度。

產品原理

IC卡是集成電路卡,IC卡芯片具有寫入數據和存儲數據的能力,可對IC卡存儲器中的內容進行判定。在卡上封裝有符合ISO標準的芯片,有6~8個觸點和外部設備進行通信,在IC卡上可以有彩色圖案和說明性文字按ISO標準,IC卡的部分觸點及其定義為:VCC:IC卡工作電源;GND:接地;VPP:存儲器編程電源;CLK:有關信號的定時與同步;I/O:卡中串行數據的輸入與輸出;RST:復位信號。當IC卡插入IC卡讀卡器后,各接點對應接通,IC卡上的超大規模集成電路就開始工作。

IC卡種類

根據卡中所鑲嵌集成電路的不同,IC卡可分為存儲卡、非接觸式IC卡、光卡、非接觸式智能IC卡、智能卡 。

存儲卡

存儲卡,也稱記憶卡(Memory Card),卡內有具有存儲功能的集成電路存儲器,還有數據存儲器(EEPROM)、工作存儲器(RAM)或程序存儲器(EPROM)。存儲卡使用半導體存儲器。存儲器中所有存儲單元的總和稱為存儲容量,存儲卡的最大容量目前為512 KB。存儲卡讀出/寫入一個字的時間稱作讀/寫時間,讀寫器在接收地址和讀命令時,即可將卡中的內容讀出,讀出時間約為幾微秒,讀寫器在送來地址、要寫數據和寫命令時,即可進行寫入,寫入一個數據的時間比讀出一個數據的時間長得多,一般需要5~10 ms。

非接觸式IC卡

非接觸式IC卡又稱射頻卡,是近幾年發展起來的一項新技術,它將射頻識別技術和IC卡技術結合在一起,解決了無源(卡中無電源)和免接觸的技術問題。

非接觸式IC卡與接觸式IC卡相比有以下特點:

(1)可靠性高。由于讀寫之間無機械接觸,避免了由于接觸讀寫而產生的各種故障;且非接觸式IC卡表面無裸露的芯片,無芯片脫落、靜電擊穿、彎曲損害等后顧之憂 。

(2)操作方便。無接觸通信使讀寫器在10 cm的范圍內就可以對卡片進行操作,且非接觸式IC卡在使用時無方向性,卡片可以以任意方向掠過讀寫器表面完成操作,既方便又提高了速度 。

(3)防沖突。非接觸式IC卡中有快速防沖突機制,能防止卡片之間出現數據干擾,讀寫器可以“同時”處理多張非接觸式IC卡 。

(4)可以適應多種應用。非接觸式Ic卡存儲器結構的特點使其適于一卡多用,可以根據不同的應用設定不同的密碼和訪問條件 。

(5)加密性能好。非接觸式IC卡的序號是唯一的,在出廠前已固化,其與讀寫器之間有雙向驗證機制;非接觸式IC卡在處理前要與讀寫器進行3次相互認證。

四、硬件設備成品效果圖

imgimgimg

程序需要修改的地方:

imgimg

五、硬件設備端代碼

img

完整資料可以去這里下載: 
https://download.csdn.net/download/xiaolong1126626497/20687551
#include "stm32f10x.h"
#include "led.h"
#include "delay.h"
#include "key.h"
#include "usart.h"
#include 
#include "timer.h"
#include "esp8266.h"
#include "RFID_RC522.h"

/*
相關的硬件連接引腳說明:
LED----PC13
KEY----PA0
ESPB266---PB10(TX)(ESP8266-RX)  和PB11(RX)(ESP8266-TX) 

RC522射頻模塊外部的接口:    
*1--SDA <----->PB5--片選腳
*2--SCK <----->PB4--時鐘線
*3--MOSI<----->PA12--輸出
*4--MISO<----->PA11--輸入
*5--懸空
*6--GND <----->GND
*7--RST <----->PA8--復位腳
*8--VCC <----->VCC
*/
//u8 KEY[6]={0xff,0xff,0xff,0xff,0xff,0xff}; //卡密碼-初始密碼--白卡的出廠密碼--
//u8 MIMA_1[16]={88,88,88,88,88,88,0xff,0x07,0x80,0x29,88,88,88,88,88,88}; //扇區1的密碼 格式(A密碼 控制位  B密碼 )
//u8 MIMA_2[16]={88,88,88,88,88,88};//扇區1的A密碼
unsigned char SN[4]={88,88,88,88}; //默認卡號

char SendBuff[10];

/*
函數功能: 打印卡號
*/
void print_info(unsigned char *p,int cnt)
{
  int i;
	for(i=0;i=20)
        {
            cnt=0;
            LED1=!LED1;
        }
       
        //接收服務器下發的數據
        if(USART3_RX_FLAG)
        {
          USART3_RX_BUFFER[USART3_RX_CNT]='\0';
          USART1_Printf("%s",USART3_RX_BUFFER);
          USART3_RX_CNT=0;
          USART3_RX_FLAG=0;
        }
        
        //讀取卡號
        if(ReadCardNumber())
        {
            sprintf(SendBuff,"%x%x%x%x\r\n",SN[0],SN[1],SN[2],SN[3]);
            ESP8266_ClientSendData((u8*)SendBuff,strlen(SendBuff)); 
        }
        
        //查看連接狀態
        key=KEY_Scan(0);
        if(key) //發送AT
        {
            USARTx_StringSend(USART3,"AT+CIPSTATUS\r\n");  //查看狀態信息
        }
   }
}
;i++)>

六、JAVA端效果圖

如果完整資料包可以去這里下載地址: https://download.csdn.net/download/xiaolong1126626497/20687551

配套資料齊全,視頻講解代碼,部署環境。

imgimgimgimgimgimgimg

七、JAVA端的代碼

img
package com.controller;

import java.io.IOException;

import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.common.bean.MySessionContext;
import com.common.bean.ResultData;
import com.common.bean.WebSocketProductHolder;
import com.entity.Product;
import com.mapper.ProductMapper;

@RestController()
@RequestMapping("/product")
public class ProductController {
	@Autowired
	private ProductMapper pm;
	@PostMapping("update.action")
	ResultData update(String token,@RequestBody Product update) {
		 HttpSession ss = MySessionContext.getSession(  token );
		 if( ss == null ) {
			 return ResultData.fail("請先登錄!");
		 }
		 pm.update( update );
		 return ResultData.success();
	}

	@PostMapping("byid.action")
	ResultData getById(String token,@RequestBody Product query) {
		 HttpSession ss = MySessionContext.getSession(  token );
		 if( ss == null ) {
			 return ResultData.fail("請先登錄!");
		 }
		 return ResultData.success().setData( pm.getById( query.getId() ) );
	}
	 
	@PostMapping("delete.action")
	ResultData deletePro(String token,@RequestBody Product delpro) {
		 HttpSession ss = MySessionContext.getSession(  token );
		 if( ss == null ) {
			 return ResultData.fail("請先登錄!");
		 }
		 pm.deletePro( delpro );
		 return ResultData.success();
	}
	
	@PostMapping("query.action")
	ResultData query(String token,@RequestBody Product query) {
		 HttpSession ss = MySessionContext.getSession(  token );
		 if( ss == null ) {
			 return ResultData.fail("請先登錄!");
		 }
		 return ResultData.success().setData( pm.query( query ) );
	}
	@PostMapping("all.action")
	ResultData getAll(String token) {
		 HttpSession ss = MySessionContext.getSession(  token );
		 if( ss == null ) {
			 return ResultData.fail("請先登錄!");
		 }
		 return ResultData.success().setData( pm.getAll() );
	}
	
	@PostMapping("add.action")
	ResultData addUser(String token,@RequestBody Product pro) {
		 HttpSession ss = MySessionContext.getSession(  token );
		 if( ss == null ) {
			 return ResultData.fail("請先登錄!");
		 }
		 pm.add( pro );
		 
		 try {
			 //把商品的編號通過TCP長連接傳給STM32,寫入rfid卡。
			WebSocketProductHolder.register(pro.getId()+"");
		} catch (IOException e) {
			 System.out.println("注冊失敗!");
		}
		 return ResultData.success();
	}
	
}
package com.controller;

import java.io.File;
import java.io.IOException;
import java.util.UUID;

import javax.servlet.http.HttpServletRequest;

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

@RestController
@RequestMapping("/upload")
public class UpLoadController {
	@PostMapping("/uploadImg")
    public String uploadImg(@RequestParam("file") MultipartFile file, HttpServletRequest rq){
        //獲取上傳文件名,包含后綴
        String originalFilename = file.getOriginalFilename();
        //獲取后綴
        String substring = originalFilename.substring(originalFilename.lastIndexOf("."));
        //保存的文件名
        String dFileName = UUID.randomUUID()+substring;
        //保存路徑
        //springboot 默認情況下只能加載 resource文件夾下靜態資源文件
        String path = "D:\\uploadimg\";
        //生成保存文件
        File uploadFile = new File(path+dFileName);
        System.out.println(uploadFile);
        //將上傳文件保存到路徑
        try {
            file.transferTo(uploadFile);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return uploadFile.getName();
    }
 
}
package com.controller;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.common.bean.MySessionContext;
import com.common.bean.ResultData;
import com.entity.User;
import com.mapper.UserMapper;

@RestController()
@RequestMapping("/user")
public class UserController {
	@Autowired
	private UserMapper um;
	
	@PostMapping("changepswd.action")
	ResultData changePswd(String token,@RequestBody Map map) {
		 HttpSession ss = MySessionContext.getSession(  token );
		 if( ss == null ) {
			 return ResultData.fail("請先登錄!");
		 }
		 User uu = (User) ss.getAttribute("login_user");
		 if( uu == null )  return ResultData.fail("請先登錄!");
		 String password = map.get("password");
		 String newpassword = map.get("password2");
		 int num = um.updatePassword(uu.getId(), password, newpassword);
		 if( num > 0) return ResultData.success();
		  return ResultData.fail("原始密碼錯誤");
	}
	@PostMapping("adduser.action")
	ResultData addUser(String token,@RequestBody User user) {
		 HttpSession ss = MySessionContext.getSession(  token );
		 if( ss == null ) {
			 return ResultData.fail("請先登錄!");
		 }
		 
		 User uu = (User) ss.getAttribute("login_user");
		 System.out.println( uu );
		 if( uu == null )  return ResultData.fail("請先登錄!");
		 
		 if( !("admin".equalsIgnoreCase(uu.getRole()) ||
				    "root".equals( uu.getRole() )    )  )   {
			 return ResultData.fail("請用管理員賬號登錄再添加");
		 }
		 um.addUser(user);
		 return ResultData.success();
	}
	
	@PostMapping("delete.action")
	ResultData deleteUser(String token,@RequestBody User user) {
		 System.out.println( user);
		 HttpSession ss = MySessionContext.getSession(  token );
		 if( ss == null ) {
			 return ResultData.fail("請先登錄!");
		 }
		 
		 User uu = (User) ss.getAttribute("login_user");
		 if( uu == null )  return ResultData.fail("請先登錄!");
		 if("admin".equalsIgnoreCase(user.getRole()) || "root".equals( user.getRole() ))  return ResultData.fail("無法刪除管理員用戶!");
		 
		 if( !("admin".equalsIgnoreCase(uu.getRole()) ||
				    "root".equals( uu.getRole() )    )  )   {
			 return ResultData.fail("請用管理員賬號登錄再刪除");
		 }
		 um.deleteUser(user);
		return ResultData.success();
	}
	@PostMapping("getall.action")
	ResultData getAll(String token) {
		 HttpSession ss = MySessionContext.getSession(  token );
		 if( ss == null ) {
			 return ResultData.fail("請先登錄!");
		 }
		List list = um.getAll();
		for(User u:list) {
			u.setPassword(null);
		}
		return ResultData.success().setData( list );
	}
	@PostMapping("logout.action")
	ResultData getAllUser(String token) {
		 HttpSession ss = MySessionContext.getSession(  token );
		 if( ss != null ) {
			 ss.invalidate();
		 }
		return  ResultData.success();
	}
	
	@PostMapping("login.action")
	ResultData login(@RequestBody User user,HttpSession ss) {
		User rs = um.Login( user );
		if(rs != null ) {
			rs.setPassword( null );
			ss.setAttribute("login_user", rs );
			MySessionContext.AddSession( ss );
			return  ResultData.success().setData( rs ).setToken(ss.getId() );
		}else {
			return ResultData.fail("用戶名或密碼錯誤!");
		}
	}
}
,string>
package com.controller;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.common.bean.MySessionContext;
import com.common.bean.ResultData;
import com.entity.Order;
import com.mapper.OrderMapper;

@RestController()
@RequestMapping("/order")
public class OrderController {
	
	@Autowired
	private OrderMapper ordermapper;
	
	@PostMapping("calc.action")
	ResultData update(String token,@RequestBody  List list) {
		 HttpSession ss = MySessionContext.getSession(  token );
		 if( ss == null ) {
			 return ResultData.fail("請先登錄!");
		 }
		 for( Order od : list ) {
			 ordermapper.add( od );
		 }
		 return ResultData.success();
	}
	@PostMapping("query.action")
	ResultData query(String token,@RequestBody  Map map) {
		 HttpSession ss = MySessionContext.getSession(  token );
		 if( ss == null ) {
			 return ResultData.fail("請先登錄!");
		 }
		 
		 long t1 = map.get("start");
		 long t2 = map.get("end");
		 Date d1 = new Date();d1.setTime(t1);
		 Date d2 = new Date();d2.setTime(t2);
		 String start = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format( d1 );
		 String end = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format( d2 );
		 List list = ordermapper.query(start, end);
		 
		 return ResultData.success().setData( list );
	}

},long>
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5087

    文章

    19148

    瀏覽量

    306189
  • RFID
    +關注

    關注

    388

    文章

    6176

    瀏覽量

    238130
  • JAVA
    +關注

    關注

    19

    文章

    2972

    瀏覽量

    104868
收藏 人收藏

    評論

    相關推薦

    [推薦]Java超市購物進銷存系統

    Java超市購物進銷存系統 http://bbs.ibeifeng.com/read.php?tid=158&u=214138
    發表于 02-18 20:46

    智能自助服務超市購物

    為解決超市購物結算等候時間過長的問題,提出一款智能購物車的方案:用戶在超市購物后將商品條碼信息掃描錄入到
    發表于 11-16 22:47

    【OK210申請】基于RFID的智能購物

    技術實現一個超市智能購物系統實現購物車,服務器,商品和手機等設備的智能互連,具有很好的技術鍛
    發表于 06-25 15:43

    【Tisan物聯網申請】智能超市

    申請理由:通過RFID實現超市購物智能化項目描述:通過RFID技術極大的減少了超市的工作壓力,將每個購物車與支付
    發表于 10-21 10:18

    無人超市物聯網的相關技術

    大大節省了超市工作人員的人力資源;除此之外,消費者也能通過智能購物車的查詢功能,查詢到希望購買的價格情況和剩余數量,并與智能貨架系統建立連接,實現快速定位,引導消費者短時間內找到所需的
    發表于 10-10 14:57

    嵌入式計算機用于自助售貨亭有什么優勢?

    自助售貨亭已被應用在世界上很多的超市、便利店中。對于消費者而言,該系統為他們提供了一個方便、快捷、輕松的購物方式。對于商家,自助售貨亭可以有
    發表于 10-21 06:06

    浙江省大學生機器人競賽之超市購物賽小車設計書 精選資料推薦

    針對浙江省大學生機器人競賽之超市購物賽,提出了一種購物車的設計方案,所述購物車可以完成比賽的功能要求。
    發表于 08-09 06:21

    基于RFID自動識別技術的超市自助購物系統的設計

    一、設計需求基于RFID的自動識別技術,通過無線射頻方式實時獲得磁卡對超市物品的電子標簽進行讀取,然后將數據通過網絡傳輸至服務器,在應用層開發一個管理系統,對超市物品信息、店內消費等各種行為進行
    發表于 11-10 07:41

    大型購物超市倉庫管理系統的設計與實現

    基于J2EE 架構在購物超市原有的EIS 系統上,設計實現了一套靈活的倉庫庫存管理和自動采購系統實現
    發表于 08-24 10:36 ?26次下載

    基于RFID射頻卡的超市購物結算系統項目開發

    使用RF卡標識超市商品,用戶進入超市后使用手機掃描超市購物車上的二維碼(二維碼和車上的RF卡綁定在一起),掃描后手機終端把購物車上的信息發送
    發表于 11-24 09:09 ?1946次閱讀

    如何使用AVR單片機進行超市智能購物系統設計與實現

    較詳盡地介紹了基于AVR單片機的超市智能購物系統的軟硬件設計方案。系統以ATmega128 單片機為主控芯片,采用TT公司的CC2530芯片,通過ZigBee技術結合PC機的數據庫功能
    發表于 04-29 08:00 ?1次下載

    使用Java實現超市貨物管理系統的資料合集免費下載

    本文檔的主要內容詳細介紹的是使用Java實現超市貨物管理系統的資料合集免費下載。
    發表于 05-29 08:00 ?2次下載
    使用<b class='flag-5'>Java</b><b class='flag-5'>實現</b><b class='flag-5'>超市</b>貨物管理<b class='flag-5'>系統</b>的資料合集免費下載

    基于JAVA超市自助購物系統的設計與實現

    一、設計需求基于RFID的自動識別技術,通過無線射頻方式實時獲得磁卡對超市物品的電子標簽進行讀取,然后將數據通過網絡傳輸至服務器,在應用層開發一個管理系統,對超市物品信息、店內消費等各種行為進行
    發表于 11-05 18:20 ?3次下載
    基于<b class='flag-5'>JAVA</b><b class='flag-5'>超市</b><b class='flag-5'>自助</b><b class='flag-5'>購物</b><b class='flag-5'>系統</b>的設計與<b class='flag-5'>實現</b>

    超市自助收銀結算設備解決方案

    啟揚基于RK3288主板提出超市自助收銀結算設備解決方案,現自助購物,智慧收銀,用戶可自主完成整個購物收銀流程
    的頭像 發表于 07-27 16:40 ?1270次閱讀
    <b class='flag-5'>超市</b><b class='flag-5'>自助</b>收銀結算設備解決方案

    智能購物車方案

    智能購物車(smart shopping cart )是一種新型的超市購物手推車,除了具備普通購物車裝載貨物的功能,還具有支持用戶自助掃碼
    的頭像 發表于 07-20 18:25 ?3267次閱讀
    智能<b class='flag-5'>購物</b>車方案
    主站蜘蛛池模板: 2019一級特黃色毛片免費看| 欧美丰满少妇久久无码精品| 精品人妻无码一区二区三区蜜桃臀| 欧美精品成人a多人在线观看| 99日影院在线播放| 精品免费在线视频| 最新高清无码专区| 日韩成人性视频| SORA是什么意思| 小草观看免费高清视频| 久久九九青青国产精品| jj插入bb| 清冷受被CAO的合不拢| 91麻豆精品| 色吧电影院| 九九久久国产| 办公室里做好紧好爽H| 亚洲精品www久久久久久| 国产亚洲日韩另类在线观看| 最近2019年日本中文免费字幕| 日本50人群体交乱| 公和熄洗澡三级中文字幕| 色淫阁色九九| 老熟女毛茸茸浓毛| 99精品99| 欧美黑人巨大videos免费| 国产精品第一综合首页| 小短文H啪纯肉公交车| 老师扒开尿口男生摸尿口| 国产成人在线视频网站| 最近中文字幕完整版免费| 小伙无套内射老女人| 女性露出奶头流出精子| 国内精品久久久久久久试看 | 伊人久久亚洲精品一区| 日日色在线影院| 老头xxx| 国产亚洲精品影视在线| 憋尿调教绝望之岛| 午夜深情在线观看免费| 国内极度色诱视频网站|