Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
683b9a7a
提交
683b9a7a
authored
9月 20, 2019
作者:
YunaiV
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
- demo 项目,增加提交订单接口
上级
73af7c39
隐藏空白字符变更
内嵌
并排
正在显示
29 个修改的文件
包含
438 行增加
和
9 行删除
+438
-9
DemoOrderController.java
...mall/demo/application/controller/DemoOrderController.java
+28
-0
DemoProductController.java
...ll/demo/application/controller/DemoProductController.java
+1
-1
DemOrderConvert.java
...ocoder/mall/demo/application/convert/DemOrderConvert.java
+17
-0
DemoProductConvert.java
...der/mall/demo/application/convert/DemoProductConvert.java
+1
-1
DemoOrderAddDTO.java
...cn/iocoder/mall/demo/application/dto/DemoOrderAddDTO.java
+14
-0
DemoProductVO.java
...va/cn/iocoder/mall/demo/application/vo/DemoProductVO.java
+18
-0
DemoOrderService.java
...a/cn/iocoder/mall/demo/business/api/DemoOrderService.java
+5
-0
DemoProductService.java
...cn/iocoder/mall/demo/business/api/DemoProductService.java
+12
-1
DemoProductBO.java
.../java/cn/iocoder/mall/demo/business/bo/DemoProductBO.java
+0
-4
DemoOrderAddBO.java
...n/iocoder/mall/demo/business/bo/order/DemoOrderAddBO.java
+21
-0
DemoOrderCancelBO.java
...ocoder/mall/demo/business/bo/order/DemoOrderCancelBO.java
+4
-0
DemoProductAddBO.java
...coder/mall/demo/business/bo/product/DemoProductAddBO.java
+27
-0
DemoProductBO.java
.../iocoder/mall/demo/business/bo/product/DemoProductBO.java
+32
-0
DemoProductPageBO.java
...oder/mall/demo/business/bo/product/DemoProductPageBO.java
+13
-0
DemoProductQuantityReduceBO.java
...demo/business/bo/product/DemoProductQuantityReduceBO.java
+29
-0
DemoProductUpdateBO.java
...er/mall/demo/business/bo/product/DemoProductUpdateBO.java
+32
-0
OrderStatusEnum.java
.../iocoder/mall/demo/business/constant/OrderStatusEnum.java
+38
-0
DemoOrderConvert.java
.../iocoder/mall/demo/business/convert/DemoOrderConvert.java
+17
-0
DemoProductConvert.java
...ocoder/mall/demo/business/convert/DemoProductConvert.java
+1
-1
DemoOrderMapper.java
...va/cn/iocoder/mall/demo/business/dao/DemoOrderMapper.java
+10
-0
DemoProductMapper.java
.../cn/iocoder/mall/demo/business/dao/DemoProductMapper.java
+4
-0
DemoOrderDO.java
...oder/mall/demo/business/dataobject/order/DemoOrderDO.java
+5
-0
DemoProductDO.java
.../mall/demo/business/dataobject/product/DemoProductDO.java
+2
-0
DemoOrderServiceImpl.java
...oder/mall/demo/business/service/DemoOrderServiceImpl.java
+52
-0
DemoProductServiceImpl.java
...er/mall/demo/business/service/DemoProductServiceImpl.java
+26
-1
DemoProductMapper.xml
...-business/src/main/resources/mapper/DemoProductMapper.xml
+12
-0
pom.xml
demo/demo-mq/pom.xml
+15
-0
pom.xml
demo/pom.xml
+1
-0
AdminBO.java
...main/java/cn/iocoder/mall/admin/api/bo/admin/AdminBO.java
+1
-0
没有找到文件。
demo/demo-application/src/main/java/cn/iocoder/mall/demo/application/controller/DemoOrderController.java
0 → 100644
浏览文件 @
683b9a7a
package
cn
.
iocoder
.
mall
.
demo
.
application
.
controller
;
import
cn.iocoder.common.framework.vo.CommonResult
;
import
cn.iocoder.mall.demo.application.convert.DemOrderConvert
;
import
cn.iocoder.mall.demo.application.dto.DemoOrderAddDTO
;
import
cn.iocoder.mall.demo.business.api.DemoOrderService
;
import
cn.iocoder.mall.demo.business.bo.order.DemoOrderAddBO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
@RestController
@RequestMapping
(
"/order"
)
public
class
DemoOrderController
{
@Autowired
private
DemoOrderService
demoOrderService
;
@PostMapping
(
"/add"
)
public
CommonResult
<
Integer
>
add
(
DemoOrderAddDTO
addDTO
)
{
DemoOrderAddBO
addBO
=
DemOrderConvert
.
INSTANCE
.
convert
(
addDTO
);
addBO
.
setUserId
(
10
);
// TODO 10 用户编号。
Integer
orderId
=
demoOrderService
.
add
(
addBO
);
return
CommonResult
.
success
(
orderId
);
}
}
demo/demo-application/src/main/java/cn/iocoder/mall/demo/application/controller/DemoProductController.java
浏览文件 @
683b9a7a
...
@@ -4,7 +4,7 @@ import cn.iocoder.common.framework.vo.CommonResult;
...
@@ -4,7 +4,7 @@ import cn.iocoder.common.framework.vo.CommonResult;
import
cn.iocoder.mall.demo.application.convert.DemoProductConvert
;
import
cn.iocoder.mall.demo.application.convert.DemoProductConvert
;
import
cn.iocoder.mall.demo.application.vo.DemoProductVO
;
import
cn.iocoder.mall.demo.application.vo.DemoProductVO
;
import
cn.iocoder.mall.demo.business.api.DemoProductService
;
import
cn.iocoder.mall.demo.business.api.DemoProductService
;
import
cn.iocoder.mall.demo.business.bo.DemoProductBO
;
import
cn.iocoder.mall.demo.business.bo.
product.
DemoProductBO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
demo/demo-application/src/main/java/cn/iocoder/mall/demo/application/convert/DemOrderConvert.java
0 → 100644
浏览文件 @
683b9a7a
package
cn
.
iocoder
.
mall
.
demo
.
application
.
convert
;
import
cn.iocoder.mall.demo.application.dto.DemoOrderAddDTO
;
import
cn.iocoder.mall.demo.business.bo.order.DemoOrderAddBO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mappings
;
import
org.mapstruct.factory.Mappers
;
@Mapper
public
interface
DemOrderConvert
{
DemOrderConvert
INSTANCE
=
Mappers
.
getMapper
(
DemOrderConvert
.
class
);
@Mappings
({})
DemoOrderAddBO
convert
(
DemoOrderAddDTO
addDTO
);
}
demo/demo-application/src/main/java/cn/iocoder/mall/demo/application/convert/DemoProductConvert.java
浏览文件 @
683b9a7a
package
cn
.
iocoder
.
mall
.
demo
.
application
.
convert
;
package
cn
.
iocoder
.
mall
.
demo
.
application
.
convert
;
import
cn.iocoder.mall.demo.application.vo.DemoProductVO
;
import
cn.iocoder.mall.demo.application.vo.DemoProductVO
;
import
cn.iocoder.mall.demo.business.bo.DemoProductBO
;
import
cn.iocoder.mall.demo.business.bo.
product.
DemoProductBO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mappings
;
import
org.mapstruct.Mappings
;
import
org.mapstruct.factory.Mappers
;
import
org.mapstruct.factory.Mappers
;
...
...
demo/demo-application/src/main/java/cn/iocoder/mall/demo/application/dto/DemoOrderAddDTO.java
0 → 100644
浏览文件 @
683b9a7a
package
cn
.
iocoder
.
mall
.
demo
.
application
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@ApiModel
(
"Demo 订单添加 DTO"
)
@Data
public
class
DemoOrderAddDTO
{
@ApiModelProperty
(
value
=
"商品编号"
,
required
=
true
,
example
=
"1"
)
private
Integer
productId
;
}
demo/demo-application/src/main/java/cn/iocoder/mall/demo/application/vo/DemoProductVO.java
浏览文件 @
683b9a7a
package
cn
.
iocoder
.
mall
.
demo
.
application
.
vo
;
package
cn
.
iocoder
.
mall
.
demo
.
application
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@ApiModel
(
"Demo 商品 BO"
)
@Data
public
class
DemoProductVO
{
public
class
DemoProductVO
{
@ApiModelProperty
(
value
=
"编号"
,
required
=
true
,
example
=
"1"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"华为 Mate30 Pro"
,
required
=
true
,
example
=
"小王"
)
private
String
name
;
@ApiModelProperty
(
value
=
"价格,单位:分"
,
required
=
true
,
example
=
"10"
)
private
Integer
price
;
@ApiModelProperty
(
value
=
"库存数量"
,
required
=
true
,
example
=
"100"
)
private
Integer
quantity
;
}
}
demo/demo-business-api/src/main/java/cn/iocoder/mall/demo/business/api/DemoOrderService.java
浏览文件 @
683b9a7a
package
cn
.
iocoder
.
mall
.
demo
.
business
.
api
;
package
cn
.
iocoder
.
mall
.
demo
.
business
.
api
;
import
cn.iocoder.mall.demo.business.bo.order.DemoOrderAddBO
;
import
cn.iocoder.mall.demo.business.bo.order.DemoOrderCancelBO
;
public
interface
DemoOrderService
{
public
interface
DemoOrderService
{
int
add
(
DemoOrderAddBO
addBO
);
int
cancel
(
DemoOrderCancelBO
cancelBO
);
}
}
demo/demo-business-api/src/main/java/cn/iocoder/mall/demo/business/api/DemoProductService.java
浏览文件 @
683b9a7a
package
cn
.
iocoder
.
mall
.
demo
.
business
.
api
;
package
cn
.
iocoder
.
mall
.
demo
.
business
.
api
;
import
cn.iocoder.mall.demo.business.bo.DemoProductBO
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.demo.business.bo.product.*
;
public
interface
DemoProductService
{
public
interface
DemoProductService
{
DemoProductBO
get
(
Integer
id
);
DemoProductBO
get
(
Integer
id
);
PageResult
<
DemoProductBO
>
page
(
DemoProductPageBO
page
);
int
add
(
DemoProductAddBO
product
);
int
update
(
DemoProductUpdateBO
product
);
// void updateQuantityIncrease();
void
updateQuantityReduce
(
DemoProductQuantityReduceBO
reduceBO
);
}
}
demo/demo-business-api/src/main/java/cn/iocoder/mall/demo/business/bo/DemoProductBO.java
deleted
100644 → 0
浏览文件 @
73af7c39
package
cn
.
iocoder
.
mall
.
demo
.
business
.
bo
;
public
class
DemoProductBO
{
}
demo/demo-business-api/src/main/java/cn/iocoder/mall/demo/business/bo/order/DemoOrderAddBO.java
0 → 100644
浏览文件 @
683b9a7a
package
cn
.
iocoder
.
mall
.
demo
.
business
.
bo
.
order
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotNull
;
/**
* Demo 订单添加 BO
*/
@Data
@Accessors
(
chain
=
true
)
public
class
DemoOrderAddBO
{
@NotNull
(
message
=
"用户编号不能为空"
)
private
Integer
userId
;
@NotNull
(
message
=
"用户编号不能为空"
)
private
Integer
productId
;
}
demo/demo-business-api/src/main/java/cn/iocoder/mall/demo/business/bo/order/DemoOrderCancelBO.java
0 → 100644
浏览文件 @
683b9a7a
package
cn
.
iocoder
.
mall
.
demo
.
business
.
bo
.
order
;
public
class
DemoOrderCancelBO
{
}
demo/demo-business-api/src/main/java/cn/iocoder/mall/demo/business/bo/product/DemoProductAddBO.java
0 → 100644
浏览文件 @
683b9a7a
package
cn
.
iocoder
.
mall
.
demo
.
business
.
bo
.
product
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
/**
* Demo 商品添加 BO
*/
@Data
@Accessors
(
chain
=
true
)
public
class
DemoProductAddBO
{
/**
* 名字
*/
private
String
name
;
/**
* 价格
*/
private
Integer
price
;
/**
* 库存数量
*/
private
Integer
quantity
;
}
demo/demo-business-api/src/main/java/cn/iocoder/mall/demo/business/bo/product/DemoProductBO.java
0 → 100644
浏览文件 @
683b9a7a
package
cn
.
iocoder
.
mall
.
demo
.
business
.
bo
.
product
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
/**
* Demo 商品 BO
*/
@Data
@Accessors
(
chain
=
true
)
public
class
DemoProductBO
{
/**
* 编号
*/
private
Integer
id
;
/**
* 名字
*/
private
String
name
;
/**
* 价格
*/
private
Integer
price
;
/**
* 库存数量
*/
private
Integer
quantity
;
}
demo/demo-business-api/src/main/java/cn/iocoder/mall/demo/business/bo/product/DemoProductPageBO.java
0 → 100644
浏览文件 @
683b9a7a
package
cn
.
iocoder
.
mall
.
demo
.
business
.
bo
.
product
;
import
cn.iocoder.common.framework.vo.PageParam
;
public
class
DemoProductPageBO
extends
PageParam
{
/**
* 名字,模糊搜索
*/
private
String
name
;
}
demo/demo-business-api/src/main/java/cn/iocoder/mall/demo/business/bo/product/DemoProductQuantityReduceBO.java
0 → 100644
浏览文件 @
683b9a7a
package
cn
.
iocoder
.
mall
.
demo
.
business
.
bo
.
product
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.NotNull
;
/**
* Demo 商品库存减少 BO
*/
@Data
@Accessors
(
chain
=
true
)
public
class
DemoProductQuantityReduceBO
{
/**
* 商品编号
*/
@NotNull
(
message
=
"商品编号不能为空"
)
private
Integer
id
;
/**
* 减少数量
*/
@NotNull
(
message
=
"减少数量不能为空"
)
@Min
(
value
=
1
,
message
=
"减少数量最小为 1"
)
private
Integer
quantity
;
}
demo/demo-business-api/src/main/java/cn/iocoder/mall/demo/business/bo/product/DemoProductUpdateBO.java
0 → 100644
浏览文件 @
683b9a7a
package
cn
.
iocoder
.
mall
.
demo
.
business
.
bo
.
product
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
/**
* Demo 商品更新 BO
*/
@Data
@Accessors
(
chain
=
true
)
public
class
DemoProductUpdateBO
{
/**
* 编号
*/
private
Integer
id
;
/**
* 名字
*/
private
String
name
;
/**
* 价格
*/
private
Integer
price
;
/**
* 库存数量
*/
private
Integer
quantity
;
}
demo/demo-business-api/src/main/java/cn/iocoder/mall/demo/business/constant/OrderStatusEnum.java
0 → 100644
浏览文件 @
683b9a7a
package
cn
.
iocoder
.
mall
.
demo
.
business
.
constant
;
/**
* 订单 - status
*
* @author Sin
* @time 2019-03-16 14:06
*/
public
enum
OrderStatusEnum
{
WAITING_PAYMENT
(
1
,
"等待付款"
),
WAIT_SHIPMENT
(
2
,
"等待发货"
),
ALREADY_SHIPMENT
(
3
,
"已发货"
),
COMPLETED
(
4
,
"已完成"
),
CLOSED
(
5
,
"已关闭"
);
/**
* 状态值
*/
private
Integer
value
;
/**
* 状态名
*/
private
String
name
;
OrderStatusEnum
(
int
value
,
String
name
)
{
this
.
value
=
value
;
this
.
name
=
name
;
}
public
int
getValue
()
{
return
value
;
}
public
String
getName
()
{
return
name
;
}
}
demo/demo-business/src/main/java/cn/iocoder/mall/demo/business/convert/DemoOrderConvert.java
0 → 100644
浏览文件 @
683b9a7a
package
cn
.
iocoder
.
mall
.
demo
.
business
.
convert
;
import
cn.iocoder.mall.demo.business.bo.order.DemoOrderAddBO
;
import
cn.iocoder.mall.demo.business.dataobject.order.DemoOrderDO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mappings
;
import
org.mapstruct.factory.Mappers
;
@Mapper
public
interface
DemoOrderConvert
{
DemoOrderConvert
INSTANCE
=
Mappers
.
getMapper
(
DemoOrderConvert
.
class
);
@Mappings
({})
DemoOrderDO
convert
(
DemoOrderAddBO
object
);
}
demo/demo-business/src/main/java/cn/iocoder/mall/demo/business/convert/DemoProductConvert.java
浏览文件 @
683b9a7a
package
cn
.
iocoder
.
mall
.
demo
.
business
.
convert
;
package
cn
.
iocoder
.
mall
.
demo
.
business
.
convert
;
import
cn.iocoder.mall.demo.business.bo.DemoProductBO
;
import
cn.iocoder.mall.demo.business.bo.
product.
DemoProductBO
;
import
cn.iocoder.mall.demo.business.dataobject.product.DemoProductDO
;
import
cn.iocoder.mall.demo.business.dataobject.product.DemoProductDO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mappings
;
import
org.mapstruct.Mappings
;
...
...
demo/demo-business/src/main/java/cn/iocoder/mall/demo/business/dao/DemoOrderMapper.java
0 → 100644
浏览文件 @
683b9a7a
package
cn
.
iocoder
.
mall
.
demo
.
business
.
dao
;
import
cn.iocoder.mall.demo.business.dataobject.order.DemoOrderDO
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.springframework.stereotype.Repository
;
@Repository
public
interface
DemoOrderMapper
extends
BaseMapper
<
DemoOrderDO
>
{
}
demo/demo-business/src/main/java/cn/iocoder/mall/demo/business/dao/DemoProductMapper.java
浏览文件 @
683b9a7a
...
@@ -2,9 +2,13 @@ package cn.iocoder.mall.demo.business.dao;
...
@@ -2,9 +2,13 @@ package cn.iocoder.mall.demo.business.dao;
import
cn.iocoder.mall.demo.business.dataobject.product.DemoProductDO
;
import
cn.iocoder.mall.demo.business.dataobject.product.DemoProductDO
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
@Repository
@Repository
public
interface
DemoProductMapper
extends
BaseMapper
<
DemoProductDO
>
{
public
interface
DemoProductMapper
extends
BaseMapper
<
DemoProductDO
>
{
int
updateQuantityReduce
(
@Param
(
"id"
)
Integer
id
,
@Param
(
"quantity"
)
Integer
quantity
);
}
}
demo/demo-business/src/main/java/cn/iocoder/mall/demo/business/dataobject/order/DemoOrderDO.java
浏览文件 @
683b9a7a
...
@@ -18,6 +18,11 @@ public class DemoOrderDO extends DeletableDO {
...
@@ -18,6 +18,11 @@ public class DemoOrderDO extends DeletableDO {
*/
*/
private
Integer
id
;
private
Integer
id
;
/**
* 用户编号
*/
private
Integer
userId
;
/**
/**
* 商品编号
* 商品编号
*/
*/
...
...
demo/demo-business/src/main/java/cn/iocoder/mall/demo/business/dataobject/product/DemoProductDO.java
浏览文件 @
683b9a7a
package
cn
.
iocoder
.
mall
.
demo
.
business
.
dataobject
.
product
;
package
cn
.
iocoder
.
mall
.
demo
.
business
.
dataobject
.
product
;
import
cn.iocoder.common.framework.dataobject.DeletableDO
;
import
cn.iocoder.common.framework.dataobject.DeletableDO
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
...
@@ -9,6 +10,7 @@ import lombok.experimental.Accessors;
...
@@ -9,6 +10,7 @@ import lombok.experimental.Accessors;
*/
*/
@Data
@Data
@Accessors
(
chain
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
value
=
"product"
)
public
class
DemoProductDO
extends
DeletableDO
{
public
class
DemoProductDO
extends
DeletableDO
{
/**
/**
...
...
demo/demo-business/src/main/java/cn/iocoder/mall/demo/business/service/DemoOrderServiceImpl.java
浏览文件 @
683b9a7a
package
cn
.
iocoder
.
mall
.
demo
.
business
.
service
;
package
cn
.
iocoder
.
mall
.
demo
.
business
.
service
;
import
cn.iocoder.common.framework.constant.DeletedStatusEnum
;
import
cn.iocoder.common.framework.util.ServiceExceptionUtil
;
import
cn.iocoder.mall.demo.business.api.DemoOrderService
;
import
cn.iocoder.mall.demo.business.api.DemoOrderService
;
import
cn.iocoder.mall.demo.business.api.DemoProductService
;
import
cn.iocoder.mall.demo.business.bo.order.DemoOrderAddBO
;
import
cn.iocoder.mall.demo.business.bo.order.DemoOrderCancelBO
;
import
cn.iocoder.mall.demo.business.bo.product.DemoProductBO
;
import
cn.iocoder.mall.demo.business.bo.product.DemoProductQuantityReduceBO
;
import
cn.iocoder.mall.demo.business.constant.OrderStatusEnum
;
import
cn.iocoder.mall.demo.business.convert.DemoOrderConvert
;
import
cn.iocoder.mall.demo.business.dao.DemoOrderMapper
;
import
cn.iocoder.mall.demo.business.dataobject.order.DemoOrderDO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
@Service
public
class
DemoOrderServiceImpl
implements
DemoOrderService
{
public
class
DemoOrderServiceImpl
implements
DemoOrderService
{
@Autowired
private
DemoProductService
demoProductService
;
@Autowired
private
DemoOrderMapper
demoOrderMapper
;
@Override
public
int
add
(
DemoOrderAddBO
addBO
)
{
// 产品信息
DemoProductBO
productBO
=
demoProductService
.
get
(
addBO
.
getProductId
());
if
(
productBO
==
null
)
{
// 商品不存在
throw
ServiceExceptionUtil
.
exception
(
100000
);
// TODO 芋艿,错误码
}
int
quantity
=
1
;
if
(
productBO
.
getQuantity
()
<
quantity
)
{
// 库存不够
throw
ServiceExceptionUtil
.
exception
(
100001
);
// TODO 芋艿,错误码
}
// 扣除库存
demoProductService
.
updateQuantityReduce
(
new
DemoProductQuantityReduceBO
()
.
setId
(
addBO
.
getProductId
()).
setQuantity
(
quantity
));
// 创建订单
DemoOrderDO
orderDO
=
DemoOrderConvert
.
INSTANCE
.
convert
(
addBO
);
orderDO
.
setStatus
(
OrderStatusEnum
.
WAITING_PAYMENT
.
getValue
())
.
setDeleted
(
DeletedStatusEnum
.
DELETED_NO
.
getValue
());
demoOrderMapper
.
insert
(
orderDO
);
// 返回订单编号
return
orderDO
.
getId
();
}
@Override
public
int
cancel
(
DemoOrderCancelBO
cancelBO
)
{
return
0
;
}
}
}
demo/demo-business/src/main/java/cn/iocoder/mall/demo/business/service/DemoProductServiceImpl.java
浏览文件 @
683b9a7a
package
cn
.
iocoder
.
mall
.
demo
.
business
.
service
;
package
cn
.
iocoder
.
mall
.
demo
.
business
.
service
;
import
cn.iocoder.common.framework.util.ServiceExceptionUtil
;
import
cn.iocoder.common.framework.vo.PageResult
;
import
cn.iocoder.mall.demo.business.api.DemoProductService
;
import
cn.iocoder.mall.demo.business.api.DemoProductService
;
import
cn.iocoder.mall.demo.business.bo.
DemoProductBO
;
import
cn.iocoder.mall.demo.business.bo.
product.*
;
import
cn.iocoder.mall.demo.business.convert.DemoProductConvert
;
import
cn.iocoder.mall.demo.business.convert.DemoProductConvert
;
import
cn.iocoder.mall.demo.business.dao.DemoProductMapper
;
import
cn.iocoder.mall.demo.business.dao.DemoProductMapper
;
import
cn.iocoder.mall.demo.business.dataobject.product.DemoProductDO
;
import
cn.iocoder.mall.demo.business.dataobject.product.DemoProductDO
;
...
@@ -20,4 +22,27 @@ public class DemoProductServiceImpl implements DemoProductService {
...
@@ -20,4 +22,27 @@ public class DemoProductServiceImpl implements DemoProductService {
return
DemoProductConvert
.
INSTANCE
.
convert
(
product
);
return
DemoProductConvert
.
INSTANCE
.
convert
(
product
);
}
}
@Override
public
PageResult
<
DemoProductBO
>
page
(
DemoProductPageBO
page
)
{
return
null
;
}
@Override
public
int
add
(
DemoProductAddBO
product
)
{
return
0
;
}
@Override
public
int
update
(
DemoProductUpdateBO
product
)
{
return
0
;
}
@Override
public
void
updateQuantityReduce
(
DemoProductQuantityReduceBO
reduceBO
)
{
int
updateCount
=
demoProductMapper
.
updateQuantityReduce
(
reduceBO
.
getId
(),
reduceBO
.
getQuantity
());
if
(
updateCount
==
0
)
{
throw
ServiceExceptionUtil
.
exception
(
20000
);
// TODO 芋艿,错误码
}
}
}
}
demo/demo-business/src/main/resources/mapper/DemoProductMapper.xml
0 → 100644
浏览文件 @
683b9a7a
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.iocoder.mall.demo.business.dao.DemoProductMapper"
>
<update
id=
"updateQuantityReduce"
>
UPDATE product
SET quantity = quantity - #{quantity}
WHERE id = #{id}
AND quantity >= #{quantity}
</update>
</mapper>
demo/demo-mq/pom.xml
0 → 100644
浏览文件 @
683b9a7a
<?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"
>
<parent>
<artifactId>
demo
</artifactId>
<groupId>
cn.iocoder.mall
</groupId>
<version>
1.0-SNAPSHOT
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
demo-mq
</artifactId>
</project>
demo/pom.xml
浏览文件 @
683b9a7a
...
@@ -18,6 +18,7 @@
...
@@ -18,6 +18,7 @@
<module>
demo-business-api
</module>
<module>
demo-business-api
</module>
<module>
demo-business
</module>
<module>
demo-business
</module>
<module>
demo-job
</module>
<module>
demo-job
</module>
<module>
demo-mq
</module>
</modules>
</modules>
...
...
system/system-service-api/src/main/java/cn/iocoder/mall/admin/api/bo/admin/AdminBO.java
浏览文件 @
683b9a7a
...
@@ -28,6 +28,7 @@ public class AdminBO implements Serializable {
...
@@ -28,6 +28,7 @@ public class AdminBO implements Serializable {
@ApiModelProperty
(
value
=
"创建时间"
,
required
=
true
,
example
=
"时间戳格式"
)
@ApiModelProperty
(
value
=
"创建时间"
,
required
=
true
,
example
=
"时间戳格式"
)
private
Date
createTime
;
private
Date
createTime
;
// TODO FROM 芋艿 to :参数命名不正确。
@ApiModelProperty
(
value
=
"部门ID"
,
required
=
true
,
example
=
"1"
)
@ApiModelProperty
(
value
=
"部门ID"
,
required
=
true
,
example
=
"1"
)
private
Integer
deptmentId
;
private
Integer
deptmentId
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论