@@ -0,0 +1,76 @@ | |||
# Compiled source # | |||
################### | |||
*.com | |||
*.class | |||
*.dll | |||
*.exe | |||
*.o | |||
*.so | |||
# Packages # | |||
############ | |||
# it's better to unpack these files and commit the raw source | |||
# git has its own built in compression methods | |||
*.7z | |||
*.dmg | |||
*.gz | |||
*.iso | |||
*.rar | |||
*.tar | |||
*.zip | |||
*.war | |||
# Logs and databases # | |||
###################### | |||
*.log | |||
# OS generated files # | |||
###################### | |||
.DS_Store* | |||
ehthumbs.db | |||
Icon? | |||
Thumbs.db | |||
# Editor Files # | |||
################ | |||
*~ | |||
*.swp | |||
# Gradle Files # | |||
################ | |||
.gradle | |||
# Build output directies | |||
/target | |||
*/target | |||
/build | |||
*/build | |||
/log | |||
# IntelliJ specific files/directories | |||
out | |||
.idea | |||
*/*.idea | |||
*.ipr | |||
*.iws | |||
*.iml | |||
/*.iml | |||
*/*.iml | |||
# Eclipse specific files/directories | |||
.classpath | |||
.project | |||
.settings | |||
.metadata | |||
.myeclipse | |||
.factorypath | |||
# NetBeans specific files/directories | |||
.nbattrs | |||
# Subversion directory # | |||
.svn | |||
/bin/ | |||
config-server/src/main/resources/yml-config/*-local.yml |
@@ -0,0 +1,3 @@ | |||
__pycache__/ | |||
dist/ | |||
main.spec |
@@ -0,0 +1,3 @@ | |||
pyinstaller --onefile main.py | |||
copy *.dll dist\ | |||
pause |
@@ -0,0 +1,153 @@ | |||
# encoding:utf-8 | |||
from http.server import HTTPServer,SimpleHTTPRequestHandler | |||
from PySmartCard.CpuCard import PcscReader | |||
import time | |||
def getbits(intger): | |||
tmp = intger | |||
b = 0 | |||
while(tmp): | |||
tmp >>= 1 | |||
b += 1 | |||
return b - 1 | |||
class cardReaderHelper: | |||
cardReader = None | |||
cardReaderName = "" | |||
def __init__(self): | |||
self.cardReader = PcscReader() | |||
def open(self): | |||
names = self.cardReader.get_pcsc_readerlist() | |||
if len(names) > 0: | |||
self.cardReaderName = names.split(";")[0] | |||
if len(self.cardReaderName) > 0: | |||
print("Found Card Reader:", self.cardReaderName) | |||
return True | |||
else: | |||
print("Can't Found Any Card Reader") | |||
return False | |||
def connect(self): | |||
return self.cardReader.connect_device(self.cardReaderName) | |||
def disconnect(self): | |||
self.cardReader.disconnect_device() | |||
def search(self, timeout): | |||
i = timeout | |||
ATR = "" | |||
while(i > 0): | |||
i -= 1 | |||
ATR = self.connect() | |||
if len(ATR) > 0: | |||
break | |||
else: | |||
self.disconnect() | |||
time.sleep(1) | |||
return ATR | |||
def poweron(self): | |||
if self.cardReader.power_on(1) == 0: | |||
return True | |||
else: | |||
self.disconnect() | |||
return False | |||
def __sendAPDU(self, send, readertype=None): | |||
recv = {"data":"","sw":"","sw1":"","sw2":"","empty":True} | |||
print("Send",send) | |||
result = self.cardReader.send_apdu(send, readertype) | |||
if len(result) > 0: | |||
recv["empty"] = False | |||
recv["data"] = result[:-4] | |||
recv["sw"] = result[-4:] | |||
recv["sw1"] = result[-4:-2] | |||
recv["sw2"] = result[-2:] | |||
print("Recv",recv["data"], recv["sw1"], recv["sw2"], recv["sw"], recv["empty"]) | |||
return recv | |||
def transfer(self, send, readertype=None): | |||
recv = self.__sendAPDU(send, readertype) | |||
if not recv["empty"]: | |||
if recv["sw1"] == "61": | |||
apdu = "00C00000" + recv["sw2"] | |||
recv = self.__sendAPDU(apdu, readertype) | |||
elif recv["sw1"] == "6C": | |||
apdu = send[0:8] + recv["sw2"] | |||
recv = self.__sendAPDU(apdu, readertype) | |||
return recv | |||
def prase(self, recv): | |||
cardCode="" | |||
if not recv["empty"]: | |||
if "9000" == recv["sw"]: | |||
raw = recv["data"] | |||
cur = 0 | |||
while(cur >= 0): | |||
old_cur = cur | |||
cur = raw.find("80", old_cur) | |||
if cur >= 0: | |||
if "03838D" == raw[cur+4:cur+10] or "0301DD" == raw[cur+4:cur+10]: | |||
r_len = int(raw[cur+2:cur+4], 16) | |||
code = int(raw[cur+10:cur+r_len*2+4], 16) | |||
code &= ~(1<<getbits(code)) | |||
code >>= 4 | |||
cardCode = str(code) | |||
print("Prase Card Code ", cardCode) | |||
break | |||
else: | |||
print("Prase Card Code Failed") | |||
if cur == old_cur: | |||
cur += 1 | |||
else: | |||
print("Receive Error "+ recv["sw"]) | |||
return cardCode | |||
class My_RequestHandler(SimpleHTTPRequestHandler): | |||
def do_GET(self): | |||
readResult = {"message":"读卡失败,请再次尝试", "result":""} | |||
reader = cardReaderHelper() | |||
if reader.open(): | |||
if len(reader.search(10)) > 0: | |||
if reader.poweron(): | |||
recv = reader.transfer("FF70076B07A005BE0380010400", 1) | |||
reader.disconnect() | |||
if not recv["empty"]: | |||
code = reader.prase(recv) | |||
if(len(code) > 0): | |||
readResult["message"] = "读卡成功" | |||
readResult["result"] = code | |||
else: | |||
readResult["message"]="读卡失败: " + recv["sw"] | |||
else: | |||
readResult["message"]="读卡失败" | |||
else: | |||
readResult["message"]="卡上电失败" | |||
else: | |||
readResult["message"]="没有搜索到卡片" | |||
result = "{\"code\":\"200\",\"message\":\"" + readResult["message"] + "\",\"result\":\""+ readResult["result"] +"\"}" | |||
print(result) | |||
self.send_response(200) | |||
self.send_header('Content-type','text/plain; charset=utf-8') | |||
self.send_header('Access-Control-Allow-Origin', self.headers['Origin']) | |||
self.send_header('Access-Control-Allow-Credentials', 'true') | |||
self.send_header("Access-Control-Allow-Headers", "authorization") | |||
self.end_headers() | |||
self.wfile.write(bytes(result, "utf8")) | |||
def do_OPTIONS(self): | |||
self.send_response(200, "ok") | |||
self.send_header('Access-Control-Allow-Origin', self.headers['Origin']) | |||
self.send_header('Access-Control-Allow-Credentials', 'true') | |||
self.send_header("Access-Control-Allow-Headers", "authorization") | |||
self.end_headers() | |||
def run(server_class=HTTPServer, handler_class=My_RequestHandler): | |||
server_address = ('', 8000) | |||
httpd = server_class(server_address, handler_class) | |||
print("Start Service!") | |||
httpd.serve_forever() | |||
if __name__ == "__main__": | |||
run() |
@@ -0,0 +1,126 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<project xmlns="http://maven.apache.org/POM/4.0.0" | |||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |||
<modelVersion>4.0.0</modelVersion> | |||
<groupId>com.neusoft.smart.pos</groupId> | |||
<artifactId>common</artifactId> | |||
<version>1.0-SNAPSHOT</version> | |||
<packaging>jar</packaging> | |||
<properties> | |||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | |||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> | |||
<java.version>1.8</java.version> | |||
</properties> | |||
<dependencies> | |||
<dependency> | |||
<groupId>com.neusoft.smart.pos</groupId> | |||
<artifactId>framework</artifactId> | |||
<version>1.0-SNAPSHOT</version> | |||
</dependency> | |||
<!-- MySql数据库驱动 --> | |||
<dependency> | |||
<groupId>mysql</groupId> | |||
<artifactId>mysql-connector-java</artifactId> | |||
<version>5.1.39</version> | |||
<scope>provided</scope> | |||
</dependency> | |||
<dependency> | |||
<groupId>com.alibaba</groupId> | |||
<artifactId>druid</artifactId> | |||
<version>1.1.2</version> | |||
<scope>provided</scope> | |||
</dependency> | |||
<!-- mybatis代码自动生成 --> | |||
<dependency> | |||
<groupId>org.mybatis.generator</groupId> | |||
<artifactId>mybatis-generator-core</artifactId> | |||
<version>1.3.5</version> | |||
<scope>provided</scope> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.mybatis.spring.boot</groupId> | |||
<artifactId>mybatis-spring-boot-starter</artifactId> | |||
<version>1.1.1</version> | |||
<scope>provided</scope> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.projectlombok</groupId> | |||
<artifactId>lombok</artifactId> | |||
<version>1.16.18</version> | |||
<scope>provided</scope> | |||
</dependency> | |||
<dependency> | |||
<groupId>io.springfox</groupId> | |||
<artifactId>springfox-swagger2</artifactId> | |||
<version>2.6.1</version> | |||
<scope>provided</scope> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.hibernate</groupId> | |||
<artifactId>hibernate-validator</artifactId> | |||
<version>5.3.6.Final</version> | |||
<scope>provided</scope> | |||
</dependency> | |||
<dependency> | |||
<groupId>com.alibaba</groupId> | |||
<artifactId>fastjson</artifactId> | |||
<version>RELEASE</version> | |||
<scope>provided</scope> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.springframework.boot</groupId> | |||
<artifactId>spring-boot-starter-amqp</artifactId> | |||
<version>RELEASE</version> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.apache.commons</groupId> | |||
<artifactId>commons-lang3</artifactId> | |||
<version>3.9</version> | |||
</dependency> | |||
</dependencies> | |||
<!-- 数据库映射生成工具 --> | |||
<build> | |||
<plugins> | |||
<plugin> | |||
<groupId>org.mybatis.generator</groupId> | |||
<artifactId>mybatis-generator-maven-plugin</artifactId> | |||
<version>1.3.3</version> | |||
<configuration> | |||
<configurationFile>src/test/resources/mybatis/mybatis-generator/generatorConfig.xml | |||
</configurationFile> | |||
<overwrite>true</overwrite> | |||
<verbose>true</verbose> | |||
</configuration> | |||
<dependencies> | |||
<!-- 数据库驱动 --> | |||
<dependency> | |||
<groupId>mysql</groupId> | |||
<artifactId>mysql-connector-java</artifactId> | |||
<version>5.1.39</version> | |||
</dependency> | |||
<dependency> | |||
<groupId>com.github.oceanc</groupId> | |||
<artifactId>mybatis3-generator-plugin</artifactId> | |||
<version>RELEASE</version> | |||
</dependency> | |||
</dependencies> | |||
</plugin> | |||
<plugin> | |||
<groupId>org.apache.maven.plugins</groupId> | |||
<artifactId>maven-compiler-plugin</artifactId> | |||
<version>3.1</version> | |||
<configuration> | |||
<source>${java.version}</source> | |||
<target>${java.version}</target> | |||
<encoding>${project.build.sourceEncoding}</encoding> | |||
</configuration> | |||
</plugin> | |||
</plugins> | |||
</build> | |||
</project> |
@@ -0,0 +1,285 @@ | |||
package com.neusoft.smart.pos.constants; | |||
public enum DictionaryConstant { | |||
PAY_TYPE("PAY_TYPE", "支付方式"), | |||
PAY_TYPE_WXEWM("1", "微信支付二维码"), | |||
PAY_TYPE_ZFBEWM("2", "支付宝支付二维码"), | |||
PAY_TYPE_YHK("3", "银行卡支付"), | |||
PAY_TYPE_WXZZ("4", "微信转账"), | |||
PAY_TYPE_ZFBZZ("5", "支付宝转账"), | |||
PAY_TYPE_XJ("6", "现金支付"), | |||
PAY_TYPE_HYK("7", "会员卡支付"), | |||
PAY_TYPE_ZFBZZSQ("8", "支付宝当面资金授权支付"), | |||
PAY_TYPE_YLEWM("9", "银联二维码支付"), | |||
PAY_TYPE_FKYS("10", "饭卡(易石)"), | |||
PAY_TYPE_FACE("11", "人脸支付"), | |||
PAY_TYPE_WXZF_SERVICE("12", "微信支付(服务商)"), | |||
PAY_TYPE_FKSY("13", "饭卡(沈阳食堂)"), | |||
PAY_TYPE_YLSWYS("14", "银联商务(银商)"), | |||
PAY_TYPE_YLSWGZH("15", "银联商务(公众号)"), | |||
PAY_TYPE_YLSWBSC("16", "银联商务(B扫C)"), | |||
PAY_TYPE_ELM("17", "饿了么支付"), | |||
PAY_TYPE_YMF("18", "一码付"), | |||
PAY_TYPE_WFT("19", "威富通"), | |||
PAY_TYPE_XYHF("20", "西银惠付"), | |||
PAY_TYPE_WXZFYS("21", "微信支付(甘肃银行)"), | |||
PAY_TYPE_ZFBYS("22", "支付宝(甘肃银行)"), | |||
PAY_TYPE_BANK_YS("23", "银行卡(银商)"), | |||
PAY_TYPE_BANK_FLM("24", "银行卡(MISPOS)"), | |||
PAY_TYPE_WXZFGJ("25", "微信支付(国际)"), | |||
PAY_TYPE_ZFB_FACE_PAY("26", "支付宝(人脸支付)"), | |||
PAY_TYPE_WX_FACE_PAY("27", "微信人脸支付"), | |||
PAY_TYPE_DISCOUNT("29", "折扣"), | |||
PAY_TYPE_FM_COUPON("30", "富茂优惠券"), | |||
PAY_TYPE_WX_QRCODE("31", "微信支付(二维码)"), | |||
PAY_TYPE_ZFB_QRCODE("32", "支付宝(二维码)"), | |||
PAY_TYPE_FM_CARD("33", "伟业城会员卡"), | |||
PAY_TYPE_CZ_ONLINE("34", "招行APP线上充值"), | |||
PAY_TYPE_MULTY_COMBINED("1000","组合支付"), | |||
ORDER_STATUS("ORDER_STATUS", "订单状态"), | |||
ORDER_STATUS_DFK("1", "待付款"), | |||
ORDER_STATUS_YFK("2", "已付款"), | |||
ORDER_STATUS_TKZ("3", "退款中"), | |||
ORDER_STATUS_YTK("4", "已退款"), | |||
ORDER_STATUS_DDQX("5", "订单取消"), | |||
ORDER_UPDATE_STATUS("ORDER_UPDATE_STATUS", "订单状态"), | |||
ORDER_UPDATE_STATUS_DFK("1", "待付款"), | |||
ORDER_UPDATE_STATUS_DDQX("2", "已取消"), | |||
ORDER_UPDATE_STATUS_ZFZ("3", "支付中"), | |||
ORDER_UPDATE_STATUS_YZF("4", "已支付"), | |||
ORDER_UPDATE_STATUS_ZFWC("5", "支付完成"), | |||
ORDER_UPDATE_STATUS_DTC("6", "待退款"), | |||
ORDER_UPDATE_STATUS_TKZ("7", "退款中"), | |||
ORDER_UPDATE_STATUS_YTC("8", "已退款"), | |||
ORDER_UPDATE_STATUS_TKWC("9", "退款完成"), | |||
ORDER_UPDATE_STATUS_DFH("11", "商户待发货"), | |||
ORDER_UPDATE_STATUS_DQH("12", "商户待取货"), | |||
ORDER_UPDATE_STATUS_DJD("13", "骑手待接单"), | |||
ORDER_UPDATE_STATUS_YFH("14", "已发货"), | |||
ORDER_UPDATE_STATUS_YSD("15", "已送达"), | |||
ORDER_UPDATE_STATUS_YSH("16", "已收货"), | |||
ORDER_TYPE("ORDER_TYPE", "订单类型"), | |||
ORDER_TYPE_ZC("1", "普通订单"), | |||
ORDER_TYPE_BL("2", "POS端补录订单"), | |||
ORDER_TYPE_HYCZ("3", "会员卡充值订单"), | |||
ORDER_TYPE_WXDC("4", "微信点餐订单"), | |||
ORDER_TYPE_ELM("5", "饿了么订单"), | |||
ORDER_SUB_TYPE("ORDER_SUB_TYPE", "订单子类型"), | |||
ORDER_SUB_TYPE_COMMON_CONSUME_ORDER("common_consume_order", "堂食订单"), | |||
ORDER_SUB_TYPE_REQ_DELIVERY_ORDER("req_delivery_order", "需要配送"), | |||
PAY_STATUS("PAY_STATUS", "订单支付状态"), | |||
PAY_STATUS_WFK("1", "未付款"), | |||
PAY_STATUS_YFK("2", "已付款"), | |||
PAY_STATUS_YQX("3", "交易关闭"), | |||
PAY_STATUS_TKZ("4", "退款中"), | |||
PAY_STATUS_YTK("5", "已退款"), | |||
PAY_REFUND_STATUS("PAY_REFUND_STATUS", "退款支付订单状态"), | |||
PAY_REFUND_STATUS_WTK("1", "未退款"), | |||
PAY_REFUND_STATUS__YTK("2", "已退款"), | |||
PAY_REFUND_STATUS__YQX("3", "已取消"), | |||
PAY_GRANT_STATUS("PAY_GRANT_STATUS", "授权状态"), | |||
PAY_GRANT_STATUS_CLZ("1", "待授权"), | |||
PAY_GRANT_STATUS_YSQ("2", "已授权"), | |||
PAY_GRANT_STATUS_YJD("3", "已解冻"), | |||
PAY_GRANT_STATUS_YCX("4", "已撤销"), | |||
PAY_GRANT_STATUS_ZF("5", "授权转支付"), | |||
PAY_GRANT_STATUS_YTK("6", "已退款"), | |||
PAY_GRANT_STATUS_SQSB("7", "授权失败"), | |||
REQUEST_TYPE("REQUEST_TYPE", "第三方请求类型"), | |||
REQUEST_TYPE_ZD("1", "主动请求"), | |||
REQUEST_TYPE_BD("2", "被动请求"), | |||
PAYMENT_ORDER_STATUS("PAYMENT_ORDER_STATUS", "聚合支付平台订单状态"), | |||
PAYMENT_ORDER_STATUS_DZF("1", "待支付"), | |||
PAYMENT_ORDER_STATUS_YZF("2", "已支付"), | |||
PAYMENT_ORDER_STATUS_TKZ("3", "退款中"), | |||
PAYMENT_ORDER_STATUS_YTK("4", "已退款"), | |||
PAYMENT_ORDER_STATUS_JYGB("5", "交易关闭"), | |||
PAYMENT_ORDER_STATUS_FINISH("6", "交易结束,不可退款,支付宝特有状态"), | |||
PAYMENT_PAY_TYPE("PAYMENT_PAY_TYPE", "聚合支付平台支付类型"), | |||
PAYMENT_PAY_TYPE_WXSM("1", "微信扫码支付"), | |||
PAYMENT_PAY_TYPE_ZFBSM("2", "支付宝扫码支付"), | |||
PAYMENT_PAY_TYPE_ZFBZZSQ("3", "支付宝当面资金授权支付"), | |||
PAYMENT_PAY_TYPE_YLSM("4", "银联二维码支付"), | |||
PAYMENT_PAY_TYPE_WXZF_SERCIE("5", "微信支付(服务商)"), | |||
PAYMENT_PAY_TYPE_YLSW_SERCIE("6", "银联商务(银商)"), | |||
PAYMENT_PAY_TYPE_YLSW_GZH_SERCIE("7", "银联商务(公众号)"), | |||
PAYMENT_PAY_TYPE_YLSW_BSC_SERCIE("8", "银联商务(B扫C)"), | |||
PAYMENT_PAY_TYPE_XYHF("9", "西银惠付"), | |||
PAYMENT_PAY_TYPE_WFT("10", "威富通"), | |||
PAYMENT_PAY_TYPE_WXZF_US_SERCIE("11", "微信支付(服务商国际)"), | |||
PAYMENT_PAY_TYPE_ZFB_FACE_PAY("12", "支付宝(人脸支付)"), | |||
PAYMENT_PAY_TYPE_WX_FACE_PAY("13", "微信人脸支付"), | |||
PAYMENT_PAY_TYPE_DICOUNT_PAY("15", "折扣支付"), | |||
PAYMENT_PAY_TYPE_FM_COUPON_PAY("16", "富茂优惠券支付"), | |||
PAYMENT_PAY_TYPE_CARD_BALANCE_PAY("17", "实体卡余额支付"), | |||
PAYMENT_REQUEST_TYPE("PAYMENT_REQUEST_TYPE", "第三方请求类型"), | |||
PAYMENT_REQUEST_TYPE_ZD("1", "主动向业务系统发起请求(如支付成功回调)"), | |||
PAYMENT_REQUEST_TYPE_BD("2", "接收业务系统请求,如创建订单、订单信息查询"), | |||
PAYMENT_APPLY_TYPE("PAYMENT_APPLY_TYPE", "聚合支付平台商户申请类型"), | |||
PAYMENT_APPLY_TYPE_NB("1", "内部申请"), | |||
PAYMENT_APPLY_TYPE_GR("2", "个人用户申请"), | |||
PAYMENT_APPLY_TYPE_GS("3", "公司集团用户申请"), | |||
PAYMENT_MCH_STATUS("PAYMENT_MCH_STATUS", "聚合支付平台商户状态"), | |||
PAYMENT_MCH_STATUS_BC("1", "保存"), | |||
PAYMENT_MCH_STATUS_TJSQ("2", "提交申请"), | |||
PAYMENT_MCH_STATUS_SHTG("3", "审核通过"), | |||
PAYMENT_MCH_STATUS_DJ("4", "冻结"), | |||
PAYMENT_MCH_STATUS_LJSC("5", "逻辑删除"), | |||
IS_ENABLE("IS_ENABLE", "是否启用"), | |||
IS_ENABLE_TY("0", "未启用"), | |||
IS_ENABLE_QY("1", "启用"), | |||
IS_SHOW("IS_SHOW", "是否显示"), | |||
IS_SHOW_F("0", "不显示"), | |||
IS_SHOW_S("1", "显示"), | |||
TRADE_MCH_PAY_CHANNEL_ACTIVE_STATUS("ACTIVE_STATUS", "店铺支付渠道状态"), | |||
TRADE_MCH_PAY_CHANNEL_ACTIVE_STATUS_SHOWN_ON_POS("shown_on_pos", "POS端显示"), | |||
TRADE_MCH_PAY_CHANNEL_ACTIVE_STATUS_NOT_SHOWN_ON_POS("not_shown_on_pos", "POS端不显示"), | |||
SETTLEMENT_TYPE("SETTLEMENT_TYPE", "商户结算类型"), | |||
SETTLEMENT_TYPE_JT("1", "集团结算"), | |||
SETTLEMENT_TYPE_MD("2", "门店结算"), | |||
REFUND_STATUS("REFUND_STATUS", "退款状态"), | |||
REFUND_STATUS_DTK("1", "待退款"), | |||
REFUND_STATUS_TKZ("2", "退款中"), | |||
REFUND_STATUS_TKWC("3", "退款完成"), | |||
REFUND_STATUS_TKQX("4", "退款取消"), | |||
WX_TRADE_TYPE("WX_TRADE_TYPE", "微信交易类型"), | |||
WX_TRADE_TYPE_JSAPI("JSAPI", "公众号支付"), | |||
WX_TRADE_TYPE_NATIVE("NATIVE", "原生扫码支付"), | |||
WX_TRADE_TYPE_APP("APP", "app支付"), | |||
WX_TRADE_TYPE_MICROPAY("MICROPAY", "刷卡支付"), | |||
WX_TRADE_TYPE_MWEB("MWEB", "H5支付"), | |||
INVENTORY_FLOW_TYPE("INVENTORY_FLOW_TYPE","库存流水类型"), | |||
INVENTORY_FLOW_TYPE_STOCK_IN("10","进货"), | |||
INVENTORY_FLOW_TYPE_USER_RETURN("11","用户退货"), | |||
INVENTORY_FLOW_TYPE_CHECK_ADD("12","盘盈"), | |||
INVENTORY_FLOW_TYPE_SUP_RETURN("20","向供应货退货"), | |||
INVENTORY_FLOW_TYPE_GOODS_SALE("21","销售"), | |||
INVENTORY_FLOW_TYPE_CHECK_DEC("22","盘损"), | |||
INVENTORY_FLOW_TYPE_GOODS_TAKE("23","领用"), | |||
INVENTORY_STATUS("INVENTORY_STATUS","库存批次状态"), | |||
INVENTORY_STATUS_USABLE("1","可用批次"), | |||
INVENTORY_STATUS_ZERO("0","库存为0批次"), | |||
INVENTORY_STATUS_SOLDOUT("-1","下架产品"), | |||
GRANT_OPERATION_TYPE("GRANT_OPERATION_TYPE","预授权操作类型"), | |||
GRANT_OPERATION_TYPE_1("1","授权申请"), | |||
GRANT_OPERATION_TYPE_2("2","授权成功"), | |||
GRANT_OPERATION_TYPE_3("3","解冻"), | |||
GRANT_OPERATION_TYPE_4("4","撤销"), | |||
GRANT_OPERATION_TYPE_5("5","授权转支付"), | |||
GRANT_OPERATION_TYPE_6("6","退款"), | |||
PAY_CATEGORY_TYPE("PAY_CATEGORY_TYPE","支付方式处理类别"), | |||
PAY_CATEGORY_TYPE_1("1","三方支付类(微信支付宝等)"), | |||
PAY_CATEGORY_TYPE_2("2","现金支付类"), | |||
PAY_CATEGORY_TYPE_3("3","银行卡支付类"), | |||
PAY_CATEGORY_TYPE_4("4","饭卡类"), | |||
PAY_CATEGORY_TYPE_5("5","会员卡支付类"), | |||
PAY_CATEGORY_TYPE_6("6","人脸支付"), | |||
PAY_CATEGORY_TYPE_7("7","第三方资金授权支付类"), | |||
PRINTER_DEVICE_TYPE("PRINTER_DEVICE_TYPE","打印机类型"), | |||
PRINTER_DEVICE_TYPE_1("1","中转设备"), | |||
PRINTER_DEVICE_TYPE_2("2","打印机"), | |||
PRINTER_RELATIONSHIP_TYPE("PRINTER_RELATIONSHIP_TYPE","打印关系类型"), | |||
PRINTER_RELATIONSHIP_TYPE_1("1","菜品编号"), | |||
PRINTER_RELATIONSHIP_TYPE_2("2","菜品分类"), | |||
PRINTER_PRINTER_TYPE("PRINTER_PRINTER_TYPE","打印机类型"), | |||
PRINTER_PRINTER_TYPE_1("1","打印机打印"), | |||
PRINTER_PRINTER_TYPE_2("2","中转打印"), | |||
PRINTER_ORDER_TYPE("PRINTER_ORDER_TYPE","打印订单类型"), | |||
PRINTER_ORDER_TYPE_1("1","后厨打印"), | |||
PRINTER_ORDER_TYPE_2("2","预结算订单"), | |||
PRINTER_ORDER_TYPE_3("3","结算订单"), | |||
PRINTER_ORDER_TYPE_4("4","不干胶打印"), | |||
PRINTER_TASK_STATUS("PRINTER_TASK_STATUS","打印任务状态"), | |||
PRINTER_TASK_STATUS_1("1","未打印"), | |||
PRINTER_TASK_STATUS_2("2","已发送,未打印"), | |||
PRINTER_TASK_STATUS_3("3","已打印"), | |||
PRINTER_STATUS("PRINTER_STATUS","打印机状态"), | |||
PRINTER_STATUS_0("0","停用"), | |||
PRINTER_STATUS_1("1","启用"), | |||
PRINTER_TEMPLATE_TYPE("PRINTER_TEMPLATE_TYPE","打印模板类型"), | |||
PRINTER_TEMPLATE_TYPE_1("1","后结下单模板"), | |||
PRINTER_TEMPLATE_TYPE_2("2","前结结算模板"), | |||
PRINTER_TEMPLATE_TYPE_3("3","后结结算模板"), | |||
PRINTER_OPERATION_TYPE("PRINTER_OPERATION_TYPE","打印操作类型"), | |||
PRINTER_OPERATION_TYPE_1("1","下单"), | |||
PRINTER_OPERATION_TYPE_2("2","结算"), | |||
BILL_CYCLE_TYPE("BILL_CYCLE_TYPE","周期类型"), | |||
BILL_CYCLE_TYPE_MONTH("1","月结"), | |||
BILL_CYCLE_TYPE_YEAR("2","年结"), | |||
BILL_CYCLE_TYPE_QUARTER("3","季结"), | |||
BILL_CYCLE_TYPE_WEEK("4","周结"), | |||
BILL_ACCEPT_STATUS("BILL_ACCEPT_STATUS","归档状态"), | |||
BILL_ACCEPT_STATUS_NO("1","未归档"), | |||
BILL_ACCEPT_STATUS_YES("2","已归档"), | |||
BILL_RULE_STATUS("BILL_RULE_STATUS","规则状态"), | |||
BILL_RULE_STATUS_YES("1","生效"), | |||
BILL_RULE_STATUS_NO("2","失效"), | |||
BILL_TASK_STATUS("BILL_TASK_STATUS","任务状态"), | |||
BILL_TASK_STATUS_1("1","执行中"), | |||
BILL_TASK_STATUS_2("2","执行完成"), | |||
BILL_TASK_STATUS_3("3","执行失败"), | |||
; | |||
private String code; | |||
private String value; | |||
DictionaryConstant(String code, String value) { | |||
this.code = code; | |||
this.value = value; | |||
} | |||
public String getCode() { | |||
return code; | |||
} | |||
public String getValue() { | |||
return value; | |||
} | |||
public static DictionaryConstant getEnumByCode(String enumName,String code){ | |||
for(DictionaryConstant dictEnum : DictionaryConstant.values()){ | |||
if(dictEnum.name().startsWith(enumName) && code.equals(dictEnum.getCode())){ | |||
return dictEnum; | |||
} | |||
} | |||
return null; | |||
} | |||
} |
@@ -0,0 +1,40 @@ | |||
package com.neusoft.smart.pos.constants; | |||
/** | |||
* @author yuan-p@neusoft.com | |||
* @date 2020-06-12 13:50 | |||
* @description | |||
*/ | |||
public enum EntityTableConstant { | |||
ENTITY_TABLE("ENTITY_TABLE","数据库表名"), | |||
ENTITY_TABLE_SHOP("shop","商户表"), | |||
ENTITY_TABLE_ORG("org","集团表"), | |||
; | |||
private String code; | |||
private String value; | |||
EntityTableConstant(String code, String value) { | |||
this.code = code; | |||
this.value = value; | |||
} | |||
public String getCode() { | |||
return code; | |||
} | |||
public String getValue() { | |||
return value; | |||
} | |||
public static EntityTableConstant getEnumByCode(String enumName,String code){ | |||
for(EntityTableConstant dictEnum : EntityTableConstant.values()){ | |||
if(dictEnum.name().startsWith(enumName) && code.equals(dictEnum.getCode())){ | |||
return dictEnum; | |||
} | |||
} | |||
return null; | |||
} | |||
} |
@@ -0,0 +1,13 @@ | |||
package com.neusoft.smart.pos.dto; | |||
import lombok.Data; | |||
@Data | |||
public abstract class AbstractQuery { | |||
private Boolean isPage = true; | |||
private Integer offset = 0; | |||
private Integer limit = 10; | |||
} |
@@ -0,0 +1,14 @@ | |||
package com.neusoft.smart.pos.dto; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import java.util.List; | |||
@Data | |||
public class AlterUserRequest { | |||
private Integer id; | |||
private String nickname; | |||
@ApiModelProperty(name = "shopIds", value = "门店代码,可空", dataType = "Integer") | |||
private List<Integer> shopIds; | |||
} |
@@ -0,0 +1,14 @@ | |||
package com.neusoft.smart.pos.dto; | |||
import lombok.Data; | |||
@Data | |||
public class RegisterRequest { | |||
String username; | |||
String password; | |||
String name; | |||
String phone; | |||
String address; | |||
String province; | |||
String city; | |||
} |
@@ -0,0 +1,26 @@ | |||
package com.neusoft.smart.pos.dto.advertisement.request; | |||
import com.neusoft.smart.pos.dto.AbstractQuery; | |||
import lombok.Data; | |||
import java.util.List; | |||
/** | |||
* Created by 姜涛 on 2017/7/17. | |||
*/ | |||
@Data | |||
public class MediaResourceQueryRequest extends AbstractQuery { | |||
private String mediaName; | |||
private List<Integer> mediaType; | |||
private String fileType; | |||
private Integer status; | |||
private List<Integer> ids; | |||
private Integer storeId; | |||
} |
@@ -0,0 +1,45 @@ | |||
package com.neusoft.smart.pos.dto.advertisement.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.Date; | |||
@Data | |||
@ApiModel | |||
public class MediaResourceRequest { | |||
private Integer id; | |||
@NotNull(message = "资源名称不可为空") | |||
@ApiModelProperty(name = "mediaName", value = "资源名称", dataType = "String" ,example="1",required=true) | |||
private String mediaName; | |||
@NotNull(message = "资源uuid不可为空") | |||
@ApiModelProperty(name = "mediaUuid", value = "资源uuid", dataType = "String" ,example="xxx-xxx-ddd-xxx",required=true) | |||
private String mediaUuid; | |||
@NotNull(message = "资源地址不可为空") | |||
@ApiModelProperty(name = "mediaUrl", value = "资源地址", dataType = "String" ,example="http://xxx.com/xxx",required=true) | |||
private String mediaUrl; | |||
@NotNull(message = "资源类型不可为空") | |||
@ApiModelProperty(name = "mediaType", value = "资源类型", dataType = "Integer" ,example="1",required=true) | |||
private Integer mediaType; | |||
@NotNull(message = "文件类型不可为空") | |||
@ApiModelProperty(name = "mediaName", value = "文件类型", dataType = "String" ,example="jpg",required=true) | |||
private String fileType; | |||
@ApiModelProperty(name = "displayType", value = "播放类型", dataType = "Integer" ,example="1",required=true) | |||
private Integer displayType; | |||
private Integer status; | |||
private Integer createBy; | |||
private Date createTime; | |||
} |
@@ -0,0 +1,20 @@ | |||
package com.neusoft.smart.pos.dto.advertisement.request; | |||
import com.neusoft.smart.pos.dto.AbstractQuery; | |||
import lombok.Data; | |||
@Data | |||
public class MediaResourceStrategyQueryRequest extends AbstractQuery { | |||
private String strategyName; | |||
private String startDate; | |||
private String endDate; | |||
private Integer status; | |||
private Integer organizationId; | |||
private Integer storeId; | |||
} |
@@ -0,0 +1,40 @@ | |||
package com.neusoft.smart.pos.dto.advertisement.request; | |||
import com.neusoft.smart.pos.dto.device.request.DeviceRequest; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.List; | |||
@Data | |||
@ApiModel | |||
public class MediaResourceStrategyRequest { | |||
@NotNull(message = "广告策略名称不可为空") | |||
@ApiModelProperty(name = "strategyName", value = "广告策略名称", dataType = "String", example = "xxxxx", required = true) | |||
private String strategyName; | |||
@NotNull(message = "广告资源缓存时间不可为空") | |||
@ApiModelProperty(name = "macAddr", value = "广告资源缓存时间", dataType = "Long", example = "123", required = true) | |||
private Long cacheTime; | |||
@NotNull(message = "机具列表不可为空") | |||
@ApiModelProperty(name = "deviceList", value = "机具列表", dataType = "java.util.List", required = true) | |||
private List<DeviceRequest> deviceList; | |||
@NotNull(message = "资源列表不可为空") | |||
@ApiModelProperty(name = "strategyList", value = "资源列表", dataType = "java.util.List", required = true) | |||
private List<MediaStrategyRequest> strategyList; | |||
// public static void main(String[] args) { | |||
// MediaResourceStrategyRequest request = new MediaResourceStrategyRequest(); | |||
// request.setDeviceList(new ArrayList<>()); | |||
// request.getDeviceList().add(new DeviceRequest()); | |||
// request.setStrategyList(new ArrayList<>()); | |||
// request.getStrategyList().add(new MediaStrategyRequest()); | |||
// System.out.println(JSON.toJSONString(request, SerializerFeature.PrettyFormat,SerializerFeature.WriteMapNullValue)); | |||
// } | |||
} |
@@ -0,0 +1,32 @@ | |||
package com.neusoft.smart.pos.dto.advertisement.request; | |||
import com.fasterxml.jackson.annotation.JsonFormat; | |||
import io.swagger.annotations.ApiModel; | |||
import lombok.Data; | |||
import java.util.Date; | |||
@Data | |||
@ApiModel | |||
public class MediaStrategyRequest { | |||
private Integer id; | |||
private Integer strategyId; | |||
private Integer deviceId; | |||
private Integer mediaResourceId; | |||
private Integer playLength; | |||
@JsonFormat(pattern = "HH:mm") | |||
private Date showTimeBegin; | |||
@JsonFormat(pattern = "HH:mm") | |||
private Date showTimeEnd; | |||
private Integer backgroundAudioId; | |||
private Integer status; | |||
} |
@@ -0,0 +1,14 @@ | |||
package com.neusoft.smart.pos.dto.advertisement.response; | |||
import com.neusoft.smart.pos.redis.bean.DeviceMedias; | |||
import io.swagger.annotations.ApiModel; | |||
import lombok.Data; | |||
@Data | |||
@ApiModel("老版OTA的广告接口所用,首字母大写的") | |||
public class DeviceMediaResponse extends DeviceMedias { | |||
private Integer St; | |||
private String Msg; | |||
} |
@@ -0,0 +1,33 @@ | |||
package com.neusoft.smart.pos.dto.advertisement.response; | |||
import lombok.Data; | |||
import java.util.Date; | |||
@Data | |||
public class MediaResourceResponse { | |||
private Integer id; | |||
private String mediaName; | |||
private String mediaUuid; | |||
private String mediaUrl; | |||
private Integer mediaType; | |||
private String fileType; | |||
private Integer displayType; | |||
private Integer status; | |||
private Integer createBy; | |||
private Date createTime; | |||
private Integer organizationId; | |||
private Integer storeId; | |||
} |
@@ -0,0 +1,27 @@ | |||
package com.neusoft.smart.pos.dto.advertisement.response; | |||
import com.fasterxml.jackson.annotation.JsonFormat; | |||
import lombok.Data; | |||
import java.util.Date; | |||
@Data | |||
public class MediaResourceStrategyResponse { | |||
private Integer id; | |||
private String strategyName; | |||
private Long cacheTime; | |||
private Integer createdBy; | |||
@JsonFormat(timezone = "GMT+8") | |||
private Date createdDate; | |||
private Integer status; | |||
private Integer organizationId; | |||
private Integer storeId; | |||
} |
@@ -0,0 +1,31 @@ | |||
package com.neusoft.smart.pos.dto.advertisement.response; | |||
import lombok.Data; | |||
import java.util.Date; | |||
@Data | |||
public class MediaStrategyResponse { | |||
private Integer id; | |||
private Integer strategyId; | |||
private Integer deviceId; | |||
private Integer mediaResourceId; | |||
private MediaResourceResponse mediaResource; | |||
private Integer playLength; | |||
private Date showTimeBegin; | |||
private Date showTimeEnd; | |||
private Integer backgroundAudioId; | |||
private MediaResourceResponse backgroundAudio; | |||
private Integer status; | |||
} |
@@ -0,0 +1,71 @@ | |||
package com.neusoft.smart.pos.dto.card.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import org.hibernate.validator.constraints.NotEmpty; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.Date; | |||
@Data | |||
@ApiModel | |||
public class ActivateCardRequest { | |||
@NotNull(message = "cardType is required") | |||
@ApiModelProperty(name = "cardType", value = "卡类型:0:会员卡 1:储值卡 2:礼品卡", dataType = "int", example = "0", required = true) | |||
private int cardType; | |||
@NotNull(message = "beanName is required") | |||
@ApiModelProperty(name = "beanName", value = "卡关联关系查询Bean名称", dataType = "String", example = "defaultCardRelationRepository", required = true) | |||
private String beanName; | |||
@ApiModelProperty(name = "rechargeStrategyParam", value = "充值策略参数", dataType = "String", example = "1", required = true) | |||
private String rechargeStrategyParam; | |||
@ApiModelProperty(name = "pointStrategyParam", value = "积分策略参数", dataType = "String", example = "1", required = true) | |||
private String pointStrategyParam; | |||
@ApiModelProperty(name = "cardNum", value = "卡号", dataType = "String", example = "12225845") | |||
private String cardNum; | |||
@ApiModelProperty(name = "cardOtherId", value = "卡其他识别号", dataType = "String", example = "12225845") | |||
private String cardOtherId; | |||
@ApiModelProperty(name = "cardAnotherId", value = "卡识别号二", dataType = "String", example = "12225845") | |||
private String cardAnotherId; | |||
@ApiModelProperty(name = "needPassword", value = "是否需要卡密码@0不需要 @1需要,默认值0", dataType = "String", example = "1") | |||
private String needPassword = "0"; | |||
@ApiModelProperty(name = "cardPassword", value = "卡密码", dataType = "String", example = "12225845") | |||
private String cardPassword; | |||
@ApiModelProperty(name = "cardImage", value = "卡图片地址", dataType = "String", example = "http://xxx") | |||
private String cardImage; | |||
private Integer org; | |||
private Integer store = 0; | |||
// 以下为会员信息:如果卡类型为会员卡,则name字段不能为空 | |||
private String name; | |||
private String mobile; | |||
private String memberEmail; | |||
private String memberCode; | |||
private Integer memberType; | |||
private Date birthday; | |||
private Integer gender; | |||
private String address; | |||
private String avatar; | |||
private String content; | |||
} |
@@ -0,0 +1,20 @@ | |||
package com.neusoft.smart.pos.dto.card.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import org.hibernate.validator.constraints.NotEmpty; | |||
import javax.validation.constraints.DecimalMax; | |||
import javax.validation.constraints.NotNull; | |||
import java.math.BigDecimal; | |||
@Data | |||
@ApiModel(value = "卡交易取消请求对象") | |||
public class CardTradeCancelRequest { | |||
@NotEmpty(message = "支付单编号不可为空") | |||
@ApiModelProperty(name = "outTradeId", value = "支付单编号", dataType = "String", example = "xxxxxxxxxx", required = true) | |||
private String outTradeId; | |||
} |
@@ -0,0 +1,53 @@ | |||
package com.neusoft.smart.pos.dto.card.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import org.hibernate.validator.constraints.NotEmpty; | |||
import javax.validation.constraints.DecimalMax; | |||
import javax.validation.constraints.NotNull; | |||
import java.math.BigDecimal; | |||
import java.util.Date; | |||
@Data | |||
@ApiModel(value = "卡交易请求对象") | |||
public class CardTradeCreateRequest { | |||
@ApiModelProperty(name = "sourceCardNum", value = "支付方卡号", dataType = "String", example = "123546798") | |||
private String sourceCardNum; | |||
@ApiModelProperty(name = "sourceCardAnotherId", value = "支付方卡Id2", dataType = "String", example = "221654") | |||
private String sourceCardAnotherId; | |||
@ApiModelProperty(name = "sourceCardOtherId", value = "支付方卡其他ID", dataType = "String", example = "123546798") | |||
private String sourceCardOtherId; | |||
@ApiModelProperty(name = "password", value = "支付方卡密码", dataType = "String", example = "123546798") | |||
private String cardPassword; | |||
@ApiModelProperty(name = "targetCardNum", value = "卖方卡号", dataType = "String", example = "123546798") | |||
private String targetCardNum; | |||
@ApiModelProperty(name = "targetCardAnotherId", value = "卖方会员Id", dataType = "String", example = "289753") | |||
private String targetCardAnotherId; | |||
@ApiModelProperty(name = "targetCardOtherId", value = "卖方卡其他ID", dataType = "String", example = "123546798") | |||
private String targetCardOtherId; | |||
@NotEmpty(message = "支付单编号不可为空") | |||
@ApiModelProperty(name = "outTradeId", value = "支付单编号", dataType = "String", example = "xxxxxxxxxx", required = true) | |||
private String outTradeId; | |||
@NotNull(message = "交易金额不可为空") | |||
@DecimalMax(value = "999999999", message = "交易金额不可大于999999999") | |||
@ApiModelProperty(name = "payAmount", value = "交易金额(单位分)", dataType = "Long", example = "123", required = true) | |||
private Long payAmount; | |||
@NotNull(message = "扣款方式不可为空 @1:卡内余额支付 @2:积分支付") | |||
@ApiModelProperty(name = "payType", value = "扣款方式", dataType = "String", example = "1", required = true) | |||
private String payType; | |||
private Boolean canBeNegative = false; | |||
} |
@@ -0,0 +1,16 @@ | |||
package com.neusoft.smart.pos.dto.card.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import org.hibernate.validator.constraints.NotEmpty; | |||
@Data | |||
@ApiModel(value = "卡交易查询请求对象") | |||
public class CardTradeQueryRequest { | |||
@NotEmpty(message = "支付单编号不可为空") | |||
@ApiModelProperty(name = "outTradeId", value = "支付单编号", dataType = "String", example = "xxxxxxxxxx", required = true) | |||
private String outTradeId; | |||
} |
@@ -0,0 +1,35 @@ | |||
package com.neusoft.smart.pos.dto.card.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import org.hibernate.validator.constraints.NotEmpty; | |||
import javax.validation.constraints.DecimalMax; | |||
import javax.validation.constraints.NotNull; | |||
import java.math.BigDecimal; | |||
import java.util.Date; | |||
@Data | |||
@ApiModel(value = "卡支付退款请求对象") | |||
public class CardTradeRefundRequest { | |||
@NotEmpty(message = "平台支付单编号不可为空") | |||
@ApiModelProperty(name = "outTradeId", value = "平台支付单编号", dataType = "String", example = "xxxxxxxxxx", required = true) | |||
private String outTradeId; | |||
@NotEmpty(message = "平台退款订单编号不可为空") | |||
@ApiModelProperty(name = "outRefundNumber", value = "平台退款订单编号", dataType = "String", example = "xxxxxxxxxx", required = true) | |||
private String outRefundNumber; | |||
@NotEmpty(message = "卡交易流水号不可为空") | |||
@ApiModelProperty(name = "cardTradeNum", value = "卡交易流水号", dataType = "String", example = "xxxxxxxxxx", required = true) | |||
private String cardTradeNum; | |||
@NotNull(message = "退款金额不可为空") | |||
@ApiModelProperty(name = "refundAmount", value = "退款金额", dataType = "Long", example = "123", required = true) | |||
private Long refundAmount; | |||
// private String refundUser; | |||
} |
@@ -0,0 +1,16 @@ | |||
package com.neusoft.smart.pos.dto.card.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import org.hibernate.validator.constraints.NotEmpty; | |||
@Data | |||
@ApiModel(value = "卡交易撤销请求对象") | |||
public class CardTradeReverseRequest { | |||
@NotEmpty(message = "支付单编号不可为空") | |||
@ApiModelProperty(name = "outTradeId", value = "支付单编号", dataType = "String", example = "xxxxxxxxxx", required = true) | |||
private String outTradeId; | |||
} |
@@ -0,0 +1,17 @@ | |||
package com.neusoft.smart.pos.dto.card.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.Date; | |||
@Data | |||
@ApiModel | |||
public class DeactivateCardRequest { | |||
@NotNull(message = "cardId is required") | |||
@ApiModelProperty(name = "cardId", value = "卡ID", dataType = "Integer", example = "125") | |||
private Integer cardId; | |||
} |
@@ -0,0 +1,31 @@ | |||
package com.neusoft.smart.pos.dto.card.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import org.hibernate.validator.constraints.NotEmpty; | |||
import javax.validation.constraints.Max; | |||
import javax.validation.constraints.Min; | |||
import javax.validation.constraints.NotNull; | |||
@Data | |||
@ApiModel(value = "会员卡积分核销请求对象") | |||
public class MemberPointWriteOffRequest { | |||
@ApiModelProperty(name = "cardNum", value = "卡号", dataType = "String", example = "123546798") | |||
private String cardNum; | |||
@ApiModelProperty(name = "memberId", value = "会员Id", dataType = "Integer", example = "2") | |||
private Integer memberId; | |||
@ApiModelProperty(name = "cardOtherId", value = "卡其他识别ID", dataType = "String", example = "123546798") | |||
private String cardOtherId; | |||
@NotNull(message = "核销会员积分不可为空") | |||
@ApiModelProperty(name = "writeOffPoint", value = "核销会员积分", dataType = "Integer", example = "123", required = true) | |||
@Max(value = 999999, message = "核销会员积分不可大于999999") | |||
@Min(value = 1, message = "核销会员积分必须大于1") | |||
private Integer writeOffPoint; | |||
} |
@@ -0,0 +1,70 @@ | |||
package com.neusoft.smart.pos.dto.card.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import org.hibernate.validator.constraints.NotEmpty; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.Date; | |||
@Data | |||
@ApiModel | |||
public class PosActivateCardRequest { | |||
@ApiModelProperty(name = "snCode", value = "设备SN", dataType = "String", example = "21554560") | |||
private String snCode; | |||
@NotNull(message = "cardType is required") | |||
@ApiModelProperty(name = "cardType", value = "卡类型:1:会员卡 2:储值卡 3:礼品卡", dataType = "int", example = "0", required = true) | |||
private int cardType; | |||
@NotNull(message = "beanName is required") | |||
@ApiModelProperty(name = "beanName", value = "卡关联关系查询Bean名称", dataType = "String", example = "defaultCardRelationRepository", required = true) | |||
private String beanName; | |||
@ApiModelProperty(name = "rechargeStrategyParam", value = "充值策略参数", dataType = "String", example = "1", required = true) | |||
private String rechargeStrategyParam; | |||
@ApiModelProperty(name = "pointStrategyParam", value = "积分策略参数", dataType = "String", example = "1", required = true) | |||
private String pointStrategyParam; | |||
@ApiModelProperty(name = "cardNum", value = "卡号", dataType = "String", example = "12225845") | |||
private String cardNum; | |||
@ApiModelProperty(name = "cardAnotherId", value = "卡识别号2", dataType = "String", example = "12225845") | |||
private String cardAnotherId; | |||
@ApiModelProperty(name = "cardOtherId", value = "卡其他识别号", dataType = "String", example = "12225845") | |||
private String cardOtherId; | |||
@ApiModelProperty(name = "needPassword", value = "是否需要卡密码@0不需要 @1需要,默认值0", dataType = "String", example = "1") | |||
private String needPassword = "0"; | |||
@ApiModelProperty(name = "cardPassword", value = "卡密码", dataType = "String", example = "12225845") | |||
private String cardPassword="123456"; | |||
@ApiModelProperty(name = "cardImage", value = "卡图片地址", dataType = "String", example = "http://xxx") | |||
private String cardImage; | |||
// 以下为会员信息:如果卡类型为会员卡,则name字段不能为空 | |||
private String name; | |||
private String mobile; | |||
private String memberEmail; | |||
private String memberCode; | |||
private Integer memberType; | |||
private Date birthday; | |||
private Integer gender; | |||
private String address; | |||
private String avatar; | |||
private String content; | |||
} |
@@ -0,0 +1,42 @@ | |||
package com.neusoft.smart.pos.dto.card.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import org.hibernate.validator.constraints.NotEmpty; | |||
import javax.validation.constraints.DecimalMax; | |||
import javax.validation.constraints.NotNull; | |||
import java.math.BigDecimal; | |||
import java.util.Date; | |||
@Data | |||
@ApiModel(value = "卡充值请求对象") | |||
public class RechargeRequest { | |||
@ApiModelProperty(name = "cardNum", value = "卡号", dataType = "String", example = "123546798") | |||
private String cardNum; | |||
@ApiModelProperty(name = "cardAnotherId", value = "卡Id2", dataType = "String", example = "2") | |||
private String cardAnotherId; | |||
@ApiModelProperty(name = "cardOtherId", value = "卡其他识别ID", dataType = "String", example = "123546798") | |||
private String cardOtherId; | |||
@NotEmpty(message = "充值订单编号不可为空") | |||
@ApiModelProperty(name = "outRechargeOrderNo", value = "充值编号", dataType = "String", example = "xxxxxxxxxx", required = true) | |||
private String outRechargeOrderNo; | |||
@NotNull(message = "充值金额不可为空") | |||
@ApiModelProperty(name = "rechargeAmount", value = "充值金额(单位:分)", dataType = "Long", example = "12321", required = true) | |||
private Long rechargeAmount; | |||
@ApiModelProperty(name = "rechargeMode", value = "充值支付方式", dataType = "Integer", example = "2") | |||
private Integer rechargeMode; | |||
@NotNull(message = "充值时间不可为空") | |||
@ApiModelProperty(name = "rechargeTime", value = "充值时间", dataType = "Date", example = "2018-04-16 15:20:32", required = true) | |||
private Date rechargeTime; | |||
} |
@@ -0,0 +1,48 @@ | |||
package com.neusoft.smart.pos.dto.card.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import org.hibernate.validator.constraints.NotEmpty; | |||
import javax.validation.constraints.DecimalMax; | |||
import javax.validation.constraints.NotNull; | |||
import java.math.BigDecimal; | |||
import java.util.Date; | |||
@Data | |||
@ApiModel(value = "卡资金转账请求对象") | |||
public class TransferRequest { | |||
@ApiModelProperty(name = "sourceCardNum", value = "资金流出方卡号", dataType = "String", example = "123546798") | |||
private String sourceCardNum; | |||
@ApiModelProperty(name = "sourceCardAnotherId", value = "资金流出方卡Id2", dataType = "String", example = "2") | |||
private String sourceCardAnotherId; | |||
@ApiModelProperty(name = "sourceCardOtherId", value = "资金流出方卡其他识别ID", dataType = "String", example = "123546798") | |||
private String sourceCardOtherId; | |||
@ApiModelProperty(name = "targetCardNum", value = "资金流入方卡号", dataType = "String", example = "123546798") | |||
private String targetCardNum; | |||
@ApiModelProperty(name = "targetCardAnotherId", value = "资金流入方卡Id2", dataType = "String", example = "2") | |||
private String targetCardAnotherId; | |||
@ApiModelProperty(name = "targetCardOtherId", value = "资金流入方卡其他识别ID", dataType = "String", example = "123546798") | |||
private String targetCardOtherId; | |||
@NotEmpty(message = "转账订单编号不可为空") | |||
@ApiModelProperty(name = "outTransferOrderNo", value = "转账订单编号", dataType = "String", example = "xxxxxxxxxx", required = true) | |||
private String outTransferOrderNo; | |||
@NotNull(message = "转账金额不可为空") | |||
@ApiModelProperty(name = "transferAmount", value = "转账金额(单位:分)", dataType = "Long", example = "123", required = true) | |||
private Long transferAmount; | |||
@NotNull(message = "转账时间不可为空") | |||
@ApiModelProperty(name = "transferTime", value = "转账时间", dataType = "Date", example = "2018-04-16 15:20:32", required = true) | |||
private Date transferTime; | |||
} |
@@ -0,0 +1,19 @@ | |||
package com.neusoft.smart.pos.dto.card.response; | |||
import com.fasterxml.jackson.annotation.JsonFormat; | |||
import io.swagger.annotations.ApiModel; | |||
import lombok.Data; | |||
import java.util.Date; | |||
@Data | |||
@ApiModel | |||
public class CardOrderInfoResponse { | |||
private String orderNo; | |||
private Long amount; | |||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | |||
protected Date time; | |||
private String channel; //卡交易状态 | |||
} |
@@ -0,0 +1,26 @@ | |||
package com.neusoft.smart.pos.dto.card.response; | |||
import com.fasterxml.jackson.annotation.JsonFormat; | |||
import io.swagger.annotations.ApiModel; | |||
import lombok.Data; | |||
import java.math.BigDecimal; | |||
import java.util.Date; | |||
@Data | |||
@ApiModel | |||
public class CardTradeCreateResponse { | |||
private String outTradeId; //平台支付单编号 | |||
private String cardTradeNum; //卡交易流水号 | |||
private Long balance;//余额 | |||
private Integer point;//积分 | |||
private String cardNum; // 卡号 | |||
private String cardAnotherId; // 卡ID2 | |||
private String cardOtherId; //卡其他ID | |||
private String payStatus; //卡交易状态 | |||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | |||
protected Date payTime; | |||
} |
@@ -0,0 +1,19 @@ | |||
package com.neusoft.smart.pos.dto.card.response; | |||
import com.fasterxml.jackson.annotation.JsonFormat; | |||
import io.swagger.annotations.ApiModel; | |||
import lombok.Data; | |||
import java.util.Date; | |||
@Data | |||
@ApiModel | |||
public class CardTradeQueryResponse { | |||
private String outTradeId; //平台支付单编号 | |||
private String cardTradeNum; //卡交易流水号 | |||
private String payStatus; //卡交易状态 | |||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | |||
protected Date payTime; | |||
} |
@@ -0,0 +1,33 @@ | |||
package com.neusoft.smart.pos.dto.card.response; | |||
import com.fasterxml.jackson.annotation.JsonFormat; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import org.hibernate.validator.constraints.NotEmpty; | |||
import javax.validation.constraints.DecimalMax; | |||
import java.math.BigDecimal; | |||
import java.util.Date; | |||
@Data | |||
@ApiModel | |||
public class CardTradeRefundResponse { | |||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | |||
protected Date refundedTime; | |||
private String cardRefundNum; //卡交易退单流水号 | |||
@ApiModelProperty(name = "refundAmount", value = "退款金额(单位分)", dataType = "Long", example = "123", required = true) | |||
private Long refundAmount; | |||
@NotEmpty(message = "平台支付单编号不可为空") | |||
@ApiModelProperty(name = "outTradeId", value = "平台支付单编号", dataType = "String", example = "xxxxxxxxxx", required = true) | |||
private String outTradeId; | |||
@NotEmpty(message = "平台退款订单编号不可为空") | |||
@ApiModelProperty(name = "outRefundNumber", value = "平台退款订单编号", dataType = "String", example = "xxxxxxxxxx", required = true) | |||
private String outRefundNumber; | |||
} |
@@ -0,0 +1,12 @@ | |||
package com.neusoft.smart.pos.dto.card.response; | |||
import io.swagger.annotations.ApiModel; | |||
import lombok.Data; | |||
@Data | |||
@ApiModel | |||
public class GetBalanceResponse { | |||
private long balance; | |||
private String memberName; | |||
} |
@@ -0,0 +1,14 @@ | |||
package com.neusoft.smart.pos.dto.card.response; | |||
import io.swagger.annotations.ApiModel; | |||
import lombok.Data; | |||
import java.util.List; | |||
@Data | |||
@ApiModel | |||
public class GetRechargeListResponse { | |||
private long balance; | |||
private String memberName; | |||
private List<CardOrderInfoResponse> rechargeList; | |||
} |
@@ -0,0 +1,27 @@ | |||
package com.neusoft.smart.pos.dto.device.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.List; | |||
@ApiModel | |||
@Data | |||
public class ConfigStrategyGroupRequest { | |||
@NotNull(message = "配置策略名称不可为空") | |||
@ApiModelProperty(name = "strategyName", value = "配置策略名称", dataType = "String", example = "abc", required = true) | |||
private String strategyName; | |||
@NotNull(message = "设备列表不可为空") | |||
@ApiModelProperty(name = "deviceList", value = "设备列表", dataType = "List", example = "[]", required = true) | |||
private List<DeviceRequest> deviceList; | |||
@NotNull(message = "配置文件列表不可为空") | |||
@ApiModelProperty(name = "strategyList", value = "配置文件列表", dataType = "List", example = "[]", required = true) | |||
private List<ConfigStrategyRequest> strategyList; | |||
private Integer organizationId; | |||
} |
@@ -0,0 +1,21 @@ | |||
package com.neusoft.smart.pos.dto.device.request; | |||
import com.neusoft.smart.pos.dto.AbstractQuery; | |||
import io.swagger.annotations.ApiModel; | |||
import lombok.Data; | |||
@ApiModel | |||
@Data | |||
public class ConfigStrategyQueryRequest extends AbstractQuery { | |||
private String strategyName; | |||
private String startDate; | |||
private String endDate; | |||
private Integer status; | |||
private Integer organizationId; | |||
} |
@@ -0,0 +1,24 @@ | |||
package com.neusoft.smart.pos.dto.device.request; | |||
import io.swagger.annotations.ApiModel; | |||
import lombok.Data; | |||
@ApiModel | |||
@Data | |||
public class ConfigStrategyRequest { | |||
private Integer id; | |||
private Integer strategyId; | |||
private Integer deviceId; | |||
private String configUrl; | |||
private String configFileName; | |||
private String configFileCode; | |||
private Integer status; | |||
} |
@@ -0,0 +1,46 @@ | |||
package com.neusoft.smart.pos.dto.device.request; | |||
import com.neusoft.smart.pos.dto.AbstractQuery; | |||
import io.swagger.annotations.ApiModel; | |||
import lombok.Data; | |||
import java.util.List; | |||
@ApiModel | |||
@Data | |||
public class DeviceQueryRequest extends AbstractQuery { | |||
private String macAddr; | |||
private String serialNo; | |||
private String curVersion; | |||
private String manufacturer; | |||
private String region; | |||
private String department; | |||
private String customer; | |||
private String deviceType; | |||
private String deviceModel; | |||
private String alias; | |||
private Integer status; | |||
private Integer organizationId; | |||
private List<Integer> ids; | |||
private List<Integer> storeIds; | |||
private Boolean excludeDeleted = true; | |||
private Boolean isStoreUserQueryWithoutStoreId = false; | |||
} |
@@ -0,0 +1,62 @@ | |||
package com.neusoft.smart.pos.dto.device.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import org.hibernate.validator.constraints.NotEmpty; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.Date; | |||
@Data | |||
@ApiModel | |||
public class DeviceRequest { | |||
private Integer id; | |||
@NotEmpty(message = "设备MAC地址不可为空") | |||
@ApiModelProperty(name = "macAddr", value = "设备MAC地址", dataType = "String", example = "xxxx-xxx-xxx", required = true) | |||
private String macAddr; | |||
@NotEmpty(message = "设备序列号不可为空") | |||
@ApiModelProperty(name = "serialNo", value = "设备序列号", dataType = "String", example = "xxxxxxxxxx", required = true) | |||
private String serialNo; | |||
@NotEmpty(message = "设备当前版本不可为空") | |||
@ApiModelProperty(name = "curVersion", value = "设备当前版本", dataType = "String", example = "1.0.1", required = true) | |||
private String curVersion; | |||
private String manufacturer; | |||
private String region; | |||
private String department; | |||
private String customer; | |||
private String deviceType; | |||
private String deviceModel; | |||
private String alias; | |||
private Integer createdBy; | |||
private Date createdDate; | |||
private Integer lastModifiedBy; | |||
private Date lastModifiedDate; | |||
private Integer status; | |||
private String signalStrength; | |||
private String ipAddress; | |||
private Date lastRequestTime; | |||
private Integer organizationId; | |||
private Integer storeId; | |||
} |
@@ -0,0 +1,21 @@ | |||
package com.neusoft.smart.pos.dto.device.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.List; | |||
@Data | |||
@ApiModel | |||
public class DeviceStatusRequest { | |||
@NotNull(message = "设备id不可为空") | |||
@ApiModelProperty(name = "deviceIds", value = "设备id", dataType = "List", example = "[1]", required = true) | |||
private List<Integer> deviceIds; | |||
@NotNull(message = "设备状态不可为空") | |||
@ApiModelProperty(name = "status", value = "设备状态", dataType = "Integer", example = "1", required = true) | |||
private Integer status; | |||
} |
@@ -0,0 +1,21 @@ | |||
package com.neusoft.smart.pos.dto.device.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.List; | |||
@Data | |||
@ApiModel | |||
public class DeviceStoreRequest { | |||
// @NotNull(message = "设备id不可为空") | |||
@ApiModelProperty(name = "deviceIds", value = "设备id", dataType = "List", example = "[1]", required = true) | |||
private List<Integer> deviceIds; | |||
@NotNull(message = "门店id不可为空") | |||
@ApiModelProperty(name = "storeId", value = "门店id", dataType = "Integer", example = "1", required = true) | |||
private Integer storeId; | |||
} |
@@ -0,0 +1,18 @@ | |||
package com.neusoft.smart.pos.dto.device.response; | |||
import lombok.Data; | |||
import java.util.List; | |||
@Data | |||
public class ConfigStrategyDetailResponse { | |||
List<DeviceResponse> deviceList; | |||
List<ConfigStrategyResponse> configStrategyList; | |||
public ConfigStrategyDetailResponse(List<ConfigStrategyResponse> configStrategyList, List<DeviceResponse> deviceList) { | |||
this.configStrategyList = configStrategyList; | |||
this.deviceList = deviceList; | |||
} | |||
} |
@@ -0,0 +1,22 @@ | |||
package com.neusoft.smart.pos.dto.device.response; | |||
import lombok.Data; | |||
import java.util.Date; | |||
@Data | |||
public class ConfigStrategyGroupResponse { | |||
private Integer id; | |||
private String strategyName; | |||
private Integer createdBy; | |||
private Date createdDate; | |||
private Integer organizationId; | |||
private Integer status; | |||
} |
@@ -0,0 +1,22 @@ | |||
package com.neusoft.smart.pos.dto.device.response; | |||
import lombok.Data; | |||
@Data | |||
public class ConfigStrategyResponse { | |||
private Integer id; | |||
private Integer strategyId; | |||
private Integer deviceId; | |||
private String configUrl; | |||
private String configFileName; | |||
private String configFileCode; | |||
private Integer status; | |||
} |
@@ -0,0 +1,18 @@ | |||
package com.neusoft.smart.pos.dto.device.response; | |||
import com.neusoft.smart.pos.redis.bean.DeviceConfig; | |||
import io.swagger.annotations.ApiModel; | |||
import lombok.Data; | |||
import java.util.List; | |||
@Data | |||
@ApiModel("老版配置接口所用,首字母大写的") | |||
public class DeviceConfigResponse{ | |||
private Integer St; | |||
private String Msg; | |||
private List<DeviceConfig> Config; | |||
} |
@@ -0,0 +1,53 @@ | |||
package com.neusoft.smart.pos.dto.device.response; | |||
import lombok.Data; | |||
import java.util.Date; | |||
@Data | |||
public class DeviceResponse { | |||
private Integer id; | |||
private String macAddr; | |||
private String serialNo; | |||
private String curVersion; | |||
private String manufacturer; | |||
private String region; | |||
private String department; | |||
private String customer; | |||
private String deviceType; | |||
private String deviceModel; | |||
private String alias; | |||
private Integer createdBy; | |||
private Date createdDate; | |||
private Integer lastModifiedBy; | |||
private Date lastModifiedDate; | |||
private Integer status; | |||
private String signalStrength; | |||
private String ipAddress; | |||
private Date lastRequestTime; | |||
private Integer organizationId; | |||
private Integer storeId; | |||
private String note; | |||
} |
@@ -0,0 +1,19 @@ | |||
package com.neusoft.smart.pos.dto.device.response; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.NoArgsConstructor; | |||
@Data | |||
@NoArgsConstructor | |||
public class GetAppProjectConfigResponse { | |||
@ApiModelProperty(name = "appId", value = "应用ID", dataType = "String" ,example="121") | |||
public String appId; | |||
@ApiModelProperty(name = "projectId", value = "项目ID", dataType = "String" ,example="121") | |||
public String projectId; | |||
@ApiModelProperty(name = "paramJson", value = "参数json信息", dataType = "String" ,example="121") | |||
public String paramJson; | |||
} |
@@ -0,0 +1,16 @@ | |||
package com.neusoft.smart.pos.dto.device.response; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import lombok.NoArgsConstructor; | |||
@Data | |||
@NoArgsConstructor | |||
public class GetDeviceAuthLicenceResponse { | |||
@ApiModelProperty(name = "name", value = "名称", dataType = "String" ,example="121") | |||
public String name; | |||
@ApiModelProperty(name = "account", value = "账号", dataType = "String" ,example="121") | |||
public String account; | |||
} |
@@ -0,0 +1,25 @@ | |||
package com.neusoft.smart.pos.dto.fumao.bean; | |||
import lombok.Data; | |||
import java.io.Serializable; | |||
import java.math.BigDecimal; | |||
@Data | |||
public class MemberDiscount implements Serializable { | |||
private String level; | |||
private Integer sequence; | |||
private Integer discount; | |||
private String discount_description; | |||
private Long order_amount; | |||
private Long discount_amount; | |||
private Long order_amount_left; | |||
private String remain_amount; | |||
} |
@@ -0,0 +1,10 @@ | |||
package com.neusoft.smart.pos.dto.fumao.bean; | |||
import lombok.Data; | |||
import java.util.Date; | |||
@Data | |||
public class NeuInfoBean { | |||
private String sn; | |||
} |
@@ -0,0 +1,26 @@ | |||
package com.neusoft.smart.pos.dto.fumao.bean; | |||
import lombok.Data; | |||
import java.util.Date; | |||
import java.util.List; | |||
@Data | |||
public class ParameterforNextStepBean { | |||
private String actionName; | |||
private String orderNumber; | |||
private String totalAmount; | |||
private String payAmount; | |||
private String cardId; | |||
private List<String> payType; | |||
private List<String> couponList; | |||
private String scanCode; | |||
} |
@@ -0,0 +1,23 @@ | |||
package com.neusoft.smart.pos.dto.fumao.bean; | |||
import lombok.Data; | |||
import java.util.Date; | |||
@Data | |||
public class ThirdPartyInfoBean { | |||
private String operatorID; | |||
private String merchantID; | |||
private String tenantID; | |||
private String memberID; | |||
private String memberPhoneNumber; | |||
private String token; | |||
private String businessType; //(0:核销, 1:支付 | |||
} |
@@ -0,0 +1,35 @@ | |||
package com.neusoft.smart.pos.dto.fumao.request; | |||
import com.neusoft.smart.pos.dto.payment.response.FumaoParameterforNextStep; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import org.hibernate.validator.constraints.NotEmpty; | |||
import com.neusoft.smart.pos.dto.fumao.bean.NeuInfoBean; | |||
import com.neusoft.smart.pos.dto.fumao.bean.ParameterforNextStepBean; | |||
import com.neusoft.smart.pos.dto.fumao.bean.ThirdPartyInfoBean; | |||
import java.math.BigDecimal; | |||
import java.util.Date; | |||
import java.util.List; | |||
/** | |||
* @author tjm | |||
* @date 2019-08-29 10:43 | |||
* @description 富茂订单新增使用Request | |||
*/ | |||
@Data | |||
@ApiModel | |||
public class PostFumaoTradeOrderRequest { | |||
@ApiModelProperty(name = "neuInfo", value = "东软云POS端信息", dataType = "NeuInfo类") | |||
private NeuInfoBean neuInfo; | |||
@ApiModelProperty(name = "thirdPartyInfo", value = "三方富茂端信息", dataType = "ThirdPartyInfo类") | |||
private ThirdPartyInfoBean thirdPartyInfo; | |||
@ApiModelProperty(name = "parameterforNextStep", value = "请求相关数据", dataType = "String" ,example="ParameterforNextStep类") | |||
private FumaoParameterforNextStep parameterforNextStep; | |||
} |
@@ -0,0 +1,29 @@ | |||
package com.neusoft.smart.pos.dto.inventory.bean; | |||
import lombok.Data; | |||
import java.util.Date; | |||
@Data | |||
public class LockStorageBean { | |||
private Integer id; | |||
private String orderId; | |||
private Integer goodsId; | |||
private Integer goodsBatchId; | |||
private Integer beforeLockCount; | |||
private Integer lockCount; | |||
private Date lockTime; | |||
private Date expireTime; | |||
private Integer status; | |||
private Integer version; | |||
} |
@@ -0,0 +1,25 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
@Data | |||
@ApiModel | |||
abstract public class BaseGetGoodsListRequest { | |||
@ApiModelProperty(hidden = true) | |||
protected Integer org; | |||
@ApiModelProperty(value = "门店id") | |||
protected Integer store; | |||
@ApiModelProperty(value = "是否上架 1: 上架 0: 下架") | |||
protected Integer onSale; | |||
@ApiModelProperty(value = "offset") | |||
protected Integer offset; | |||
@ApiModelProperty(value = "limit") | |||
protected Integer limit; | |||
} |
@@ -0,0 +1,54 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
import java.math.BigDecimal; | |||
import java.util.List; | |||
@Data | |||
@ApiModel | |||
public class BatchCreateRetailGoodsRequest { | |||
@ApiModelProperty(value = "门店id") | |||
private Integer store; | |||
@NotNull(message = "数据不能为空") | |||
@ApiModelProperty(value = "创建数据") | |||
private List<Item> data; | |||
@Data | |||
public static class Item { | |||
@NotNull(message = "条码不能为空") | |||
@ApiModelProperty(value = "条码", required = true) | |||
protected String barCode; | |||
@NotNull(message = "商品名不能为空") | |||
@ApiModelProperty(value = "商品名称", required = true) | |||
protected String name; | |||
@NotNull(message = "商品价格不能为空") | |||
@ApiModelProperty(value = "商品价格", required = true) | |||
protected BigDecimal price; | |||
@NotNull(message = "商品规格不能为空") | |||
@ApiModelProperty(value = "商品规格", required = true) | |||
protected String unit; | |||
@NotNull(message = "商品类别不能为空") | |||
@ApiModelProperty(value = "商品类别名", required = true) | |||
protected Integer categoryId; | |||
@NotNull(message = "是否库存管理不能为空") | |||
@ApiModelProperty(value = "是否库存管理", required = true) | |||
private Integer isStock; | |||
@NotNull(message = "商品规格精度不能为空") | |||
@ApiModelProperty(value = "商品规格精度", required = true) | |||
private Integer scale; | |||
} | |||
} |
@@ -0,0 +1,29 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
@Data | |||
@ApiModel | |||
public class CreateCategoryRequest { | |||
@NotNull(message = "类别名称不能为空") | |||
@ApiModelProperty(value = "类别名称", required = true) | |||
private String name; | |||
@NotNull(message = "行业不能为空") | |||
@ApiModelProperty(value = "行业 餐饮: 1", required = true) | |||
private byte industry; | |||
@ApiModelProperty(value = "父类别id") | |||
private Integer parent; | |||
@ApiModelProperty(hidden = true) | |||
private Integer org; | |||
@ApiModelProperty(value = "门店id") | |||
private Integer store; | |||
} |
@@ -0,0 +1,44 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.List; | |||
@Data | |||
@ApiModel | |||
public class CreateMenuRequest { | |||
@NotNull(message = "菜品名不能为空") | |||
@ApiModelProperty(value = "菜品名", required = true) | |||
protected String name; | |||
@NotNull(message = "菜品价格不能为空") | |||
@ApiModelProperty(value = "菜品价格", required = true) | |||
protected Double price; | |||
@NotNull(message = "菜品类别不能为空") | |||
@ApiModelProperty(value = "菜品类别", required = true) | |||
protected Integer category; | |||
@ApiModelProperty(value = "菜品标签") | |||
protected List<Integer> tags; | |||
/*@NotNull(message = "集团id不能为空") | |||
@ApiModelProperty(value = "集团id", required = true) | |||
protected Integer org;*/ | |||
/*@NotNull(message = "门店id不能为空")*/ | |||
@ApiModelProperty(value = "门店id", required = true) | |||
protected Integer shop; | |||
@ApiModelProperty(value = "是否上架 1: 上架 0: 下架") | |||
protected Byte onSale; | |||
@ApiModelProperty(value = "图片") | |||
protected String image; | |||
protected Integer order; | |||
} |
@@ -0,0 +1,29 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
@Data | |||
@ApiModel | |||
public class CreateTagRequest { | |||
@NotNull(message = "标签名称不能为空") | |||
@ApiModelProperty(value = "标签名称", required = true) | |||
private String name; | |||
@NotNull(message = "行业不能为空") | |||
@ApiModelProperty(value = "行业 餐饮: 1", required = true) | |||
private Integer industry; | |||
private Integer org; | |||
@ApiModelProperty(value = "门店id") | |||
private Integer shop; | |||
private Integer type; | |||
private Integer order; | |||
} |
@@ -0,0 +1,19 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModel; | |||
import lombok.Data; | |||
import java.util.Date; | |||
@Data | |||
@ApiModel | |||
public class FinancialListRequest { | |||
private Date startTime; | |||
private Date endTime; | |||
private Integer type; | |||
private Integer mode; | |||
} |
@@ -0,0 +1,31 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
@Data | |||
@ApiModel | |||
public class GetCategoriesRequest { | |||
@NotNull | |||
@ApiModelProperty(value = "是否删除 1:是, 0:否") | |||
private Integer deleted; | |||
@ApiModelProperty(value = "预设类别") | |||
private Integer preset; | |||
@ApiModelProperty(hidden = true) | |||
private Integer org; | |||
@ApiModelProperty(value = "门店id") | |||
private Integer shop; | |||
@ApiModelProperty(value = "门店id") | |||
private Integer store; | |||
@ApiModelProperty(value = "父类别id") | |||
private Integer parent; | |||
} |
@@ -0,0 +1,24 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import java.util.List; | |||
@Data | |||
@ApiModel | |||
public class GetRetailGoodsListRequest extends BaseGetGoodsListRequest { | |||
@ApiModelProperty(value = "条码") | |||
private String barCode; | |||
@ApiModelProperty(value = "商品名称") | |||
private String name; | |||
@ApiModelProperty(value = "类型id") | |||
private Integer categoryId; | |||
@ApiModelProperty(hidden = true) | |||
private List<Integer> storeIds; | |||
} |
@@ -0,0 +1,13 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import lombok.Data; | |||
@Data | |||
public class GetSupplierRequest { | |||
private String name; | |||
private Integer status; | |||
private Integer shopId; | |||
} |
@@ -0,0 +1,24 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
@Data | |||
@ApiModel | |||
public class GetTagsRequest { | |||
@ApiModelProperty(value = "集团id") | |||
private Integer org; | |||
@ApiModelProperty(value = "门店id") | |||
private Integer shop; | |||
@NotNull | |||
private Integer type; | |||
@NotNull | |||
private Integer industry; | |||
} |
@@ -0,0 +1,10 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import com.neusoft.smart.pos.dto.AbstractQuery; | |||
import lombok.Data; | |||
@Data | |||
public class GoodsApprovalQueryRequest extends AbstractQuery { | |||
private Integer storeId; | |||
} |
@@ -0,0 +1,29 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import org.hibernate.validator.constraints.NotEmpty; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.List; | |||
@Data | |||
@ApiModel | |||
public class GoodsApprovalRequest { | |||
// @NotNull(message = "审批id") | |||
// @ApiModelProperty(value = "审批id", required = true) | |||
// private Integer id; | |||
@NotEmpty(message = "审批id集合不可为空") | |||
@ApiModelProperty(value = "审批id集合", required = true) | |||
private List<Integer> ids; | |||
@NotNull(message = "审批状态不可为空") | |||
@ApiModelProperty(value = "审批状态 1 通过 2 拒绝", required = true) | |||
private Integer approvalStatus; | |||
@ApiModelProperty(value = "审批意见") | |||
private String opinion; | |||
} |
@@ -0,0 +1,15 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import lombok.Data; | |||
@Data | |||
public class InventoryCheckStockDetailRequest { | |||
private Integer checkId; | |||
private Integer checkStatus; | |||
private Integer limit; | |||
private Integer offset; | |||
} |
@@ -0,0 +1,13 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import lombok.Data; | |||
@Data | |||
public class InventoryCheckStockListRequest { | |||
private Integer shopId; | |||
private Integer limit; | |||
private Integer offset; | |||
} |
@@ -0,0 +1,21 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModel; | |||
import lombok.Data; | |||
@Data | |||
@ApiModel | |||
public class InventoryConfigRequest { | |||
private Integer id; | |||
private Integer orgId; | |||
private Integer shopId; | |||
private Integer isLock; | |||
private Integer canNegativeStorage; | |||
private Integer needApproval; | |||
} |
@@ -0,0 +1,40 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import com.neusoft.smart.pos.dto.AbstractQuery; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import java.util.List; | |||
@Data | |||
public class InventoryGoodsQueryRequest extends AbstractQuery { | |||
@ApiModelProperty(value = "菜品名") | |||
private String name; | |||
@ApiModelProperty(value = "一维码") | |||
private String barCode; | |||
@ApiModelProperty(value = "菜品类别,多个类别以'|'分割") | |||
private String categories; | |||
@ApiModelProperty(value = "菜品标签,多个标签以'|'分割") | |||
private String tags; | |||
@ApiModelProperty(value = "集团id") | |||
private Integer orgId; | |||
@ApiModelProperty(value = "门店id") | |||
private Integer shopId; | |||
@ApiModelProperty(value = "门店id集合") | |||
private List<Integer> shopIds; | |||
@ApiModelProperty(value = "是否上架 1: 上架 0: 下架") | |||
private Integer onSale; | |||
@ApiModelProperty(value = "是否不包含餐位费") | |||
private Boolean withoutServiceCharge = true; | |||
private String orderByClause; | |||
} |
@@ -0,0 +1,11 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModel; | |||
import lombok.Data; | |||
@Data | |||
@ApiModel | |||
public class InventoryRequest { | |||
private Integer goodsId; | |||
} |
@@ -0,0 +1,32 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
@Data | |||
public class InventoryStoreHistoryRequest { | |||
@NotNull | |||
private Integer offset; | |||
@NotNull | |||
private Integer limit; | |||
@NotNull | |||
private Integer shopId; | |||
private Boolean isPage; | |||
private Integer actionDire; | |||
private String goodsBarCode; | |||
private String goodsName; | |||
private String goodsCategory; | |||
private String startDate; | |||
private String endDate; | |||
} |
@@ -0,0 +1,36 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
@Data | |||
public class InventoryStoreRequest { | |||
private Integer shopId; | |||
@NotNull | |||
private Integer offset; | |||
@NotNull | |||
private Integer limit; | |||
private Boolean isPage; | |||
private String goodsBarCode; | |||
private String goodsName; | |||
private Integer goodsCategory; | |||
private Integer supplierId; | |||
private String operator; | |||
@ApiModelProperty(name = "startDate", value = "开始日期(大于等于)", dataType = "String", example = "2018-05-24") | |||
private String startDate; | |||
@ApiModelProperty(name = "endDate", value = "结束日期(小于等于)", dataType = "String", example = "2018-05-24") | |||
private String endDate; | |||
} |
@@ -0,0 +1,41 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
import java.util.List; | |||
@Data | |||
@ApiModel | |||
public class PatchUpdateMenuRequest { | |||
@NotNull(message = "菜品id不能为空") | |||
@ApiModelProperty(value = "菜品id") | |||
private Integer id; | |||
@ApiModelProperty(value = "菜品名") | |||
private String name; | |||
@ApiModelProperty(value = "菜品价格") | |||
private Double price; | |||
@ApiModelProperty(value = "菜品类别") | |||
private Integer category; | |||
@ApiModelProperty(value = "菜品标签") | |||
private List<Integer> tags; | |||
/*@ApiModelProperty(value = "集团id") | |||
private Integer org;*/ | |||
@ApiModelProperty(value = "门店id") | |||
private Integer shop; | |||
@ApiModelProperty(value = "是否上架 1: 上架 0: 下架") | |||
private Byte onSale; | |||
@ApiModelProperty(value = "图片") | |||
private String image; | |||
} |
@@ -0,0 +1,16 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
@Data | |||
@ApiModel | |||
public class PosGetMenusRequest { | |||
@NotNull(message = "sn code不能为空") | |||
@ApiModelProperty(value = "pos sn code", required = true) | |||
private String snCode; | |||
} |
@@ -0,0 +1,55 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
import java.math.BigDecimal; | |||
@Data | |||
@ApiModel | |||
public class PostInventoryGoodsInfoRequest { | |||
@ApiModelProperty(value = "条码", required = true) | |||
protected String barCode; | |||
@NotNull(message = "商品名不能为空") | |||
@ApiModelProperty(value = "商品名称", required = true) | |||
protected String name; | |||
@NotNull(message = "商品价格不能为空") | |||
@ApiModelProperty(value = "商品价格", required = true) | |||
protected BigDecimal price; | |||
@NotNull(message = "商品规格不能为空") | |||
@ApiModelProperty(value = "商品规格", required = true) | |||
protected String unit; | |||
@NotNull(message = "商品类别不能为空") | |||
@ApiModelProperty(value = "商品类别", required = true) | |||
protected Integer categoryId; | |||
@ApiModelProperty(hidden = true) | |||
protected Integer org; | |||
@ApiModelProperty(value = "门店id") | |||
protected Integer store; | |||
@ApiModelProperty(value = "是否上架 1: 上架 0: 下架") | |||
protected Integer onSale; | |||
private Integer id; | |||
@NotNull(message = "商品是否需要库存不可以为空") | |||
@ApiModelProperty(value = "商品是否需要库存", required = true) | |||
private Integer isStock; | |||
private Integer scale; | |||
private String image; | |||
private Integer priority; | |||
private Integer isThirdparty; | |||
} |
@@ -0,0 +1,61 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import java.io.Serializable; | |||
import java.math.BigDecimal; | |||
import java.util.Date; | |||
@Data | |||
@ApiModel | |||
public class PostInventoryStoreBatchRequest implements Serializable { | |||
@ApiModelProperty(name = "id", value = "ID", dataType = "Integer", example = "1") | |||
private Integer id; | |||
@ApiModelProperty(name = "goodsId", value = "商品ID", dataType = "Integer", required = true, example = "123") | |||
private Integer goodsId; | |||
private String goodsName; | |||
private Integer orgId; | |||
@ApiModelProperty(name = "shopId", value = "门店ID", dataType = "Integer", required = true, example = "123") | |||
private Integer shopId; | |||
@ApiModelProperty(name = "storageNum", value = "入库出库数量", dataType = "BigDecimal", required = true, example = "10.0") | |||
private BigDecimal storageNum; | |||
@ApiModelProperty(name = "inPrice", value = "进价", dataType = "BigDecimal", example = "10.5") | |||
private BigDecimal inPrice; | |||
@ApiModelProperty(name = "salePrice", value = "售价", dataType = "BigDecimal", example = "10.5") | |||
private BigDecimal salePrice; | |||
@ApiModelProperty(name = "supplier", value = "厂家ID", dataType = "Integer", example = "110") | |||
private Integer supplier; | |||
@ApiModelProperty(name = "madeDate", value = "生产日期", dataType = "Date", example = "2018-01-01") | |||
private Date madeDate; | |||
@ApiModelProperty(name = "qualityDate", value = "过期日期", dataType = "Date", example = "2018-05-01") | |||
private Date qualityDate; | |||
@ApiModelProperty(name = "actionType", value = "活动类型", dataType = "String", example = "10") | |||
private String actionType; | |||
private Integer actionDire; | |||
@ApiModelProperty(name = "uniqId", value = "销售/退货/盘点的唯一标识", dataType = "String", example = "201801010101") | |||
private String uniqId; | |||
@ApiModelProperty(name = "pulPrice", value = "进价(用于绑定查询到的批次的单价)", dataType = "BigDecimal", example = "10.5") | |||
private BigDecimal pulPrice; | |||
@ApiModelProperty(name = "operator", value = "操作人", dataType = "String", example = "aaa") | |||
private String operator; | |||
} |
@@ -0,0 +1,25 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import lombok.Data; | |||
@Data | |||
public class PostSupplierRequest { | |||
private Integer shopId; | |||
private Integer id; | |||
private String name; | |||
private String telephone; | |||
private String email; | |||
private String supplierUser; | |||
private Integer status; | |||
private String address; | |||
private String content; | |||
} |
@@ -0,0 +1,16 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
@Data | |||
@ApiModel | |||
public class PostUpdateMenuRequest extends CreateMenuRequest { | |||
@NotNull(message = "菜品id不能为空") | |||
@ApiModelProperty(value = "菜品id", required = true) | |||
private Integer id; | |||
} |
@@ -0,0 +1,56 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
import javax.validation.constraints.Size; | |||
import java.math.BigDecimal; | |||
@Data | |||
@ApiModel | |||
public class PutInventoryGoodsInfoRequest { | |||
@ApiModelProperty(value = "条码") | |||
@Size(max = 15) | |||
protected String barCode; | |||
@ApiModelProperty(value = "商品名称") | |||
@Size(max = 15) | |||
protected String name; | |||
@ApiModelProperty(value = "商品价格") | |||
protected BigDecimal price; | |||
@ApiModelProperty(value = "商品规格") | |||
@Size(max = 8) | |||
protected String unit; | |||
@ApiModelProperty(value = "商品类别") | |||
protected Integer categoryId; | |||
@ApiModelProperty(hidden = true) | |||
protected Integer org; | |||
@ApiModelProperty(value = "门店id") | |||
protected Integer store; | |||
@ApiModelProperty(value = "是否上架 1: 上架 0: 下架") | |||
protected Integer onSale; | |||
@ApiModelProperty(value = "id") | |||
@NotNull(message = "id不可为空") | |||
private Integer id; | |||
@ApiModelProperty(value = "商品是否需要库存") | |||
private Integer isStock = 0; | |||
private Integer scale; | |||
private String image; | |||
private Integer priority; | |||
private Integer isThirdparty; | |||
} |
@@ -0,0 +1,38 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import java.io.Serializable; | |||
import java.math.BigDecimal; | |||
@Data | |||
@ApiModel | |||
public class PutInventoryStoreBatchRequest implements Serializable { | |||
@ApiModelProperty(name = "goodsId", value = "商品ID", dataType = "Integer", required = true, example = "123") | |||
private Integer goodsId; | |||
@ApiModelProperty(name = "orgId", value = "集团ID", dataType = "Integer", required = true, example = "123") | |||
private Integer orgId; | |||
@ApiModelProperty(name = "shopId", value = "门店ID", dataType = "Integer", required = true, example = "123") | |||
private Integer shopId; | |||
@ApiModelProperty(name = "storageNum", value = "入库出库数量", dataType = "BigDecimal", required = true, example = "10.0") | |||
private BigDecimal storageNum; | |||
@ApiModelProperty(name = "salePrice", value = "售价", dataType = "BigDecimal", example = "10.5") | |||
private BigDecimal salePrice; | |||
@ApiModelProperty(name = "supplier", value = "厂家ID", dataType = "Integer", example = "110") | |||
private Integer supplier; | |||
@ApiModelProperty(name = "uniqId", value = "销售/退货/盘点的唯一标识", dataType = "String", example = "201801010101") | |||
private String uniqId; | |||
@ApiModelProperty(name = "operator", value = "操作人", dataType = "String", example = "aaa") | |||
private String operator; | |||
} |
@@ -0,0 +1,11 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import lombok.Data; | |||
@Data | |||
public class ReorderRequest { | |||
private Integer id; | |||
private Integer order; | |||
} |
@@ -0,0 +1,51 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
import java.math.BigDecimal; | |||
import java.util.Date; | |||
import java.util.List; | |||
@Data | |||
@ApiModel | |||
public class SellAndWarehouseOutRequest { | |||
@NotNull | |||
private String orderNum; | |||
// @NotNull | |||
// private Date orderExpireTime; | |||
@NotNull | |||
private Integer orgId; | |||
@NotNull | |||
private Integer shopId; | |||
@NotNull | |||
private List<OrderItem> orderItems; | |||
@Data | |||
public static class OrderItem { | |||
@ApiModelProperty(name = "goodsId", value = "商品ID", dataType = "Integer", required = true, example = "123") | |||
private Integer goodsId; | |||
@ApiModelProperty(name = "orgId", value = "集团ID", dataType = "Integer", required = true, example = "123") | |||
private Integer orgId; | |||
@ApiModelProperty(name = "shopId", value = "门店ID", dataType = "Integer", required = true, example = "123") | |||
private Integer shopId; | |||
@ApiModelProperty(name = "storageNum", value = "售卖数量(计算后,非原始)", dataType = "BigDecimal", required = true, example = "10.0") | |||
private BigDecimal storageNum; | |||
@ApiModelProperty(name = "scale", value = "精度", dataType = "Integer", required = true, example = "2") | |||
private Integer scale = 0; | |||
} | |||
} |
@@ -0,0 +1,25 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
@Data | |||
@ApiModel | |||
public class UpdateCategoryRequest { | |||
@ApiModelProperty(value = "类别名称", required = true) | |||
private String name; | |||
@NotNull(message = "行业不能为空") | |||
@ApiModelProperty(value = "行业 餐饮: 1", required = true) | |||
private byte industry; | |||
@ApiModelProperty(value = "门店id") | |||
private Integer store; | |||
@ApiModelProperty(value = "父类别id") | |||
private Integer parent; | |||
} |
@@ -0,0 +1,24 @@ | |||
package com.neusoft.smart.pos.dto.inventory.request; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import javax.validation.constraints.NotNull; | |||
@Data | |||
@ApiModel | |||
public class UpdateTagRequest { | |||
@ApiModelProperty(value = "类别名称", required = true) | |||
private String name; | |||
@ApiModelProperty(value = "门店id") | |||
private Integer shop; | |||
@NotNull(message = "行业不能为空") | |||
@ApiModelProperty(value = "行业 餐饮: 1", required = true) | |||
private Integer industry; | |||
private Integer type; | |||
} |
@@ -0,0 +1,50 @@ | |||
package com.neusoft.smart.pos.dto.inventory.response; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import java.math.BigDecimal; | |||
@ApiModel | |||
@Data | |||
public abstract class BaseMenuResponse { | |||
@ApiModelProperty(value = "菜品id") | |||
protected Integer id; | |||
@ApiModelProperty(value = "菜品名") | |||
protected String name; | |||
@ApiModelProperty(value = "菜品价格") | |||
protected BigDecimal price; | |||
@ApiModelProperty(value = "菜品类别id") | |||
protected Integer category; | |||
@ApiModelProperty(value = "集团id") | |||
protected Integer org; | |||
@ApiModelProperty(value = "门店id") | |||
protected Integer shop; | |||
@ApiModelProperty(value = "菜品是否上架 1: 上架 0: 下架") | |||
protected Integer onSale; | |||
@ApiModelProperty(value = "图片") | |||
protected String image; | |||
public BaseMenuResponse(InventoryGoodsResponse goodsMenu) { | |||
id = goodsMenu.getId(); | |||
name = goodsMenu.getName(); | |||
price = goodsMenu.getPrice(); | |||
category = goodsMenu.getCateId(); | |||
org = goodsMenu.getOrgId(); | |||
shop = goodsMenu.getShopId(); | |||
onSale = goodsMenu.getOnSale(); | |||
image = goodsMenu.getImage(); | |||
} | |||
public BaseMenuResponse() { | |||
} | |||
} |
@@ -0,0 +1,35 @@ | |||
package com.neusoft.smart.pos.dto.inventory.response; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
@ApiModel | |||
@Data | |||
public class CategoryResponse { | |||
@ApiModelProperty(value = "类别id") | |||
private Integer id; | |||
@ApiModelProperty(value = "父类别id") | |||
private Integer parent; | |||
@ApiModelProperty(value = "类别名称") | |||
private String name; | |||
@ApiModelProperty(value = "商品类型") | |||
private Integer industry; | |||
@ApiModelProperty(value = "集团id") | |||
private Integer org; | |||
@ApiModelProperty(value = "门店id") | |||
private Integer shop; | |||
@ApiModelProperty(value = "门店id") | |||
private Integer store; | |||
@ApiModelProperty(value = "排序") | |||
private Integer order; | |||
} |
@@ -0,0 +1,24 @@ | |||
package com.neusoft.smart.pos.dto.inventory.response; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import java.util.Map; | |||
@ApiModel | |||
@Data | |||
public class FullMenuResponse extends BaseMenuResponse { | |||
@ApiModelProperty(value = "类别名称") | |||
private String cateName; | |||
@ApiModelProperty(value = "菜品标签 id => name") | |||
private Map<Integer, String> tags; | |||
public FullMenuResponse(InventoryGoodsResponse goodsMenu, Map<Integer, String> tags) { | |||
super(goodsMenu); | |||
cateName = goodsMenu.getCateName(); | |||
this.tags = tags; | |||
} | |||
} |
@@ -0,0 +1,33 @@ | |||
package com.neusoft.smart.pos.dto.inventory.response; | |||
import lombok.Data; | |||
import java.util.Date; | |||
@Data | |||
public class GoodsApprovalOpinionResponse { | |||
private Integer id; | |||
private Integer goodsId; | |||
private Integer approvalStatus; | |||
private String opinion; | |||
private Integer approvalType; | |||
private Date createTime; | |||
private Integer createBy; | |||
private Integer orgId; | |||
private Integer storeId; | |||
private String requestData; | |||
private String originalData; | |||
} |
@@ -0,0 +1,18 @@ | |||
package com.neusoft.smart.pos.dto.inventory.response; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import java.util.List; | |||
@ApiModel | |||
@Data | |||
public class GoodsListResponse<T> { | |||
@ApiModelProperty(value = "总数") | |||
private Integer total; | |||
@ApiModelProperty(value = "商品列表") | |||
private List<T> data; | |||
} |
@@ -0,0 +1,31 @@ | |||
package com.neusoft.smart.pos.dto.inventory.response; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import java.util.ArrayList; | |||
import java.util.List; | |||
@ApiModel | |||
@Data | |||
public class InventoryCategoryTreeResponse { | |||
private Integer id; | |||
private Integer parentId; | |||
private String name; | |||
private Integer orgId; | |||
private Integer shopId; | |||
private Integer deleted; | |||
private Integer priority; | |||
@ApiModelProperty(value = "子类别集合") | |||
private List<InventoryCategoryTreeResponse> children = new ArrayList<>(); | |||
} |
@@ -0,0 +1,17 @@ | |||
package com.neusoft.smart.pos.dto.inventory.response; | |||
import io.swagger.annotations.ApiModel; | |||
import lombok.Data; | |||
@Data | |||
@ApiModel | |||
public class InventoryCheckBillDetailResponse { | |||
private Integer goodsId; | |||
private Integer checkId; | |||
private Integer recordNum; | |||
private Integer realNum; | |||
} |
@@ -0,0 +1,21 @@ | |||
package com.neusoft.smart.pos.dto.inventory.response; | |||
import io.swagger.annotations.ApiModel; | |||
import lombok.Data; | |||
import java.util.Date; | |||
@Data | |||
@ApiModel | |||
public class InventoryCheckBillResponse { | |||
private Integer id; | |||
private String checkNum; | |||
private String checkUser; | |||
private Date checkTime; | |||
private Integer status; | |||
} |
@@ -0,0 +1,38 @@ | |||
package com.neusoft.smart.pos.dto.inventory.response; | |||
import lombok.Data; | |||
import java.math.BigDecimal; | |||
import java.util.List; | |||
@Data | |||
public class InventoryCheckStockDetailResponse { | |||
private Integer total; | |||
private List<Entry> data; | |||
@Data | |||
public static class Entry { | |||
private Integer id; | |||
private String goodsBarCode; | |||
private String goodsName; | |||
private String goodsCategory; | |||
private String supplier; | |||
private String goodsUnit; | |||
private BigDecimal stockNum; | |||
private BigDecimal checkNum; | |||
private BigDecimal diffNum; | |||
private String remark; | |||
} | |||
} |
@@ -0,0 +1,26 @@ | |||
package com.neusoft.smart.pos.dto.inventory.response; | |||
import com.fasterxml.jackson.annotation.JsonFormat; | |||
import lombok.Data; | |||
import java.util.Date; | |||
import java.util.List; | |||
@Data | |||
public class InventoryCheckStockListResponse { | |||
private Integer total; | |||
private List<Entry> data; | |||
@Data | |||
public static class Entry { | |||
private Integer id; | |||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | |||
private Date time; | |||
private String operator; | |||
} | |||
} |
@@ -0,0 +1,13 @@ | |||
package com.neusoft.smart.pos.dto.inventory.response; | |||
import lombok.Data; | |||
@Data | |||
public class InventoryCheckStockSummaryResponse { | |||
private Integer win; | |||
private Integer loss; | |||
private Integer normal; | |||
} |
@@ -0,0 +1,68 @@ | |||
package com.neusoft.smart.pos.dto.inventory.response; | |||
import java.io.Serializable; | |||
public class InventoryGoodsConfigResponse implements Serializable { | |||
private static final long serialVersionUID = 1L; | |||
private Integer id; | |||
private Integer orgId; | |||
private Integer shopId; | |||
private Integer isLock; | |||
private Integer canNegativeStorage; | |||
private Integer needApproval; | |||
public Integer getId() { | |||
return id; | |||
} | |||
public void setId(Integer id) { | |||
this.id = id; | |||
} | |||
public Integer getOrgId() { | |||
return orgId; | |||
} | |||
public void setOrgId(Integer orgId) { | |||
this.orgId = orgId; | |||
} | |||
public Integer getShopId() { | |||
return shopId; | |||
} | |||
public void setShopId(Integer shopId) { | |||
this.shopId = shopId; | |||
} | |||
public Integer getIsLock() { | |||
return isLock; | |||
} | |||
public void setIsLock(Integer isLock) { | |||
this.isLock = isLock; | |||
} | |||
public Integer getCanNegativeStorage() { | |||
return canNegativeStorage; | |||
} | |||
public void setCanNegativeStorage(Integer canNegativeStorage) { | |||
this.canNegativeStorage = canNegativeStorage; | |||
} | |||
public Integer getNeedApproval() { | |||
return needApproval; | |||
} | |||
public void setNeedApproval(Integer needApproval) { | |||
this.needApproval = needApproval; | |||
} | |||
} |
@@ -0,0 +1,58 @@ | |||
package com.neusoft.smart.pos.dto.inventory.response; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
import java.math.BigDecimal; | |||
import java.util.Date; | |||
import java.util.Map; | |||
@Data | |||
public class InventoryGoodsResponse { | |||
private Integer id; | |||
private String name; | |||
private String barCode; | |||
private String unit; | |||
private Integer scale; | |||
private BigDecimal price; | |||
private String image; | |||
private Integer onSale; | |||
private Integer orgId; | |||
private Integer shopId; | |||
private Integer cateId; | |||
private Integer deleted; | |||
private Integer isStock; | |||
private String isStockStr; | |||
private Integer priority; | |||
private Integer isThirdparty; | |||
private Date createdTime; | |||
private Integer createdBy; | |||
private Date updatedTime; | |||
private Integer updatedBy; | |||
@ApiModelProperty(value = "类别名称") | |||
private String cateName; | |||
@ApiModelProperty(value = "菜品标签 id => name") | |||
private Map<Integer, String> tags; | |||
} |