# project2-wechat-mall
**Repository Path**: varcha/project2-wechat-mall
## Basic Information
- **Project Name**: project2-wechat-mall
- **Description**: 35th王道训练营小组项目二
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2021-11-26
- **Last Updated**: 2021-12-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# project2
## 每日任务
每日任务:[doge project2 每日任务 (腾讯文档)](https://docs.qq.com/doc/DSnZEaGFZcmp5dFNR)
进度表:[35th项目进度表 (腾讯文档)](https://docs.qq.com/sheet/DSkRHTGNlWXVBaXZD?tab=BB08J2)
## 介绍
1. 微信小程序商城
2. 后台管理:vue http://182.92.235.201
3. 前台商城:小程序
##### 前端代码
1. 查看vue组件
2. src/api js文件 -> 对应请求相关内容
3. src/utils js文件
4. src/views vue文件
5. 使用nodejs将前端代码跑起来
##### 数据库
1. sql脚本:建表,添加数据
2. 逻辑删除:deleted 字段
3. 如果修改了数据库表的结构,把修改结构的sql语句记录保存下来。
1. 本地环境,线上环境 ; 开发/测试环境,生产环境 ——> 本地的应用程序、代码、表结构都需要同步给远程服务器。
2. 使用 sql脚本 记录:注释:操作;时间;姓名
##### 补充内容
1. 第三天开启小程序
2. 第四天 梳理 Shiro 框架
3. Shiro,阿里云OSS / SMS,MD5,对称加密&非对称加密
## 流程
1. 分工模块,维护进度表
2. 小组远程仓库,添加管理员
3. 集中搭建骨架:整合SpringMVC,整合MyBatis
1. 配置数据库,使用独自的数据库
2. 协调包目录、基本类、工具类、异常处理
## 设置
### 约定配置
1. 包: com.doge
2. bean包:base, auth, pojo, vo, bo
3. controller: admin, wx
4. 数据库url:jdbc:mysql://localhost:3306/35th_market?useUnicode=true&characterEncoding=utf-8
5. commit格式: function;description;姓名;module
6. 依赖:
7. controller:url中前两个相同的是同一个 controller,命名是 第二行+Controller
##### 注释
1. 更改逆向工程自动生成的文件,一定要**添加注释**!!
### MyBaits逆向工程
1. 根据数据库表自动生成:JavaBean,Mapper接口,mapper.xml
2. JavaBean:成员变量名 <==> 列名:名称 + 类型
3. Mapper:增加对应的单表方法(基本crud方法)
4. 映射:xml标签 同 接口中方法对应
##### 依赖
mybatis-generator-core,mysql驱动
1. 生成文件过程无需mybatis依赖,运行需要。
##### 配置文件
指定 --> 数据库(url,username,password) - 表 - pojo类&包目录 - mapper 包目录
##### 关键字
1. 列名为关键字,则Syntax错误 ---> 添加 ``
##### 自增主键
1. 设置 keyGenerated = true, keyProperty = id
##### 模糊查询
1. Example.andXxxxLike(String value) 需要在调用的时候手动拼接 %+value+%
### 异常处理
1. 任何返回错误的处理情况,都是用异常处理实现
### PageHelper
1. 依赖:pagehelper-spring-boot-starter、
2. 配置方言:
```yaml
pageHelper
helper-dialect: mysql
```
3. 在执行查询之前开启分页:
### Gson2Bean
1. 把json字符串转换为 JavaBean
2. GsonFormatter ----> **alt+s**
### 日志
1. 配置 包名 & 日志级别
2. logging.level ---> map类型参数
1. key:包名
2. value:日志级别
```java
// 在执行查询前开启分页
PageHelper.startPage(Param.getPage(), param.getLimit());
// 通过 分页信息PageInfo 得到分页数据: 有参构造 放入查询结果
new PageInfo(users).getTotal(); //获取总的分页信息
```
### 日期格式
##### Converter
对传入的日期String进行处理,转换为日期格式
```json
// 实现 Converter接口,全局配置
@Component
public class DateConverter implements Converter {
@SneakyThrows
@Override
public Date convert(String source) {
Date date=null;
try {
date = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse(source);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
return date;
}
}
// MvcConfiguration 配置
@Override
public void addFormatters(FormatterRegistry registry) {
registry.addConverter(new DateConverter());
}
```
##### Jackson
```yaml
# 在 bean 转换为 json字符串 时候统一日期格式
spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
```
### Validation
##### Hibernate
1. 引入依赖,自动配置
2. 注解判断:
1. BigDecimal
2. 套Bean配置@Valid
3. 正则表达式判断 @Pattern
3. 参数列表: @Valid @ResponseBody Bean bean, BindingResult bind
##### aop
切面函数使用注解,精确在特定的方法中
```java
@Aspect
@Component
public class ParamValidAspect {
/*
* 参考 https://segmentfault.com/q/1010000008418069
* 实现在 类上注解 和 在方法上 注解同时都可以被拦截
* */
@Pointcut("@within(com.doge.util.anno.MarketHibernateValid)
|| @annotation(com.doge.util.anno.MarketHibernateValid)")
public void paramPointcut(){}
@Before("paramPointcut()")
public void before(JoinPoint join) throws Param402Exception {
Object[] args = join.getArgs();
for (Object arg : args) {
if (arg instanceof BindingResult){
String msg = ParamValidation.validHibernate((BindingResult) arg);
if (msg==null) return;
throw new Param402Exception(msg);
}
}
}
}
```
### 工具类
##### TypeHandler
1. 实现接口,或者继承基础类
```java
public class AdminTypeHandler extends BaseTypeHandler {
@Override
public void setNonNullParameter(PreparedStatement ps, int index, Integer[] parameter, JdbcType jdbcType);
@Override
public Integer[] getNullableResult(ResultSet rs, String columnName);
@Override
public Integer[] getNullableResult(ResultSet rs, int columnIndex);
@Override
public Integer[] getNullableResult(CallableStatement cs, int columnIndex);
}
```
2. yml 中配置
3. 绑定 jdbc 类型
##### StringUtils
直接使用 druid 包中的 工具类
```java
import com.alibaba.druid.util.StringUtils;
```
##### 查询配置
```java
获得配置调用:
systemMapper.getMarketSystemByKeyName( 填入要查的系统配置的key名字)
商场配置:
market_mall_name 商城名称
market_mall_address 商城地址
market_mall_longitude 经度 market_mall_latitude 维度
market_mall_phone 联系电话
market_mall_qq 联系qq
运费配置:
market_express_freight_min 运费满减所需最低消费
market_express_freight_value 运费满减不足所需运费
订单配置:
market_order_unpaid 用户下单后超时、用户未付款,则订单自动取消
market_order_unconfirm 订单发货后超期,未确认收货,则订单自动确认收货
market_order_comment 确认收货后超期、未评价商品,则取消评价资格
小程序配置:
market_wx_index_new 新品首发栏商品显示数量
market_wx_index_hot 人气推荐栏目商品显示数量
market_wx_index_brand 品牌制造商直供栏目品牌商显示数量
market_wx_index_topic 专题精选栏目显示数量
market_wx_catlog_list 分类栏目显示数量
market_wx_catlog_goods 分类栏目商品显示数量
market_wx_share 商品分享功能
```
# 后台管理admin
#####
```json
// url:
// req:
// resp:
// 如果 ... 则返回错误
```
> 注意:
>
> req 如果是get请求就没有,post请求就有;要多测试因为用户添加数据而发生错误的时机
>
> 注释后面还可以再添加更详细的描述
## 登录认证auth
1. 先开发 admin/auth/login 和 admin/auth/info
2. 需要shiro才能开发,先给到这两个接口,后续再整合
3. 更加精细的权限管理:按照安全规则或者安全策略控制用户只能访问被授权的内容
1. 认证 + 授权
#### admin/auth
##### login
```json
// url: POST
// req:
{"username":"admin123","password":"admin123"}
// resp: 登录成功
{
"errno": 0,
"data": {
"adminInfo": {
"nickName": "admin123",
"avatar": "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif"
},
"token": "46a8eca3-17a4-4981-abe6-071939905620"
},
"errmsg": "成功"
}
// resp: 登陆失败
{"errno":605,"errmsg":"用户帐号或密码不正确"}
// 未登录状态下访问:
{
"errno": 501,
"errmsg": "q"
}
// 无权限操作返回:
{
"errno": 506,
"errmsg": "无操作权限"
}
```
##### info
```json
// url: GET
http://182.92.235.201:8083/admin/auth/info
?token=46a8eca3-17a4-4981-abe6-071939905620
// resp:
{
"errno": 0,
"data": {
"roles": [
"超级管理员"
],
"name": "admin123",
"perms": [
"*"
],
"avatar": "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif"
},
"errmsg": "成功"
}
```
##### logout
```json
// url: POST
http://182.92.235.201:8083/admin/auth/logout
// resp:
{"errno":0,"errmsg":"成功"}
```
### wx/auth
##### login
```json
// url: POST
http://182.92.235.201:8083/wx/auth/login
// req:
{"username":"user123","password":"test1"}
// resp:
{
"errno": 0,
"data": {
"userInfo": {
"nickName": "user123",
"avatarUrl": ""
},
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXV"
},
"errmsg": "成功"
}
```
##### logout
```json
// url: POST
http://182.92.235.201:8083/wx/auth/logout
// req: 空
// resp:
{"errno":0,"errmsg":"成功"}
```
##### register
```json
// url: POST
http://localhost:8083/wx/auth/register
// req:
{
"username": "dsfsdfs",
"password": "12345678",
"mobile": "12345678",
"code": "123",
"wxCode": "003F3J000dd5TM13Tu200AZ3dH0F3J08"
}
// resp:
{"errno":0,"errmsg":"成功"}
// 注册失败:
{"errno":703,"errmsg":"验证码错误"}
{"errno":707,"errmsg":"手机号格式不正确"}
```
##### regCaptcha
```json
// url: POST
http://182.92.235.201:8083/wx/auth/regCaptcha
// req:
mobile: "18888888888"
// resp:
{"errno":707,"errmsg":"手机号格式不正确"}
```
##### login_by_weixin
```json
// url: POST
http://182.92.235.201:8083/wx/auth/login_by_weixin
// req:
{
"code": "033pvbml2Ow4f84aNJll2g5oLm0pvbmO",
"userInfo": {
"nickName": "thales",
"gender": 0,
"language": "zh_CN",
"city": "",
"province": "",
"country": "",
"avatarUrl": "https://thirdwx.qlogo.cn/BDPw/132"
}
}
// resp:
{"errno":-1,"errmsg":"错误"}
```
##### reset
```json
// url: POST
http://localhost:8083/wx/auth/reset
// req:
{"mobile":"18937750680","code":"1234","password":"12345678"}
// resp:
```
## 通知中心
### admin/profile
##### lsnotice
```json
// url: GET
http://182.92.235.201:8083/admin/profile/lsnotice
?page=1&limit=20&title=sdf&type=unread&sort=add_time&order=desc
// resp:
{
"errno": 0,
"data": {
"total": 0,
"pages": 0,
"limit": 20,
"page": 0,
"list": [ ]
},
"errmsg": "成功"
}
```
## 系统管理
### admin/admin
##### list
```json
//url:
http://localhost:8083/admin/admin/list?page=1&limit=20&username=dsgs&sort=add_time&order=desc
// resp:
{
"errno": 0,
"data": {
"total": 3,
"pages": 1,
"limit": 20,
"page": 1,
"list": [
{
"id": 5,
"username": "mall123",
"avatar": "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif",
"roleIds": [
2
]
},
{
"id": 4,
"username": "promotion123",
"avatar": "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif",
"roleIds": [
3
]
},
{
"id": 1,
"username": "admin123",
"avatar": "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif",
"roleIds": [
1
]
}
]
},
"errmsg": "成功"
}
```
##### update
```json
// url
http://182.92.235.201:8083/admin/admin/update
// req 回显
{
"id": 5,
"username": "mall123",
"avatar": "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif",
"roleIds": [
2,
3,
4
],
"password": "1234566"
}
// resp:
{
"errno": 0,
"data": {
"id": 5,
"username": "mall123",
"avatar": "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif",
"updateTime": "2021-11-29 19:49:04",
"roleIds": [
2,
3,
4
]
},
"errmsg": "成功"
}
// 如果同名,不返回错误?!
```
##### create
```json
// url:
http://182.92.235.201:8083/admin/admin/create
// req:
{
"username": "huahua1",
"password": "12345677",
"avatar": "http://182.92.235.201:8083/wx/storage/fetch/hd210onw3f6p3rvef51s.jpeg",
"roleIds": [ ]
}
// resp:
{
"errno": 0,
"data": {
"id": 7,
"username": "huahua1",
"password": "$2a$10$DVxUZ2WxjHtb0J/UZzwUgeXllJx0KVoq07YsCeE1yN8zHxcRT.THC",
"avatar": "http://182.92.235.201:8083/wx/storage/fetch/hd210onw3f6p3rvef51s.jpeg",
"addTime": "2021-11-29 20:06:43",
"updateTime": "2021-11-29 20:06:43",
"roleIds": [ ]
},
"errmsg": "成功"
}
// 如果 用户名已存在 则返回错误
{"errno":602,"errmsg":"管理员已经存在"}
```
##### delete
```json
// url:
http://182.92.235.201:8083/admin/admin/delete
// req:
{
"id": 6,
"username": "huahua",
"password": "$2a$10$VGnIojCNSfyneH/z9JgvZuUBknh.bmTyD2oxCjtcn1EM6ITvkbb7q",
"addTime": "2021-11-29 19:56:59",
"updateTime": "2021-11-29 19:56:59",
"roleIds": [ ]
}
// resp:
{"errno":0,"errmsg":"成功"}
```
### admin/log
##### list
```json
// url:
http://182.92.235.201:8083/admin/log/list
?page=1&limit=20&name=123&sort=add_time&order=desc
// resp:
{
"errno": 0,
"data": {
"total": 120,
"pages": 6,
"limit": 20,
"page": 1,
"list": [
{
"id": 111,
"admin": "admin123",
"ip": "111.175.53.168",
"type": 1,
"action": "登录",
"status": true,
"result": "",
"comment": "",
"addTime": "2021-11-29 20:15:50",
"updateTime": "2021-11-29 20:15:50",
"deleted": false
},
{
"id": 110,
"admin": "admin123",
"ip": "111.175.53.168",
"type": 1,
"action": "登录",
"status": true,
"result": "",
"comment": "",
"addTime": "2021-11-29 20:14:35",
"updateTime": "2021-11-29 20:14:35",
"deleted": false
}
]
},
"errmsg": "成功"
}
```
### admin/role
##### list
```json
// url: GET
http://182.92.235.201:8083/admin/role/list
?page=1&limit=20&name=123&sort=add_time&order=desc
// resp:
{
"errno": 0,
"data": {
"total": 7,
"pages": 1,
"limit": 20,
"page": 1,
"list": [
{
"id": 7,
"name": "132432",
"desc": "321321",
"enabled": true,
"addTime": "2021-11-29 19:18:07",
"updateTime": "2021-11-29 19:58:24",
"deleted": false
},
{
"id": 4,
"name": "21321",
"desc": "321312",
"enabled": true,
"addTime": "2021-11-29 19:13:26",
"updateTime": "2021-11-29 19:13:26",
"deleted": false
}
]
},
"errmsg": "成功"
}
```
##### options
```json
// url: get
http://182.92.235.201:8083/admin/role/options
// resp:
{
"errno": 0,
"data": {
"total": 7,
"pages": 1,
"limit": 7,
"page": 1,
"list": [
{
"value": 1,
"label": "超级管理员"
},
{
"value": 2,
"label": "商场管理员"
},
{
"value": 3,
"label": "推广管理员"
},
{
"value": 4,
"label": "21321"
},
{
"value": 5,
"label": "大撒大撒"
},
{
"value": 6,
"label": "2312312"
},
{
"value": 7,
"label": "132432"
}
]
},
"errmsg": "成功"
}
```
##### create
```json
// url: POST
http://182.92.235.201:8083/admin/role/create
// req:
{"name":"huahua","desc":"123"}
// resp:
{
"errno": 0,
"data": {
"id": 13,
"name": "huahua",
"desc": "123",
"addTime": "2021-11-30 14:55:32",
"updateTime": "2021-11-30 14:55:32"
},
"errmsg": "成功"
}
// name重复错误
{"errno":640,"errmsg":"角色已经存在"}
```
##### update
```json
// url: POST
http://182.92.235.201:8083/admin/role/update
// req:
{
"id": 11,
"name": "title",
"desc": "打啊",
"enabled": true,
"addTime": "2021-11-30 14:28:13",
"updateTime": "2021-11-30 14:28:13",
"deleted": false
}
// resP:
{"errno":0,"errmsg":"成功"}
// name重复错误
{"errno":640,"errmsg":"角色已经存在"}
```
##### delete
```json
// url: POST
http://182.92.235.201:8083/admin/role/delete
// req:
{
"id": 11,
"name": "title",
"desc": "打啊",
"enabled": true,
"addTime": "2021-11-30 14:28:13",
"updateTime": "2021-11-30 14:28:13",
"deleted": false
}
// resp:
{"errno":0,"errmsg":"成功"}
```
##### permissions
1. 结合shiro权限模型,自己建表,参考 Region 表
```json
// url: GET
http://182.92.235.201:8083/admin/role/permissions?roleId=6
// resp:
{
"errno": 0,
"data": {
"systemPermissions": [
{
"id": "商品管理",
"label": "商品管理",
"children": [
{
"id": "商品管理",
"label": "商品管理",
"children": [
{
"id": "admin:goods:read",
"label": "详情",
"api": "GET /admin/goods/detail"
},
{
"id": "admin:goods:update",
"label": "编辑",
"api": "POST /admin/goods/update"
},
{
"id": "admin:goods:list",
"label": "查询",
"api": "GET /admin/goods/list"
},
{
"id": "admin:goods:delete",
"label": "删除",
"api": "POST /admin/goods/delete"
},
{
"id": "admin:goods:create",
"label": "上架",
"api": "POST /admin/goods/create"
}
]
},
{
"id": "评论管理",
"label": "评论管理",
"children": [
{
"id": "admin:comment:list",
"label": "查询",
"api": "GET /admin/comment/list"
},
{
"id": "admin:comment:delete",
"label": "删除",
"api": "POST /admin/comment/delete"
}
]
}
]
}
],
"assignedPermissions": [ ]
},
"errmsg": "成功"
}
```
```json
// POST
http://182.92.235.201:8083/admin/role/permissions
// req:
{
"roleId": 6,
"permissions": [
"admin:groupon:read",
"admin:groupon:update",
"admin:groupon:list",
"admin:groupon:delete",
"admin:groupon:create",
"admin:ad:update",
"admin:ad:list",
"admin:ad:read",
"admin:ad:delete",
"admin:ad:create",
"admin:coupon:listuser",
"admin:coupon:update",
"admin:coupon:list",
"admin:coupon:read",
"admin:coupon:delete",
"admin:coupon:create",
"admin:topic:batch-delete",
"admin:topic:update",
"admin:topic:list",
"admin:topic:read",
"admin:topic:delete",
"admin:topic:create",
"admin:notice:batch-delete",
"admin:notice:update",
"admin:notice:read",
"admin:notice:delete",
"admin:notice:create",
"admin:config:wx:list",
"admin:config:wx:updateConfigs",
"admin:config:express:list",
"admin:config:express:updateConfigs",
"admin:config:mall:list",
"admin:config:mall:updateConfigs",
"admin:config:order:list",
"admin:config:order:updateConfigs"
]
}
// resp:
{"errno":0,"errmsg":"成功"}
```
### admin/storage
##### list
```json
// url: GET
http://182.92.235.201:8083/admin/storage/list
?page=1&limit=20&sort=add_time&order=desc&key=2123&name=3446
// resp:
{
"errno": 0,
"data": {
"total": 151,
"pages": 8,
"limit": 20,
"page": 1,
"list": [
{
"id": 156,
"key": "0m7ma75vv530wofebj2x.png",
"name": "兵马.png",
"type": "image/png",
"size": 36985,
"url": "http://182.92.235.201:8083/wx/storage/fetch/0m7ma75vv530wofebj2x.png",
"addTime": "2021-11-30 16:33:46",
"updateTime": "2021-11-30 16:33:46",
"deleted": false
}
]
},
"errmsg": "成功"
}
```
##### create
```json
// url POST
http://182.92.235.201:8083/admin/storage/create
// req:上传图片
-----------------------------1391143199723447123961665628
Content-Disposition: form-data; name="file"; filename="dogecoin.jpeg"
Content-Type: image/jpeg
// resp:
{
"errno": 0,
"data": {
"id": 51,
"key": "7r4p0m26bcte1d60ajjl.jpeg",
"name": "dogecoin.jpeg",
"type": "image/jpeg",
"size": 384546,
"url": "http://182.92.235.201:8083/wx/storage/fetch/7r4p0m26bcte1d60ajjl.jpeg",
"addTime": "2021-11-29 23:17:42",
"updateTime": "2021-11-29 23:17:42"
},
"errmsg": "成功"
}
```
##### update
```json
// url: POST
http://182.92.235.201:8083/admin/storage/update
// req:
{
"id": 155,
"key": "lv6m2sbut2ehcomcx9i7.jpg",
"name": "maid.jpg",
"type": "image/jpeg",
"size": 643467,
"url": "http://182.92.235.201:8083/wx/storage/fetch/lv6m2sbut2ehcomcx9i7.jpg",
"addTime": "2021-11-30 16:19:08",
"updateTime": "2021-11-30 16:19:08",
"deleted": false
}
// resp:
{
"errno": 0,
"data": {
"id": 155,
"key": "lv6m2sbut2ehcomcx9i7.jpg",
"name": "maid.jpg",
"type": "image/jpeg",
"size": 643467,
"url": "http://182.92.235.201:8083/wx/storage/fetch/lv6m2sbut2ehcomcx9i7.jpg",
"addTime": "2021-11-30 16:19:08",
"updateTime": "2021-11-30 16:37:13",
"deleted": false
},
"errmsg": "成功"
}
```
##### delete
```json
// url: POST
http://182.92.235.201:8083/admin/storage/delete
// req:
{
"id": 152,
"key": "9e7u5mio6ca1328l0hxh.jpg",
"name": "014d9cfbbc885400bf7e60989faab9e9 (1).jpg",
"type": "image/jpeg",
"size": 17092,
"url": "http://182.92.235.201:8083/wx/storage/fetch/9e7u5mio6ca1328l0hxh.jpg",
"addTime": "2021-11-30 16:06:08",
"updateTime": "2021-11-30 16:06:08",
"deleted": false
}
// resp:
{"errno":0,"errmsg":"成功"}
```
## 行政区域
### /admin/region
```json
// url: GET
http://182.92.235.201:8083/admin/region/list
// req:
// resp:
{"errno":0,"data":
{
"total":31,"pages":1,"limit":31,"page":1,"list":
[
{//省及直辖市
"id":1,"name":"北京市","type":1,"code":110000,"children":
[{//区或市
"id":32,"name":"市辖区","type":2,"code":110100,"children":
[
{"id":376,"name":"东城区","type":3,"code":110101},
{"id":377,"name":"西城区","type":3,"code":110102},
{"id":378,"name":"朝阳区","type":3,"code":110105},
]}
]
}...
{"id":375,"name":"自治区直辖县级行政区划","type":2,"code":659000,"children":
[{"id":3227,"name":"石河子市","type":3,"code":659001},
{"id":3228,"name":"阿拉尔市","type":3,"code":659002},
{"id":3229,"name":"图木舒克市","type":3,"code":659003},
{"id":3230,"name":"五家渠市","type":3,"code":659004},
{"id":3231,"name":"铁门关市","type":3,"code":659006}]
}]
}]
}
,"errmsg":"成功"}
{
"errno": 0,
"errmsg": "成功",
"data": {
"total": 31,
"pages": 1,
"limit": 31,
"page": 1,
"list": [
{
"id": 1,
"name": "北京市",
"type": 1,
"code": 110000,
"children": [
{
"id": 32,
"name": "市辖区",
"type": 2,
"code": 110100,
"children": [
{
"id": 376,
"name": "东城区",
"type": 3,
"code": 110101
}
]
}
]
}
]
}
}
```
## 品牌制造商
### admin/brand
#### list
```json
// url:
http://182.92.235.201:8083/admin/brand/list?page=1&limit=20&sort=add_time&order=desc
//查询url:http://182.92.235.201:8083/admin/brand/list?page=1&limit=20&id=id&name=name&sort=add_time&order=desc
// req:
// resp:
{
"errno": 0,
"data": {
"total": 4,
"pages": 1,
"limit": 20,
"page": 1,
"list": [{
"id": 1024000,
"name": "WMF制造商",
"desc": "严选找寻德国百年高端厨具WMF的制造商,\n选择拥有14年经验的不锈钢生产工厂,\n为你甄选事半功倍的优质厨具。",
"picUrl": "http://yanxuan.nosdn.127.net/2018e9ac91ec37d9aaf437a1fd5d7070.png",
"sortOrder": 8,
"floorPrice": 9.90,
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
}, {
"id": 1008000,
"name": "WPC制造商",
"desc": "严选寻找日本雨伞品牌W.P.C制造商,\n采用严谨工艺以及环保材料,\n沉淀15年行业经验,打造精致雨具。",
"picUrl": "http://yanxuan.nosdn.127.net/c4e97cc87186ce17f9316f3ba39e220c.png",
"sortOrder": 22,
"floorPrice": 59.00,
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
}]
},
"errmsg": "成功"
}
```
#### create
```json
// url:
http://182.92.235.201:8083/admin/brand/create
// req:
1. desc: "des"
2. floorPrice: "3"
3. name: "testbrandname"
4. picUrl: "http://182.92.235.201:8083/wx/storage/fetch/ox4vb7gty7bbldl1s00p.jpeg"
// resp:
{
"errno":0,
"data":{
"id":1046001,
"name":"testbrandname",
"desc":"des",
"picUrl":"http://182.92.235.201:8083/wx/storage/fetch/ox4vb7gty7bbldl1s00p.jpeg",
"floorPrice":3,
"addTime":"2021-11-29 19:32:47",
"updateTime":"2021-11-29 19:32:47"
},
"errmsg":"成功"
}
```
#### update
```json
// url:
http://182.92.235.201:8083/admin/brand/update
// req:
1. addTime: "2021-11-29 19:32:47"
2. desc: "des1111"
3. floorPrice: 3
4. id: 1046001
5. name: "testbrandname"
6. picUrl: "http://182.92.235.201:8083/wx/storage/fetch/ox4vb7gty7bbldl1s00p.jpeg"
// resp:
{
"errno":0,
"data":{
"id":1046001,
"name":"testbrandname",
"desc":"des1111",
"picUrl":"http://182.92.235.201:8083/wx/storage/fetch/ox4vb7gty7bbldl1s00p.jpeg",
"floorPrice":3,
"addTime":"2021-11-29 19:32:47",
"updateTime":"2021-11-29 19:36:30"
},
"errmsg":"成功"
}
```
#### delete
````json
// url:
http://182.92.235.201:8083/admin/brand/delete
// req:
1. addTime: "2021-11-29 19:32:47"
2. desc: "des1111"
3. floorPrice: 3
4. id: 1046001
5. name: "testbrandname"
6. picUrl: "http://182.92.235.201:8083/wx/storage/fetch/ox4vb7gty7bbldl1s00p.jpeg"
7. updateTime: "2021-11-29 19:32:47"
// resp:
{
"errno":0,
"errmsg":"成功"
}
````
## 商品类目
### admin/cetegory
### list()
```json
// url:
http://182.92.235.201:8083/admin/category/list
// req:
// resp:
{
"errno": 0,
"data": {
"total": 9,
"pages": 1,
"limit": 9,
"page": 1,
"list": [{
"id": 1005000,
"name": "居家",
"keywords": "",
"desc": "回家,放松身心",
"iconUrl": "http://yanxuan.nosdn.127.net/a45c2c262a476fea0b9fc684fed91ef5.png",
"picUrl": "http://yanxuan.nosdn.127.net/e8bf0cf08cf7eda21606ab191762e35c.png",
"level": "L1",
"children": [{
"id": 1008002,
"name": "布艺软装",
"keywords": "",
"desc": "各种风格软装装点你的家",
"iconUrl": "http://yanxuan.nosdn.127.net/8bbcd7de60a678846664af998f57e71c.png",
"picUrl": "http://yanxuan.nosdn.127.net/2e2fb4f2856a021bbcd1b4c8400f2b06.png",
"level": "L2"
},
"errmsg": "成功"
}
```
#### L1(一级类目)
```json
// url:
http://182.92.235.201:8083/admin/category/l1
// req:
// resp:
{
"errno": 0,
"data": {
"total": 9,
"pages": 1,
"limit": 9,
"page": 1,
"list": [{
"value": 1005000,
"label": "居家"
}, {
"value": 1005001,
"label": "餐厨"
}, {
"value": 1005002,
"label": "饮食"
}, {
"value": 1008000,
"label": "配件"
}, {
"value": 1010000,
"label": "服装"
}, {
"value": 1011000,
"label": "婴童"
}, {
"value": 1012000,
"label": "杂货"
}, {
"value": 1013001,
"label": "洗护"
}, {
"value": 1019000,
"label": "志趣"
}]
},
"errmsg": "成功"
}
```
#### create
```json
// url:
http://182.92.235.201:8083/admin/category/create
// req:
1. desc: "testdec"
2. iconUrl: "http://182.92.235.201:8083/wx/storage/fetch/o26j2fmxiiagcewfak3e.jpeg"
3. keywords: ""
4. level: "L2"
5. name: "testcreate"
6. picUrl: "http://182.92.235.201:8083/wx/storage/fetch/mp6k14vneqzvto1fbs8d.jpeg"
7. pid: 0
// resp:
{
"errno": 0,
"data": {
"id": 1036005,
"name": "testcreate",
"keywords": "",
"desc": "testdec",
"pid": 0,
"iconUrl": "http://182.92.235.201:8083/wx/storage/fetch/o26j2fmxiiagcewfak3e.jpeg",
"picUrl": "http://182.92.235.201:8083/wx/storage/fetch/mp6k14vneqzvto1fbs8d.jpeg",
"level": "L2",
"addTime": "2021-11-29 19:55:12",
"updateTime": "2021-11-29 19:55:12"
},
"errmsg": "成功"
}
```
#### update
```json
// url:
http://182.92.235.201:8083/admin/category/update
// req:
1. desc: "testdec"
2. iconUrl: "http://182.92.235.201:8083/wx/storage/fetch/o26j2fmxiiagcewfak3e.jpeg"
3. id: 1036005
4. keywords: ""
5. level: "L2"
6. name: "testcreate"
7. picUrl: "http://182.92.235.201:8083/wx/storage/fetch/mp6k14vneqzvto1fbs8d.jpeg"
8. pid: 1005001
// resp:
{"errno":0,"errmsg":"成功"}
```
#### delete
```json
// url:
http://182.92.235.201:8083/admin/category/delete
// req:
1. desc: "testdec"
2. iconUrl: "http://182.92.235.201:8083/wx/storage/fetch/o26j2fmxiiagcewfak3e.jpeg"
3. id: 1036005
4. keywords: ""
5. level: "L2"
6. name: "testcreate"
7. picUrl: "http://182.92.235.201:8083/wx/storage/fetch/mp6k14vneqzvto1fbs8d.jpeg"
// resp:
{"errno":0,"errmsg":"成功"}
```
## 售后管理
### admin/aftersale
##### list
```json
// url:
http://182.92.235.201:8083/admin/aftersale/list?page=1&limit=20&status=&sort=add_time&order=desc
// req:
// resp:
{
"errno": 0,
"data": {
"total": 0,
"pages": 0,
"limit": 20,
"page": 0,
"list": []
},
"errmsg": "成功"
}
```
##### batch-recept
##### batch-reject
## 通用问题
### admin/issue
##### list
```json
// url:
http://182.92.235.201:8083/admin/issue/list?page=1&limit=20&sort=add_time&order=desc
// req:
// resp:
{
"errno": 0,
"data": {
"total": 5,
"pages": 1,
"limit": 20,
"page": 1,
"list": [{
"id": 5,
"question": "多少天能收到货",
"answer": "一般三到七天",
"addTime": "2021-11-29 17:38:04",
"updateTime": "2021-11-29 17:38:04",
"deleted": false
}, {
"id": 1,
"question": "购买运费如何收取?",
"answer": "单笔订单金额(不含运费)满88元免邮费;不满88元,每单收取10元运费。\n(港澳台地区需满",
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
}]
},
"errmsg": "成功"
}
```
##### create
```json
// url:
http://182.92.235.201:8083/admin/issue/create
// req:
{
question: "有优惠券吗",
answer: "自己看商品页!"
}
// resp:
{
"errno": 0,
"data": {
"id": 6,
"question": "有优惠券吗",
"answer": "自己看商品页!",
"addTime": "2021-11-29 18:46:35",
"updateTime": "2021-11-29 18:46:35"
},
"errmsg": "成功"
}
```
##### update
```json
// url:
http://182.92.235.201:8083/admin/issue/update
// req:
{
"id": 7,
"question": "sdaad",
"answer": "asdaddaddd",
"addTime": "2021-11-29 20:37:06",
"updateTime": "2021-11-29 20:37:06",
"deleted": false
}
// resp:
{
"errno": 0,
"data": {
"id": 7,
"question": "sdaad",
"answer": "asdaddaddd",
"addTime": "2021-11-29 20:37:06",
"updateTime": "2021-11-29 20:49:23",
"deleted": false
},
"errmsg": "成功"
}
```
##### delete
```json
// url:
http://182.92.235.201:8083/admin/issue/delete
// req:
{
"id": 6,
"question": "有优惠券吗",
"answer": "自己看商品页!亲亲~",
"addTime": "2021-11-29 18:46:35",
"updateTime": "2021-11-29 18:46:35"
}
// resp:
{
"errno": 0,
"errmsg": "成功"
}
```
## 关键词
### admin/keyword
##### list
```json
// url:
http://182.92.235.201:8083/admin/keyword/list?page=1&limit=20&keyword=&url=&sort=add_time&order=desc
// resp:
{
"errno": 0,
"data": {
"total": 7,
"pages": 1,
"limit": 20,
"page": 1,
"list": [{
"id": 1,
"keyword": "母亲节",
"url": "",
"isHot": false,
"isDefault": false,
"sortOrder": 100,
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
}, {
"id": 7,
"keyword": "单鞋",
"url": "",
"isHot": false,
"isDefault": false,
"sortOrder": 8,
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
}]
},
"errmsg": "成功"
}
```
##### create
```json
//url:
http://182.92.235.201:8083/admin/keyword/create
{
"keyword": "dd",
"url": "rd",
"isHot": false,
"isDefault": false
}
// req:
// resp:
{
"errno": 0,
"data": {
"id": 8,
"keyword": "dd",
"url": "rd",
"isHot": false,
"isDefault": false,
"addTime": "2021-11-29 19:15:50",
"updateTime": "2021-11-29 19:15:50"
},
"errmsg": "成功"
}
```
##### update
```json
// url:
http://182.92.235.201:8083/admin/keyword/update
// req:
{
"id": 1,
"keyword": "母亲节",
"url": "sss",
"isHot": true,
"isDefault": true,
"sortOrder": 100,
"addTime": "2018-02-01 00:00:00",
"updateTime": "2018-02-01 00:00:00",
"deleted": false
}
// resp:
{
"errno": 0,
"data": {
"id": 1,
"keyword": "母亲节",
"url": "sss",
"isHot": true,
"isDefault": true,
"sortOrder": 100,
"addTime": "2018-02-01 00:00:00",
"updateTime": "2021-11-29 18:57:46",
"deleted": false
},
"errmsg": "成功"
}
```
##### dalete
```json
// url:
http://182.92.235.201:8083/admin/keyword/delete
// req:
{
"id": 8,
"keyword": "dd",
"url": "rd",
"isHot": false,
"isDefault": false,
"addTime": "2021-11-29 19:15:50",
"updateTime": "2021-11-29 19:15:50"
}
// resp:
{
"errno": 0,
"errmsg": "成功"
}
```
## 商品管理
## 推广管理
### admin/coupon
##### create
```json
// req:
// goodsType = 1
{
"name": "23435",
"total": 0,
"discount": 0,
"min": 0,
"limit": 1,
"type": 0,
"status": 0,
"goodsType": 1,
"goodsValue": [
1005011
],
"timeType": 0,
"days": 0,
"startTime": null,
"endTime": null
}
// goodsType = 2
{
"name": "4577568",
"total": 0,
"discount": 0,
"min": 0,
"limit": 1,
"type": 0,
"status": 0,
"goodsType": 2,
"goodsValue": [
1110016,
1056002
],
"timeType": 0,
"days": 0,
"startTime": null,
"endTime": null,
"couponGoodsList": [
{
"goodsId": 1110016,
"goodsName": "天然硅胶宠物除毛按摩刷",
"goodsSn": "1110016"
},
{
"goodsId": 1056002,
"goodsName": "男式玩色内裤",
"goodsSn": "1056002"
}
]
}
// resp:
{
"errno": 0,
"data": {
"id": 19,
"name": "23435",
"total": 0,
"discount": 0,
"min": 0,
"limit": 1,
"type": 0,
"status": 0,
"goodsType": 1,
"goodsValue": [
1005011
],
"timeType": 0,
"days": 0,
"addTime": "2021-11-30 14:31:27",
"updateTime": "2021-11-30 14:31:27"
},
"errmsg": "成功"
}
```
### admin/goods
##### list
```json
// url:GET
http://localhost:8083/admin/goods/list?limit=0
// 在coupon中的list
{
"errno": 0,
"errmsg": "成功",
"data": {
"total": 240,
"pages": 0,
"limit": 0,
"page": 0,
"list": [
{
"id": 1181003,
"goodsSn": "11111101",
"name": "菲尔普斯马丁靴",
"categoryId": 1008003,
"brandId": 1001007,
"gallery": [
"http://182.92.235.201:8083/wx/storage/fetch/s1c77sxrgdyapntlknjy.jpg"
],
"keywords": "鞋类",
"brief": "菲尔普斯",
"isOnSale": true,
"sortOrder": 100,
"picUrl": "http://182.92.235.201:8083/wx/storage/fetch/b1w9tdo5laxcrkybdlgd.jpg",
"isNew": true,
"isHot": false,
"unit": "双",
"counterPrice": 120.0,
"retailPrice": 1000.0,
"addTime": "2021-11-30 14:21:45",
"updateTime": "2021-11-30 14:21:45",
"deleted": false,
"detail": "菲尔普斯穿了都说好
"
},
{
"id": 1181001,
"goodsSn": "1156715",
"name": "QQ号码",
"categoryId": 1012003,
"brandId": 1046011,
"gallery": [
"http://182.92.235.201:8083/wx/storage/fetch/7j758hjg2cc7uemlrjqf.jpg",
"http://182.92.235.201:8083/wx/storage/fetch/2mt3zovytsu83mqm9ltt.jpg"
],
"keywords": "号码",
"brief": "这是一个xxxx商品",
"isOnSale": true,
"sortOrder": 100,
"picUrl": "http://182.92.235.201:8083/wx/storage/fetch/h7k1qdlm36xvgc0qhr1f.jpg",
"isNew": true,
"isHot": false,
"unit": "件",
"counterPrice": 123.0,
"retailPrice": 1234.0,
"addTime": "2021-11-30 14:01:49",
"updateTime": "2021-11-30 14:01:49",
"deleted": false,
"detail": "填着玩
"
}
]
}
}
```
### admin/topic
##### read
```json
// url: GET
http://182.92.235.201:8083/admin/topic/read?id=317
// resp:
{
"errno": 0,
"data": {
"goodsList": [
{
"id": 1181005,
"name": "孙悟空",
"brief": "好玩",
"picUrl": "",
"isNew": true,
"isHot": false,
"counterPrice": 11.0,
"retailPrice": 55.0
}
],
"topic": {
"id": 317,
"title": "title",
"subtitle": "subtitle",
"price": 500.0,
"readCount": "77",
"picUrl": "http://182.92.235.201:8083/wx/storage/fetch/bo2a1sbbfmuajoeqj9jn.jpg",
"sortOrder": 100,
"goods": [
1181005
],
"addTime": "2021-11-30 19:44:23",
"updateTime": "2021-11-30 19:44:23",
"deleted": false,
"content": "content
"
}
},
"errmsg": "成功"
}
```
# WX前台
### wx/brand
##### list
```json
get
http://182.92.235.201:8083/wx/brand/list?page=1&limit=10
```
```json
{
"errno": 0,
"data": {
"total": 53,
"pages": 6,
"limit": 10,
"page": 1,
"list": [{
"id": 1046029,
"name": "212",
"desc": "121",
"picUrl": "",
"floorPrice": 212.00
}, {
"id": 1046028,
"name": "耳机",
"desc": "华东理工大学食堂偷的",
"picUrl": "http://182.92.235.201:8083/wx/storage/fetch/zdo3q9tk2ac3bmtdh6mo.jpg",
"floorPrice": 1400.00
}, {
"id": 1034001,
"name": "Alexander McQueen制造商",
"desc": "为制造精致实用的高品质包包,\n严选团队选择Alexander McQueen制造商,\n严格筛选,带来轻奢优雅体验。",
"picUrl": "http://yanxuan.nosdn.127.net/db7ee9667d84cbce573688297586699c.jpg",
"floorPrice": 69.00
}]
},
"errmsg": "成功"
}
```
### wx/storage
##### fetch
```json
// url: GET
http://182.92.235.201:8083/wx/storage/fetch/7r4p0m26bcte1d60ajjl.jpeg
// resp:
```
##### upload
```json
// url: POST
http://182.92.235.201:8083/wx/storage/upload
// req: multipart
// resp:
{
"errno": 0,
"data": {
"id": 49,
"key": "k527gx1i03n6ztr46hdw.png",
"name": "K56wOSAg88u6670a765349eb49058f7cda0f07c6d99d.png",
"type": "image/png",
"size": 1012274,
"url": "http://182.92.235.201:8083/wx/storage/fetch/k527gx1i03n6ztr46hdw.png",
"addTime": "2021-12-03 11:25:47",
"updateTime": "2021-12-03 11:25:47"
},
"errmsg": "æå"
}
```
## 售后管理
### 6.2 获得售后列表list
GET:http://182.92.235.201:8083/wx/aftersale/list?status=1&page=1&limit=10
resp:
status: 0是可申请,1是用户已申请,2是管理员审核通过,3是管理员退款成功,4是管理员审核拒绝,5是用户已取消,
```json
{
"errno": 0,
"data": {
"total": 9,
"pages": 1,
"limit": 10,
"page": 1,
"list": [{
"goodsList": [{
"id": 3,
"orderId": 2,
"goodsId": 1152161,
"goodsName": "竹语丝麻印花四件套",
"goodsSn": "1152161",
"productId": 239,
"number": 1,
"price": 459.00,
"specifications": ["标准"],
"picUrl": "http://yanxuan.nosdn.127.net/977401e75113f7c8334c4fb5b4bf6215.png",
"comment": 1025,
"addTime": "2021-12-02 10:22:27",
"updateTime": "2021-12-02 17:00:25",
"deleted": false
}],
"aftersale": {
"id": 11,
"aftersaleSn": "20211203626871",
"orderId": 2,
"userId": 1,
"type": 0,
"reason": "原因",
"amount": 454.00,
"pictures": [],
"comment": "",
"status": 1,
"addTime": "2021-12-03 22:02:30",
"updateTime": "2021-12-03 22:02:30",
"deleted": false
}
}, {
"goodsList": [{
"id": 6,
"orderId": 5,
"goodsId": 1084003,
"goodsName": "纯棉美式绞花针织盖毯",
"goodsSn": "1084003",
"productId": 101,
"number": 1,
"price": 199.00,
"specifications": ["标准"],
"picUrl": "http://yanxuan.nosdn.127.net/cf40c167e7054fe184d49f19121f63c7.png",
"comment": 1018,
"addTime": "2021-12-02 10:22:47",
"updateTime": "2021-12-02 11:30:34",
"deleted": false
}],
"aftersale": {
"id": 10,
"aftersaleSn": "20211203191655",
"orderId": 5,
"userId": 1,
"type": 0,
"reason": "tu退款原因",
"amount": 199.00,
"pictures": [],
"comment": "",
"status": 1,
"addTime": "2021-12-03 21:33:21",
"updateTime": "2021-12-03 21:33:21",
"deleted": false
}
}, {
"goodsList": [{
"id": 140,
"orderId": 98,
"goodsId": 1152161,
"goodsName": "竹语丝麻印花四件套",
"goodsSn": "1152161",
"productId": 239,
"number": 1,
"price": 459.00,
"specifications": ["标准"],
"picUrl": "http://yanxuan.nosdn.127.net/977401e75113f7c8334c4fb5b4bf6215.png",
"comment": 0,
"addTime": "2021-12-03 14:28:38",
"updateTime": "2021-12-03 14:28:38",
"deleted": false
}, {
"id": 141,
"orderId": 98,
"goodsId": 1084003,
"goodsName": "纯棉美式绞花针织盖毯",
"goodsSn": "1084003",
"productId": 101,
"number": 1,
"price": 199.00,
"specifications": ["标准"],
"picUrl": "http://yanxuan.nosdn.127.net/cf40c167e7054fe184d49f19121f63c7.png",
"comment": 0,
"addTime": "2021-12-03 14:28:38",
"updateTime": "2021-12-03 14:28:38",
"deleted": false
}],
"aftersale": {
"id": 6,
"aftersaleSn": "20211203628683",
"orderId": 98,
"userId": 1,
"type": 2,
"reason": "1234456789",
"amount": 633.00,
"pictures": ["http://182.92.235.201:8083/wx/storage/fetch/0rtj58nglf7vcjggxylu.png"],
"comment": "",
"status": 1,
"addTime": "2021-12-03 17:11:25",
"updateTime": "2021-12-03 17:11:25",
"deleted": false
}
}, {
"goodsList": [{
"id": 146,
"orderId": 103,
"goodsId": 1155015,
"goodsName": "绿豆糕 80克(4枚入)",
"goodsSn": "1155015",
"productId": 242,
"number": 5,
"price": 12.90,
"specifications": ["标准"],
"picUrl": "http://yanxuan.nosdn.127.net/66b9f1638c0517d179262f14ed1345f9.png",
"comment": 0,
"addTime": "2021-12-03 14:30:11",
"updateTime": "2021-12-03 14:30:11",
"deleted": false
}, {
"id": 147,
"orderId": 103,
"goodsId": 1070000,
"goodsName": "星云酥 180克/3颗",
"goodsSn": "1070000",
"productId": 85,
"number": 3,
"price": 26.00,
"specifications": ["标准"],
"picUrl": "http://yanxuan.nosdn.127.net/8392725765cdd57fdae3f173877f4bda.png",
"comment": 0,
"addTime": "2021-12-03 14:30:11",
"updateTime": "2021-12-03 14:30:11",
"deleted": false
}],
"aftersale": {
"id": 5,
"aftersaleSn": "20211203572105",
"orderId": 103,
"userId": 1,
"type": 0,
"reason": "退款原因",
"amount": 117.50,
"pictures": ["http://182.92.235.201:8083/wx/storage/fetch/6kdeuk0u1lve4jmbsr7t.png"],
"comment": "",
"status": 1,
"addTime": "2021-12-03 16:49:51",
"updateTime": "2021-12-03 16:49:51",
"deleted": false
}
}]
},
"errmsg": "成功"
}
```
### 6.3 售后详情datail
GET:http://182.92.235.201:8083/wx/aftersale/detail?orderId=2
resp:
```json
{
"errno": 0,
"data": {
"orderGoods": [{
"id": 140,
"orderId": 98,
"goodsId": 1152161,
"goodsName": "竹语丝麻印花四件套",
"goodsSn": "1152161",
"productId": 239,
"number": 1,
"price": 459.00,
"specifications": ["标准"],
"picUrl": "http://yanxuan.nosdn.127.net/977401e75113f7c8334c4fb5b4bf6215.png",
"comment": 0,
"addTime": "2021-12-03 14:28:38",
"updateTime": "2021-12-03 14:28:38",
"deleted": false
}, {
"id": 141,
"orderId": 98,
"goodsId": 1084003,
"goodsName": "纯棉美式绞花针织盖毯",
"goodsSn": "1084003",
"productId": 101,
"number": 1,
"price": 199.00,
"specifications": ["标准"],
"picUrl": "http://yanxuan.nosdn.127.net/cf40c167e7054fe184d49f19121f63c7.png",
"comment": 0,
"addTime": "2021-12-03 14:28:38",
"updateTime": "2021-12-03 14:28:38",
"deleted": false
}],
"aftersale": {
"id": 6,
"aftersaleSn": "20211203628683",
"orderId": 98,
"userId": 1,
"type": 2,
"reason": "1234456789",
"amount": 633.00,
"pictures": ["http://182.92.235.201:8083/wx/storage/fetch/0rtj58nglf7vcjggxylu.png"],
"comment": "",
"status": 1,
"addTime": "2021-12-03 17:11:25",
"updateTime": "2021-12-03 17:11:25",
"deleted": false
},
"order": {
"id": 98,
"userId": 1,
"orderSn": "20211203452860",
"orderStatus": 401,
"aftersaleStatus": 1,
"consignee": "hah",
"mobile": "13325647856",
"address": "天津市市辖区河西区 sadasdasdasd",
"message": "",
"goodsPrice": 658.00,
"freightPrice": 0.00,
"couponPrice": 25.00,
"integralPrice": 0.00,
"grouponPrice": 0.00,
"orderPrice": 633.00,
"actualPrice": 633.00,
"shipSn": "543576711",
"shipChannel": "ZJS",
"shipTime": "2021-12-03 14:31:26",
"confirmTime": "2021-12-03 15:40:32",
"comments": 2,
"addTime": "2021-12-03 14:28:38",
"updateTime": "2021-12-03 17:11:25",
"deleted": false
}
},
"errmsg": "成功"
}
```