Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
O
oms-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
oms-ci-test
Commits
5d414318
提交
5d414318
authored
7月 26, 2023
作者:
张小凤
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Demand(update)
上级
65a7a9a2
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
149 行增加
和
2 行删除
+149
-2
ResultEnum.java
src/main/java/com/mmc/oms/common/ResultEnum.java
+1
-0
DemandReleaseOrderController.java
...c/oms/controller/demand/DemandReleaseOrderController.java
+13
-0
DemandReleaseOrderDao.java
...in/java/com/mmc/oms/dao/demand/DemandReleaseOrderDao.java
+5
-0
DemandReleaseOrderDO.java
.../java/com/mmc/oms/entity/demand/DemandReleaseOrderDO.java
+17
-0
DemandReleaseOrderVO.java
...ava/com/mmc/oms/model/vo/demand/DemandReleaseOrderVO.java
+2
-0
PublisherPhoneVO.java
...in/java/com/mmc/oms/model/vo/demand/PublisherPhoneVO.java
+22
-0
UserPayInfoVO.java
src/main/java/com/mmc/oms/model/vo/demand/UserPayInfoVO.java
+30
-0
DemandReleaseOrderService.java
...com/mmc/oms/service/demand/DemandReleaseOrderService.java
+2
-0
DemandReleaseOrderServiceImpl.java
...ms/service/demand/Impl/DemandReleaseOrderServiceImpl.java
+38
-0
DemandReleaseOrderDao.xml
src/main/resources/mapper/demand/DemandReleaseOrderDao.xml
+19
-2
没有找到文件。
src/main/java/com/mmc/oms/common/ResultEnum.java
浏览文件 @
5d414318
...
...
@@ -406,6 +406,7 @@ public enum ResultEnum implements BaseErrorInfoInterface {
THE_TOKEN_CANNOT_BE_NULL
(
"2018"
,
"token不能为null"
),
THE_CURRENT_ACCOUNT_CANNOT_PLACE_ORDERS
(
"2019"
,
"后台管理账号不能下单"
),
NO_PAYMENT_REQUIRED
(
"20021"
,
"自己发布的需求无需支付"
),
THE_CURRENT_DEMAND_IS_PAID
(
"200022"
,
"当前需求已支付,无需重复支付"
),
THIRD_PARTY_ERRORS
(
"2020"
,
"第三方接口错误或者第三接口正在更新"
);
/**
...
...
src/main/java/com/mmc/oms/controller/demand/DemandReleaseOrderController.java
浏览文件 @
5d414318
...
...
@@ -60,4 +60,17 @@ public class DemandReleaseOrderController extends BaseController {
}
@ApiOperation
(
value
=
"获取发布者的电话"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"/getPublishPhone"
)
public
ResultBody
getPublishPhone
(
@RequestBody
@Validated
CommonPaymentVO
commonPaymentVO
,
HttpServletRequest
request
)
{
return
releaseOrderService
.
getPublishPhone
(
commonPaymentVO
,
request
,
this
.
getCurrentAccount
(
request
).
getUserAccountId
());
}
}
src/main/java/com/mmc/oms/dao/demand/DemandReleaseOrderDao.java
浏览文件 @
5d414318
package
com
.
mmc
.
oms
.
dao
.
demand
;
import
com.mmc.oms.entity.demand.DemandReleaseOrderDO
;
import
com.mmc.oms.model.vo.demand.UserPayInfoVO
;
import
org.apache.ibatis.annotations.Mapper
;
/**
...
...
@@ -15,4 +16,8 @@ public interface DemandReleaseOrderDao {
void
addRequirementsInfo
(
DemandReleaseOrderDO
requirementsInfoDO
);
DemandReleaseOrderDO
orderPayment
(
String
orderNumber
);
void
updateOrderDemand
(
DemandReleaseOrderDO
releaseOrderDO
);
DemandReleaseOrderDO
selectPhone
(
String
orderNumber
);
}
src/main/java/com/mmc/oms/entity/demand/DemandReleaseOrderDO.java
浏览文件 @
5d414318
...
...
@@ -5,6 +5,7 @@ import com.mmc.oms.common.publicinterface.Insert;
import
com.mmc.oms.common.publicinterface.Update
;
import
com.mmc.oms.model.vo.demand.DemandReleaseOrderVO
;
import
com.mmc.oms.model.vo.demand.OrderRequestParamsVO
;
import
com.mmc.oms.model.vo.demand.UserPayInfoVO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
...
...
@@ -84,9 +85,16 @@ public class DemandReleaseOrderDO implements Serializable {
@ApiModelProperty
(
value
=
"应支付金额 单位元"
,
example
=
"1.00"
)
private
BigDecimal
paramMoney
;
@ApiModelProperty
(
value
=
"实际支付金额 单位元"
,
example
=
"1.00"
)
private
BigDecimal
practicalMoney
;
@ApiModelProperty
(
value
=
"发布者id"
,
example
=
"1"
,
required
=
true
)
private
Integer
publishAccountId
;
@ApiModelProperty
(
value
=
"需求发布id"
,
required
=
true
)
private
Integer
requirementsInfoId
;
public
DemandReleaseOrderDO
(
DemandReleaseOrderVO
requirementsInfoVO
)
{
this
.
requirementTypeId
=
requirementsInfoVO
.
getRequirementTypeId
();
this
.
requirementTypeName
=
requirementsInfoVO
.
getRequirementTypeName
();
...
...
@@ -104,8 +112,17 @@ public class DemandReleaseOrderDO implements Serializable {
this
.
orderNumber
=
requirementsInfoVO
.
getOrderNumber
();
this
.
paramMoney
=
requirementsInfoVO
.
getParamMoney
();
this
.
publishAccountId
=
requirementsInfoVO
.
getPublishAccountId
();
this
.
requirementsInfoId
=
requirementsInfoVO
.
getRequirementsInfoId
();
}
public
DemandReleaseOrderDO
(
UserPayInfoVO
userPayInfoVO
,
BigDecimal
divide
)
{
this
.
orderNumber
=
userPayInfoVO
.
getOutTradeNo
();
this
.
practicalMoney
=
divide
;
this
.
userAccountId
=
userPayInfoVO
.
getUserAccountId
();
}
public
OrderRequestParamsVO
buildOrderRequestParamsVO
()
{
return
OrderRequestParamsVO
.
builder
().
orderNo
(
this
.
orderNumber
).
description
(
this
.
requireDescription
).
orderPort
(
3
)
...
...
src/main/java/com/mmc/oms/model/vo/demand/DemandReleaseOrderVO.java
浏览文件 @
5d414318
...
...
@@ -21,6 +21,8 @@ import java.util.Date;
public
class
DemandReleaseOrderVO
{
private
static
final
long
serialVersionUID
=
-
447951390213113317L
;
@ApiModelProperty
(
value
=
"需求发布id"
,
required
=
true
)
private
Integer
requirementsInfoId
;
@ApiModelProperty
(
value
=
"需求类型id"
,
example
=
"1"
,
required
=
true
)
private
Integer
requirementTypeId
;
...
...
src/main/java/com/mmc/oms/model/vo/demand/PublisherPhoneVO.java
0 → 100644
浏览文件 @
5d414318
package
com
.
mmc
.
oms
.
model
.
vo
.
demand
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @Author small
* @Date 2023/7/26 17:34
* @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public
class
PublisherPhoneVO
{
@ApiModelProperty
(
value
=
"发布者电话"
,
example
=
"1892994543"
,
required
=
true
)
private
String
publishPhone
;
}
src/main/java/com/mmc/oms/model/vo/demand/UserPayInfoVO.java
0 → 100644
浏览文件 @
5d414318
package
com
.
mmc
.
oms
.
model
.
vo
.
demand
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.math.BigDecimal
;
/**
* @Author small
* @Date 2023/7/26 17:49
* @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
UserPayInfoVO
{
@ApiModelProperty
(
"订单号"
)
private
String
outTradeNo
;
@ApiModelProperty
(
"支付成功时间"
)
private
String
successTime
;
@ApiModelProperty
(
"用户支付金额"
)
private
Integer
wxNotifyPayerTotal
;
@ApiModelProperty
(
"交易状态"
)
private
String
tradeState
;
@ApiModelProperty
(
"用户id"
)
private
Integer
userAccountId
;
}
src/main/java/com/mmc/oms/service/demand/DemandReleaseOrderService.java
浏览文件 @
5d414318
...
...
@@ -17,4 +17,6 @@ public interface DemandReleaseOrderService {
ResultBody
orderPayment
(
CommonPaymentVO
commonPaymentVO
,
HttpServletRequest
request
,
Integer
userAccountId
);
ResultBody
getPublishPhone
(
CommonPaymentVO
commonPaymentVO
,
HttpServletRequest
request
,
Integer
userAccountId
);
}
src/main/java/com/mmc/oms/service/demand/Impl/DemandReleaseOrderServiceImpl.java
浏览文件 @
5d414318
package
com
.
mmc
.
oms
.
service
.
demand
.
Impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mmc.oms.common.RedisConstant
;
import
com.mmc.oms.common.ResultEnum
;
import
com.mmc.oms.common.json.JsonUtil
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.dao.demand.DemandReleaseOrderDao
;
import
com.mmc.oms.entity.demand.DemandReleaseOrderDO
;
import
com.mmc.oms.model.dto.mall.ProductSpecPriceDTO
;
import
com.mmc.oms.model.dto.order.OrderInfoDTO
;
import
com.mmc.oms.model.vo.demand.CommonPaymentVO
;
import
com.mmc.oms.model.vo.demand.DemandReleaseOrderVO
;
import
com.mmc.oms.model.vo.demand.OrderRequestParamsVO
;
import
com.mmc.oms.model.vo.demand.UserPayInfoVO
;
import
com.mmc.oms.service.demand.DemandReleaseOrderService
;
import
io.swagger.annotations.ApiModelProperty
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.redis.core.HashOperations
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.http.*
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.MultiValueMap
;
import
org.springframework.web.client.RestClientException
;
import
org.springframework.web.client.RestTemplate
;
...
...
@@ -38,6 +47,9 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
@Value
(
"${payment.url}"
)
private
String
paymentUrl
;
@Autowired
private
StringRedisTemplate
stringRedisTemplate
;
@Override
public
ResultBody
publish
(
DemandReleaseOrderVO
demandReleaseOrderVO
,
HttpServletRequest
request
)
{
DemandReleaseOrderDO
requirementsInfoDO
=
new
DemandReleaseOrderDO
(
demandReleaseOrderVO
);
...
...
@@ -56,6 +68,10 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
int
i
=
multiply
.
intValue
();
OrderRequestParamsVO
orderRequestParamsVO
=
demandReleaseOrderDO
.
buildOrderRequestParamsVO
();
orderRequestParamsVO
.
setAmount
(
i
);
BigDecimal
practicalMoney
=
demandReleaseOrderDO
.
getPracticalMoney
();
if
(
practicalMoney
!=
null
){
return
ResultBody
.
error
(
ResultEnum
.
THE_CURRENT_DEMAND_IS_PAID
);
}
if
(
i
!=
0
){
return
releaseOrder
(
orderRequestParamsVO
,
token
);
}
else
if
(
i
==
0
){
...
...
@@ -65,6 +81,28 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
return
ResultBody
.
success
();
}
@Override
public
ResultBody
getPublishPhone
(
CommonPaymentVO
commonPaymentVO
,
HttpServletRequest
request
,
Integer
userAccountId
)
{
String
token
=
request
.
getHeader
(
"token"
);
HttpHeaders
headers
=
new
HttpHeaders
();
headers
.
add
(
"token"
,
token
);
HttpEntity
<
String
>
entity
=
new
HttpEntity
<>(
null
,
headers
);
ResponseEntity
<
UserPayInfoVO
>
exchange
=
restTemplate
.
exchange
(
paymentUrl
+
"/wechat/queryUserPayInfo"
+
"?orderNo="
+
commonPaymentVO
.
getOrderNumber
(),
HttpMethod
.
GET
,
entity
,
UserPayInfoVO
.
class
);
UserPayInfoVO
body
=
exchange
.
getBody
();
if
(
body
.
getWxNotifyPayerTotal
()!=
null
){
BigDecimal
divide
=
BigDecimal
.
valueOf
(
Long
.
valueOf
(
body
.
getWxNotifyPayerTotal
())).
divide
(
new
BigDecimal
(
100
));
DemandReleaseOrderDO
requirementsInfoDO
=
new
DemandReleaseOrderDO
(
body
,
divide
);
releaseOrderDao
.
updateOrderDemand
(
requirementsInfoDO
);
DemandReleaseOrderDO
demandReleaseOrderDO
=
releaseOrderDao
.
selectPhone
(
requirementsInfoDO
.
getOrderNumber
());
stringRedisTemplate
.
opsForValue
().
set
(
demandReleaseOrderDO
.
getRequirementsInfoId
().
toString
(),
JsonUtil
.
parseObjToJson
(
demandReleaseOrderDO
));
return
ResultBody
.
success
(
demandReleaseOrderDO
.
getPublishPhone
());
}
return
ResultBody
.
success
();
}
public
ResultBody
releaseOrder
(
OrderRequestParamsVO
orderRequestParamsVO
,
String
token
)
{
HttpHeaders
headers
=
new
HttpHeaders
();
headers
.
setContentType
(
MediaType
.
APPLICATION_JSON
);
...
...
src/main/resources/mapper/demand/DemandReleaseOrderDao.xml
浏览文件 @
5d414318
...
...
@@ -10,14 +10,31 @@
INSERT INTO demand_release_order(requirement_type_id, user_account_id, publish_name, publish_phone,publish_account_id,
require_description, create_time,
update_time, task_title, task_start_time, task_end_time, task_address, longitude,
latitude, require_url,order_number,param_money,requirement_type_name)
latitude, require_url,order_number,param_money,requirement_type_name
,requirements_info_id
)
VALUES (#{requirementTypeId}, #{userAccountId}, #{publishName}, #{publishPhone},#{publishAccountId},
#{requireDescription}, NOW(),
NOW(), #{taskTitle}, #{taskStartTime}, #{taskEndTime}, #{taskAddress}, #{longitude},
#{latitude}, #{requireUrl},#{orderNumber},#{paramMoney},#{requirementTypeName});
#{latitude}, #{requireUrl},#{orderNumber},#{paramMoney},#{requirementTypeName}
,#{requirementsInfoId}
);
</insert>
<select
id=
"orderPayment"
resultType=
"com.mmc.oms.entity.demand.DemandReleaseOrderDO"
>
select * from demand_release_order where order_number=#{orderNumber}
</select>
<update
id=
"updateOrderDemand"
parameterType=
"com.mmc.oms.entity.demand.DemandReleaseOrderDO"
>
UPDATE demand_release_order
<set>
<if
test=
"userAccountId != null"
>
user_account_id = #{userAccountId},
</if>
<if
test=
"practicalMoney != null"
>
practical_money = #{practicalMoney},
</if>
</set>
WHERE order_number = #{orderNumber}
</update>
<select
id=
"selectPhone"
resultType=
"com.mmc.oms.entity.demand.DemandReleaseOrderDO"
>
select publish_phone,requirements_info_id,user_account_id,order_number from demand_release_order where order_number = #{orderNumber}
</select>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论