Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
I
ims
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
ims
Commits
d177cc97
提交
d177cc97
authored
11月 07, 2023
作者:
恶龙咆哮
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
可以发多人订单,已经飞手多人抢单
上级
5752b6c5
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
342 行增加
和
19 行删除
+342
-19
GrabTheOrderVO.java
...c/main/java/com/mmc/csf/infomation/vo/GrabTheOrderVO.java
+2
-0
ServiceRequirementsVO.java
...java/com/mmc/csf/infomation/vo/ServiceRequirementsVO.java
+4
-0
RequirementsDao.java
...rc/main/java/com/mmc/csf/release/dao/RequirementsDao.java
+26
-0
RequirementsAmountDO.java
...csf/release/entity/requirements/RequirementsAmountDO.java
+16
-0
ServiceRequirementsDO.java
...sf/release/entity/requirements/ServiceRequirementsDO.java
+5
-0
ServiceRequirementsSonDO.java
...release/entity/requirements/ServiceRequirementsSonDO.java
+188
-0
RequirementsServiceImpl.java
...mmc/csf/release/service/impl/RequirementsServiceImpl.java
+69
-16
RequirementsDao.xml
...rc/main/resources/mapper/requirements/RequirementsDao.xml
+32
-3
没有找到文件。
csf-common/csf-common-model/src/main/java/com/mmc/csf/infomation/vo/GrabTheOrderVO.java
浏览文件 @
d177cc97
...
@@ -51,5 +51,7 @@ public class GrabTheOrderVO {
...
@@ -51,5 +51,7 @@ public class GrabTheOrderVO {
@ApiModelProperty
(
value
=
"手机号"
,
hidden
=
true
)
@ApiModelProperty
(
value
=
"手机号"
,
hidden
=
true
)
private
String
phoneNum
;
private
String
phoneNum
;
@ApiModelProperty
(
value
=
"订单需求总人数"
)
private
Integer
requireNum
;
}
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/infomation/vo/ServiceRequirementsVO.java
浏览文件 @
d177cc97
...
@@ -113,4 +113,8 @@ public class ServiceRequirementsVO implements Serializable {
...
@@ -113,4 +113,8 @@ public class ServiceRequirementsVO implements Serializable {
@ApiModelProperty
(
value
=
"区编码"
,
required
=
false
)
@ApiModelProperty
(
value
=
"区编码"
,
required
=
false
)
private
Integer
districtCode
;
private
Integer
districtCode
;
@ApiModelProperty
(
value
=
"订单总共需要多少人"
)
private
Integer
requireNum
;
}
}
release-service/src/main/java/com/mmc/csf/release/dao/RequirementsDao.java
浏览文件 @
d177cc97
...
@@ -85,6 +85,9 @@ public interface RequirementsDao {
...
@@ -85,6 +85,9 @@ public interface RequirementsDao {
void
addPublishService
(
ServiceRequirementsDO
requirementsInfoDO
);
void
addPublishService
(
ServiceRequirementsDO
requirementsInfoDO
);
void
addPublishServiceSon
(
ServiceRequirementsSonDO
serviceRequirementsSonDO
);
ServiceRequirementsDO
grabTheOrder
(
Integer
requirementsInfoId
);
ServiceRequirementsDO
grabTheOrder
(
Integer
requirementsInfoId
);
void
updateGrabTheOrder
(
Integer
requirementsInfoId
,
Integer
repertory
);
void
updateGrabTheOrder
(
Integer
requirementsInfoId
,
Integer
repertory
);
...
@@ -217,4 +220,27 @@ public interface RequirementsDao {
...
@@ -217,4 +220,27 @@ public interface RequirementsDao {
BigDecimal
getServiceOrderAmount
();
BigDecimal
getServiceOrderAmount
();
/**
* 根据父订单获取子订单中没被抢的id
* @param fatherRequireId 父订单id
* @return {@link Integer}
*/
Integer
getRequirementsSonInfoId
(
Integer
fatherRequireId
);
/**
* 修改父订单中还需多少人字段
* @param fatherRequireId 父订单id
* @param fatherRepertory 还需多少人
* @return {@link Integer}
*/
Integer
updateRequirementsInfoRepertory
(
Integer
fatherRequireId
,
Integer
fatherRepertory
);
/**
* 查找用户有没有已经抢到这个订单了
* @param fatherRequireId 父订单id
* @param userId 抢单用户id
* @return {@link Integer}1 就是已经抢到这个订单了 0 就是没抢过
*/
Integer
selectBooleanByFatherIdAndUserId
(
Integer
fatherRequireId
,
Integer
userId
);
}
}
release-service/src/main/java/com/mmc/csf/release/entity/requirements/RequirementsAmountDO.java
浏览文件 @
d177cc97
...
@@ -98,6 +98,22 @@ public class RequirementsAmountDO implements Serializable {
...
@@ -98,6 +98,22 @@ public class RequirementsAmountDO implements Serializable {
this
.
levelWeChatAmount
=
requirementsInfoDO
.
getLevelWeChatAmount
();
this
.
levelWeChatAmount
=
requirementsInfoDO
.
getLevelWeChatAmount
();
this
.
levelCashAmount
=
requirementsInfoDO
.
getLevelCashAmount
();
this
.
levelCashAmount
=
requirementsInfoDO
.
getLevelCashAmount
();
}
}
public
RequirementsAmountDO
(
ServiceRequirementsSonDO
requirementsInfoDO
)
{
this
.
requirementsInfoId
=
requirementsInfoDO
.
getId
();
this
.
orderAmount
=
requirementsInfoDO
.
getOrderAmount
();
this
.
totalAmount
=
requirementsInfoDO
.
getTotalAmount
();
this
.
orderLevelAmount
=
requirementsInfoDO
.
getOrderLevelAmount
();
this
.
orderLevel
=
requirementsInfoDO
.
getOrderLevel
();
this
.
weChat
=
requirementsInfoDO
.
getWeChat
();
this
.
salaryAmount
=
requirementsInfoDO
.
getSalaryAmount
();
this
.
wechatPayOrderNumber
=
requirementsInfoDO
.
getWechatPayOrderNumber
();
this
.
userAccountId
=
requirementsInfoDO
.
getUserAccountId
();
this
.
cashAmount
=
requirementsInfoDO
.
getCashAmount
();
this
.
levelSalaryAmount
=
requirementsInfoDO
.
getLevelSalaryAmount
();
this
.
levelWeChatAmount
=
requirementsInfoDO
.
getLevelWeChatAmount
();
this
.
levelCashAmount
=
requirementsInfoDO
.
getLevelCashAmount
();
}
public
RequirementsAmountDO
(
ServiceRequirementsEditVO
requirementsEditVO
)
{
public
RequirementsAmountDO
(
ServiceRequirementsEditVO
requirementsEditVO
)
{
this
.
orderAmount
=
requirementsEditVO
.
getOrderAmount
();
this
.
orderAmount
=
requirementsEditVO
.
getOrderAmount
();
...
...
release-service/src/main/java/com/mmc/csf/release/entity/requirements/ServiceRequirementsDO.java
浏览文件 @
d177cc97
...
@@ -145,6 +145,8 @@ public class ServiceRequirementsDO {
...
@@ -145,6 +145,8 @@ public class ServiceRequirementsDO {
@ApiModelProperty
(
value
=
"服务名称"
)
@ApiModelProperty
(
value
=
"服务名称"
)
private
String
serviceName
;
private
String
serviceName
;
@ApiModelProperty
(
value
=
"订单总共所需多少人"
)
private
Integer
requireNum
;
public
ServiceRequirementsDO
(
ServiceRequirementsVO
serviceRequirementsVO
)
{
public
ServiceRequirementsDO
(
ServiceRequirementsVO
serviceRequirementsVO
)
{
this
.
id
=
serviceRequirementsVO
.
getId
();
this
.
id
=
serviceRequirementsVO
.
getId
();
...
@@ -172,5 +174,8 @@ public class ServiceRequirementsDO {
...
@@ -172,5 +174,8 @@ public class ServiceRequirementsDO {
this
.
provinceCode
=
serviceRequirementsVO
.
getProvinceCode
();
this
.
provinceCode
=
serviceRequirementsVO
.
getProvinceCode
();
this
.
cityCode
=
serviceRequirementsVO
.
getCityCode
();
this
.
cityCode
=
serviceRequirementsVO
.
getCityCode
();
this
.
districtCode
=
serviceRequirementsVO
.
getDistrictCode
();
this
.
districtCode
=
serviceRequirementsVO
.
getDistrictCode
();
this
.
requireNum
=
serviceRequirementsVO
.
getRequireNum
();
}
}
}
}
release-service/src/main/java/com/mmc/csf/release/entity/requirements/ServiceRequirementsSonDO.java
0 → 100644
浏览文件 @
d177cc97
package
com
.
mmc
.
csf
.
release
.
entity
.
requirements
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.mmc.csf.config.IsNullConvertZero
;
import
com.mmc.csf.infomation.vo.OrderLevelEnum
;
import
com.mmc.csf.release.model.group.Insert
;
import
com.mmc.csf.release.model.group.Update
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.Date
;
/**
* @author 张培
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ServiceRequirementsSonDO
{
@ApiModelProperty
(
value
=
"id"
)
@NotNull
(
message
=
"id不能为空"
,
groups
=
{
Update
.
class
})
private
Integer
id
;
@ApiModelProperty
(
value
=
"id"
)
@NotBlank
(
message
=
"服务类型id不能为空"
,
groups
=
{
Insert
.
class
,
Update
.
class
})
private
Integer
serviceId
;
@ApiModelProperty
(
value
=
"飞行日期——任务开始时间"
,
example
=
"2023-07-25"
,
required
=
true
)
@NotNull
(
message
=
"任务开始时间不能为空"
,
groups
=
{
Insert
.
class
,
Update
.
class
})
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
taskStartTime
;
@ApiModelProperty
(
value
=
"飞行日期——任务结束时间"
,
example
=
"2023-07-26"
,
required
=
true
)
@NotNull
(
message
=
"任务开始时间不能为空"
,
groups
=
{
Insert
.
class
,
Update
.
class
})
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
taskEndTime
;
@ApiModelProperty
(
value
=
"飞行位置——任务地址"
,
example
=
"广东省深圳市"
,
required
=
true
)
@NotBlank
(
message
=
"任务地址不能为空"
,
groups
=
{
Insert
.
class
,
Update
.
class
})
private
String
taskAddress
;
@ApiModelProperty
(
value
=
"飞行位置——任务经度"
,
example
=
"23.344324"
)
private
Double
longitude
;
@ApiModelProperty
(
value
=
"飞行位置——任务纬度"
,
example
=
"44.344324"
)
private
Double
latitude
;
@ApiModelProperty
(
value
=
"省份编码"
,
required
=
false
)
//@NotNull(message = "省份编码不能为空", groups = {Insert.class})
private
Integer
provinceCode
;
@ApiModelProperty
(
value
=
"市编码"
,
required
=
false
)
private
Integer
cityCode
;
@ApiModelProperty
(
value
=
"区编码"
,
required
=
false
)
private
Integer
districtCode
;
@ApiModelProperty
(
value
=
"需求描述"
,
example
=
"描述一下"
,
required
=
true
)
@NotNull
(
message
=
"需求描述不能为空"
,
groups
=
{
Insert
.
class
})
@Length
(
max
=
300
,
message
=
"字符过长"
)
private
String
requireDescription
;
@ApiModelProperty
(
value
=
"订单金额"
,
example
=
"订单金额"
,
required
=
true
)
@NotNull
(
message
=
"订单金额"
,
groups
=
{
Insert
.
class
})
@IsNullConvertZero
private
BigDecimal
orderAmount
;
@ApiModelProperty
(
value
=
"飞手保险"
,
example
=
"飞手保险"
,
required
=
true
)
@NotNull
(
message
=
"飞手保险"
,
groups
=
{
Insert
.
class
})
private
String
insurance
;
@ApiModelProperty
(
value
=
"订单级别"
,
example
=
"订单级别"
,
required
=
true
)
@NotNull
(
message
=
"订单级别"
,
groups
=
{
Insert
.
class
})
private
OrderLevelEnum
orderLevelEnum
;
@ApiModelProperty
(
value
=
"后台获取token里面的用户id"
,
hidden
=
true
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"发布者姓名"
,
example
=
"张三"
)
private
String
publishName
;
@ApiModelProperty
(
value
=
"发布者电话"
,
example
=
"1892994543"
,
required
=
true
)
@NotNull
(
message
=
"发布者电话不能为空"
,
groups
=
{
Insert
.
class
})
private
String
publishPhone
;
@ApiModelProperty
(
value
=
"发布者订单编号"
)
private
String
publisherNumber
;
@ApiModelProperty
(
value
=
"0普通 100急单 300置顶"
)
@IsNullConvertZero
private
BigDecimal
orderLevelAmount
;
@ApiModelProperty
(
value
=
"订单级别 REGULAR_ORDER,RUSH_ORDER,TOP_ORDER"
)
private
String
orderLevel
;
@ApiModelProperty
(
value
=
"总金额"
,
example
=
"100"
,
required
=
true
)
@NotNull
(
message
=
"总金额"
,
groups
=
{
Insert
.
class
})
@IsNullConvertZero
private
BigDecimal
totalAmount
;
@ApiModelProperty
(
value
=
"云享金"
,
example
=
"10"
)
@IsNullConvertZero
private
BigDecimal
cashAmount
;
@ApiModelProperty
(
value
=
"佣金"
,
example
=
"10"
)
@IsNullConvertZero
private
BigDecimal
salaryAmount
;
@ApiModelProperty
(
value
=
"微信金额"
,
example
=
"10"
)
@IsNullConvertZero
private
BigDecimal
weChat
;
@ApiModelProperty
(
value
=
"微信支付订单编号"
,
example
=
"R202308191657303116170"
)
private
String
wechatPayOrderNumber
;
private
Integer
repertory
;
@ApiModelProperty
(
value
=
"支付方式,云享金:1,佣金:2,微信支付:3"
,
example
=
"1,2,3"
)
private
String
paymentType
;
@ApiModelProperty
(
value
=
"地区编码"
)
private
String
adcode
;
@IsNullConvertZero
@ApiModelProperty
(
value
=
"置顶/加急 佣金支付多少"
,
example
=
"100"
)
private
BigDecimal
levelSalaryAmount
;
@ApiModelProperty
(
value
=
"置顶/加急 微信支付多少"
,
example
=
"100"
)
@IsNullConvertZero
private
BigDecimal
levelWeChatAmount
;
@ApiModelProperty
(
value
=
"置顶/加急 云享金支付多少"
,
example
=
"100"
)
@IsNullConvertZero
private
BigDecimal
levelCashAmount
;
@ApiModelProperty
(
value
=
"openid"
)
private
String
openid
;
@ApiModelProperty
(
value
=
"服务名称"
)
private
String
serviceName
;
@ApiModelProperty
(
value
=
"订单总共所需多少人"
)
private
Integer
requireNum
;
@ApiModelProperty
(
value
=
"上级订单id"
)
private
Integer
fatherRequireId
;
public
ServiceRequirementsSonDO
(
ServiceRequirementsDO
serviceRequirementsDO
)
{
BigDecimal
decimalSum
=
new
BigDecimal
(
serviceRequirementsDO
.
getRequireNum
());
this
.
serviceId
=
serviceRequirementsDO
.
getServiceId
();
this
.
taskStartTime
=
serviceRequirementsDO
.
getTaskStartTime
();
this
.
taskEndTime
=
serviceRequirementsDO
.
getTaskEndTime
();
this
.
taskAddress
=
serviceRequirementsDO
.
getTaskAddress
();
this
.
longitude
=
serviceRequirementsDO
.
getLongitude
();
this
.
latitude
=
serviceRequirementsDO
.
getLatitude
();
this
.
provinceCode
=
serviceRequirementsDO
.
getProvinceCode
();
this
.
cityCode
=
serviceRequirementsDO
.
getCityCode
();
this
.
districtCode
=
serviceRequirementsDO
.
getDistrictCode
();
this
.
requireDescription
=
serviceRequirementsDO
.
getRequireDescription
();
this
.
orderAmount
=
serviceRequirementsDO
.
getOrderAmount
().
divide
(
decimalSum
,
2
,
RoundingMode
.
HALF_UP
);
this
.
insurance
=
serviceRequirementsDO
.
getInsurance
();
this
.
orderLevelEnum
=
serviceRequirementsDO
.
getOrderLevelEnum
();
this
.
userAccountId
=
serviceRequirementsDO
.
getUserAccountId
();
this
.
publishName
=
serviceRequirementsDO
.
getPublishName
();
this
.
publishPhone
=
serviceRequirementsDO
.
getPublishPhone
();
this
.
publisherNumber
=
serviceRequirementsDO
.
getPublisherNumber
();
this
.
orderLevelAmount
=
serviceRequirementsDO
.
getOrderLevelAmount
();
this
.
orderLevel
=
serviceRequirementsDO
.
getOrderLevel
();
this
.
totalAmount
=
serviceRequirementsDO
.
getTotalAmount
().
divide
(
decimalSum
,
2
,
RoundingMode
.
HALF_UP
);
this
.
cashAmount
=
serviceRequirementsDO
.
getCashAmount
().
divide
(
decimalSum
,
2
,
RoundingMode
.
HALF_UP
);
this
.
salaryAmount
=
serviceRequirementsDO
.
getSalaryAmount
().
divide
(
decimalSum
,
2
,
RoundingMode
.
HALF_UP
);
this
.
weChat
=
serviceRequirementsDO
.
getWeChat
().
divide
(
decimalSum
,
2
,
RoundingMode
.
HALF_UP
);
this
.
wechatPayOrderNumber
=
serviceRequirementsDO
.
getWechatPayOrderNumber
();
this
.
repertory
=
1
;
this
.
paymentType
=
serviceRequirementsDO
.
getPaymentType
();
this
.
adcode
=
serviceRequirementsDO
.
getAdcode
();
this
.
levelSalaryAmount
=
serviceRequirementsDO
.
getLevelSalaryAmount
().
divide
(
decimalSum
,
2
,
RoundingMode
.
HALF_UP
);
this
.
levelWeChatAmount
=
serviceRequirementsDO
.
getLevelWeChatAmount
().
divide
(
decimalSum
,
2
,
RoundingMode
.
HALF_UP
);
this
.
levelCashAmount
=
serviceRequirementsDO
.
getLevelCashAmount
().
divide
(
decimalSum
,
2
,
RoundingMode
.
HALF_UP
);
this
.
openid
=
serviceRequirementsDO
.
getOpenid
();
this
.
serviceName
=
serviceRequirementsDO
.
getServiceName
();
this
.
requireNum
=
1
;
this
.
fatherRequireId
=
serviceRequirementsDO
.
getId
();
}
}
release-service/src/main/java/com/mmc/csf/release/service/impl/RequirementsServiceImpl.java
浏览文件 @
d177cc97
...
@@ -23,11 +23,13 @@ import com.mmc.csf.release.industry.IndustryTypeDTO;
...
@@ -23,11 +23,13 @@ import com.mmc.csf.release.industry.IndustryTypeDTO;
import
com.mmc.csf.release.industry.UserPayInfoVO
;
import
com.mmc.csf.release.industry.UserPayInfoVO
;
import
com.mmc.csf.release.service.RequirementsService
;
import
com.mmc.csf.release.service.RequirementsService
;
import
com.mmc.csf.release.util.RestTemplateUtil
;
import
com.mmc.csf.release.util.RestTemplateUtil
;
import
com.sun.xml.bind.v2.TODO
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.gavaghan.geodesy.Ellipsoid
;
import
org.gavaghan.geodesy.Ellipsoid
;
import
org.gavaghan.geodesy.GeodeticCalculator
;
import
org.gavaghan.geodesy.GeodeticCalculator
;
import
org.gavaghan.geodesy.GeodeticCurve
;
import
org.gavaghan.geodesy.GeodeticCurve
;
import
org.gavaghan.geodesy.GlobalCoordinates
;
import
org.gavaghan.geodesy.GlobalCoordinates
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
...
@@ -2446,6 +2448,8 @@ public class RequirementsServiceImpl implements RequirementsService {
...
@@ -2446,6 +2448,8 @@ public class RequirementsServiceImpl implements RequirementsService {
@Override
@Override
public
ResultBody
publishService
(
ServiceRequirementsVO
serviceRequirementsVO
,
HttpServletRequest
request
)
{
public
ResultBody
publishService
(
ServiceRequirementsVO
serviceRequirementsVO
,
HttpServletRequest
request
)
{
//这个是几个人的订单
Integer
sum
=
serviceRequirementsVO
.
getRequireNum
();
//获取用户基本信息
//获取用户基本信息
UserAccountSimpleDTO
userAccountSimpleDTO
=
feignGetUserSimpleInfo
(
serviceRequirementsVO
.
getUserAccountId
(),
request
);
UserAccountSimpleDTO
userAccountSimpleDTO
=
feignGetUserSimpleInfo
(
serviceRequirementsVO
.
getUserAccountId
(),
request
);
String
openid
=
userAccountSimpleDTO
.
getOpenid
();
String
openid
=
userAccountSimpleDTO
.
getOpenid
();
...
@@ -2580,8 +2584,6 @@ public class RequirementsServiceImpl implements RequirementsService {
...
@@ -2580,8 +2584,6 @@ public class RequirementsServiceImpl implements RequirementsService {
}
}
}
}
System
.
out
.
println
(
requirementsInfoDO
);
System
.
out
.
println
(
publisherWalletFlowVO
);
if
(
orderLevelEnum
.
equals
(
"RUSH_ORDER"
))
{
if
(
orderLevelEnum
.
equals
(
"RUSH_ORDER"
))
{
//加急的云享金
//加急的云享金
...
@@ -2646,9 +2648,6 @@ public class RequirementsServiceImpl implements RequirementsService {
...
@@ -2646,9 +2648,6 @@ public class RequirementsServiceImpl implements RequirementsService {
}
}
System
.
out
.
println
(
requirementsInfoDO
);
System
.
out
.
println
(
publisherWalletFlowVO
);
//不存在加急或者置顶
//不存在加急或者置顶
if
(
rushAndTop
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
if
(
rushAndTop
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
...
@@ -2697,8 +2696,7 @@ public class RequirementsServiceImpl implements RequirementsService {
...
@@ -2697,8 +2696,7 @@ public class RequirementsServiceImpl implements RequirementsService {
}
}
}
}
System
.
out
.
println
(
requirementsInfoDO
);
System
.
out
.
println
(
publisherWalletFlowVO
);
if
(
tempTotalAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
if
(
tempTotalAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
System
.
out
.
println
(
requirementsInfoDO
);
System
.
out
.
println
(
requirementsInfoDO
);
System
.
out
.
println
(
publisherWalletFlowVO
);
System
.
out
.
println
(
publisherWalletFlowVO
);
...
@@ -2722,17 +2720,43 @@ public class RequirementsServiceImpl implements RequirementsService {
...
@@ -2722,17 +2720,43 @@ public class RequirementsServiceImpl implements RequirementsService {
IndustryTypeDTO
industryTypeDTO
=
getIndustryTypeById
(
requirementsInfoDO
.
getServiceId
());
IndustryTypeDTO
industryTypeDTO
=
getIndustryTypeById
(
requirementsInfoDO
.
getServiceId
());
requirementsInfoDO
.
setServiceName
(
industryTypeDTO
.
getTypeName
());
requirementsInfoDO
.
setServiceName
(
industryTypeDTO
.
getTypeName
());
requirementsInfoDO
.
setOpenid
(
openid
);
requirementsInfoDO
.
setOpenid
(
openid
);
// sum是1说明订单只需一个人 sum>1 说明是多人需要创建子订单
requirementsInfoDO
.
setRepertory
(
requirementsInfoDO
.
getRequireNum
());
requirementsDao
.
addPublishService
(
requirementsInfoDO
);
requirementsDao
.
addPublishService
(
requirementsInfoDO
);
RequirementsAmountDO
requirementsAmountDO
=
new
RequirementsAmountDO
(
requirementsInfoDO
);
if
(
sum
==
1
)
{
requirementsDao
.
addAmount
(
requirementsAmountDO
);
RequirementsAmountDO
requirementsAmountDO
=
new
RequirementsAmountDO
(
requirementsInfoDO
);
requirementsDao
.
insertPlatformOrderEarnings
(
new
BigDecimal
(
0
),
requirementsInfoDO
.
getId
(),
0
);
requirementsDao
.
addAmount
(
requirementsAmountDO
);
if
(
requirementsAmountDO
.
getCashAmount
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
requirementsDao
.
insertPlatformOrderEarnings
(
new
BigDecimal
(
0
),
requirementsInfoDO
.
getId
(),
0
);
||
requirementsAmountDO
.
getSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
if
(
requirementsAmountDO
.
getCashAmount
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
||
requirementsAmountDO
.
getLevelCashAmount
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
||
requirementsAmountDO
.
getSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
||
requirementsAmountDO
.
getLevelSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
)
{
||
requirementsAmountDO
.
getLevelCashAmount
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
feignWalletFlow
(
publisherWalletFlowVO
,
request
.
getHeader
(
"token"
));
||
requirementsAmountDO
.
getLevelSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
)
{
feignWalletFlow
(
publisherWalletFlowVO
,
request
.
getHeader
(
"token"
));
}
return
ResultBody
.
success
();
}
else
{
//循环添加子订单
for
(
int
i
=
0
;
i
<
sum
;
i
++)
{
ServiceRequirementsSonDO
requirementsSonDO
=
new
ServiceRequirementsSonDO
(
requirementsInfoDO
);
requirementsDao
.
addPublishServiceSon
(
requirementsSonDO
);
System
.
out
.
println
(
requirementsSonDO
);
RequirementsAmountDO
requirementsAmountDO
=
new
RequirementsAmountDO
(
requirementsSonDO
);
System
.
out
.
println
(
requirementsAmountDO
);
System
.
out
.
println
(
"-------------------------"
);
requirementsDao
.
addAmount
(
requirementsAmountDO
);
requirementsDao
.
insertPlatformOrderEarnings
(
new
BigDecimal
(
0
),
requirementsSonDO
.
getId
(),
0
);
if
(
requirementsAmountDO
.
getCashAmount
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
||
requirementsAmountDO
.
getSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
||
requirementsAmountDO
.
getLevelCashAmount
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
||
requirementsAmountDO
.
getLevelSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
)
{
feignWalletFlow
(
publisherWalletFlowVO
,
request
.
getHeader
(
"token"
));
}
}
return
ResultBody
.
success
();
}
}
return
ResultBody
.
success
();
}
else
{
}
else
{
//云享金和佣金扣除完成,但是还不足支付订单金额,并且没有选择微信支付,所以支付不合法
//云享金和佣金扣除完成,但是还不足支付订单金额,并且没有选择微信支付,所以支付不合法
return
ResultBody
.
success
(
"下单失败"
);
return
ResultBody
.
success
(
"下单失败"
);
...
@@ -2796,6 +2820,31 @@ public class RequirementsServiceImpl implements RequirementsService {
...
@@ -2796,6 +2820,31 @@ public class RequirementsServiceImpl implements RequirementsService {
@Override
@Override
public
ResultBody
grabTheOrder
(
GrabTheOrderVO
grabTheOrderVO
,
HttpServletRequest
request
)
{
public
ResultBody
grabTheOrder
(
GrabTheOrderVO
grabTheOrderVO
,
HttpServletRequest
request
)
{
//这是这个订单所需要的总人数
Integer
requireNum
=
grabTheOrderVO
.
getRequireNum
();
Integer
fatherRequireId
=
null
,
fatherRepertory
=
null
;
//requireNum >= 2就说明这个订单是分开的有子订单
if
(
requireNum
>=
2
)
{
fatherRequireId
=
grabTheOrderVO
.
getRequirementsInfoId
();
//不让同一个用户对一个多人订单重复下单
if
(
requirementsDao
.
selectBooleanByFatherIdAndUserId
(
fatherRequireId
,
grabTheOrderVO
.
getUserAccountId
())
>
0
)
{
return
ResultBody
.
error
(
"不能重复抢一个订单"
);
}
ServiceRequirementsDO
fatherRequirementsInfoDO
=
requirementsDao
.
grabTheOrder
(
fatherRequireId
);
fatherRepertory
=
fatherRequirementsInfoDO
.
getRepertory
();
if
(
fatherRepertory
<=
0
)
{
return
ResultBody
.
error
(
"需求已被其他人抢走"
);
}
if
(
grabTheOrderVO
.
getRequirementsInfoId
().
equals
(
fatherRequirementsInfoDO
.
getId
())
&&
grabTheOrderVO
.
getUserAccountId
().
equals
(
fatherRequirementsInfoDO
.
getUserAccountId
()))
{
return
ResultBody
.
error
(
"自己不能抢自己发布的需求"
);
}
//获取没被抢的子订单id
Integer
requirementsSonInfoId
=
requirementsDao
.
getRequirementsSonInfoId
(
fatherRequireId
);
grabTheOrderVO
.
setRequirementsInfoId
(
requirementsSonInfoId
);
}
UserAccountSimpleDTO
userAccountSimpleDTO
=
feignGetUserSimpleInfo
(
grabTheOrderVO
.
getUserAccountId
(),
request
);
UserAccountSimpleDTO
userAccountSimpleDTO
=
feignGetUserSimpleInfo
(
grabTheOrderVO
.
getUserAccountId
(),
request
);
String
openid
=
userAccountSimpleDTO
.
getOpenid
();
String
openid
=
userAccountSimpleDTO
.
getOpenid
();
...
@@ -2919,6 +2968,10 @@ public class RequirementsServiceImpl implements RequirementsService {
...
@@ -2919,6 +2968,10 @@ public class RequirementsServiceImpl implements RequirementsService {
||
requirementsServiceDO
.
getSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
)
{
||
requirementsServiceDO
.
getSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
)
{
walletFlow
(
flyerWalletFlowVO
,
request
.
getHeader
(
"token"
));
walletFlow
(
flyerWalletFlowVO
,
request
.
getHeader
(
"token"
));
}
}
//如果是多人订单 还要去修改父订单还需多少人字段
if
(
requireNum
>=
2
)
{
requirementsDao
.
updateRequirementsInfoRepertory
(
fatherRequireId
,
fatherRepertory
-
1
);
}
return
ResultBody
.
success
();
return
ResultBody
.
success
();
}
else
{
}
else
{
...
...
release-service/src/main/resources/mapper/requirements/RequirementsDao.xml
浏览文件 @
d177cc97
...
@@ -547,12 +547,26 @@
...
@@ -547,12 +547,26 @@
require_description, create_time,
require_description, create_time,
update_time, task_start_time, task_end_time, task_address, longitude,
update_time, task_start_time, task_end_time, task_address, longitude,
latitude, publisher_number, insurance, publish,
latitude, publisher_number, insurance, publish,
service_flow_id, adcode, order_level_amount, openid, service_name,province_code,city_code,district_code)
service_flow_id, adcode, order_level_amount, openid, service_name,province_code,city_code,district_code
,require_num,repertory
)
VALUES (#{serviceId}, #{userAccountId}, #{publishName}, #{publishPhone},
VALUES (#{serviceId}, #{userAccountId}, #{publishName}, #{publishPhone},
#{requireDescription}, NOW(),
#{requireDescription}, NOW(),
NOW(), #{taskStartTime}, #{taskEndTime}, #{taskAddress}, #{longitude},
NOW(), #{taskStartTime}, #{taskEndTime}, #{taskAddress}, #{longitude},
#{latitude}, #{publisherNumber}, #{insurance}, 1, 1, #{adcode}, #{orderLevelAmount}, #{openid},
#{latitude}, #{publisherNumber}, #{insurance}, 1, 1, #{adcode}, #{orderLevelAmount}, #{openid},
#{serviceName},#{provinceCode},#{cityCode},#{districtCode});
#{serviceName},#{provinceCode},#{cityCode},#{districtCode},#{requireNum},#{repertory});
</insert>
<insert
id=
"addPublishServiceSon"
parameterType=
"com.mmc.csf.release.entity.requirements.ServiceRequirementsSonDO"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
INSERT INTO requirements_info(service_id, user_account_id, publish_name, publish_phone,
require_description, create_time,
update_time, task_start_time, task_end_time, task_address, longitude,
latitude, publisher_number, insurance, publish,
service_flow_id, adcode, order_level_amount, openid, service_name,province_code,city_code,district_code,father_require_id)
VALUES (#{serviceId}, #{userAccountId}, #{publishName}, #{publishPhone},
#{requireDescription}, NOW(),
NOW(), #{taskStartTime}, #{taskEndTime}, #{taskAddress}, #{longitude},
#{latitude}, #{publisherNumber}, #{insurance}, 1, 1, #{adcode}, #{orderLevelAmount}, #{openid},
#{serviceName},#{provinceCode},#{cityCode},#{districtCode},#{fatherRequireId});
</insert>
</insert>
<insert
id=
"addAmount"
parameterType=
"com.mmc.csf.release.entity.requirements.RequirementsAmountDO"
<insert
id=
"addAmount"
parameterType=
"com.mmc.csf.release.entity.requirements.RequirementsAmountDO"
...
@@ -600,7 +614,7 @@
...
@@ -600,7 +614,7 @@
<update
id=
"updateGrabTheOrder"
>
<update
id=
"updateGrabTheOrder"
>
UPDATE requirements_info
UPDATE requirements_info
set repertory=#{repertory},
set repertory=#{repertory},
service_flow_id =
2
,
service_flow_id =
10
,
update_time=NOW()
update_time=NOW()
where id = #{requirementsInfoId}
where id = #{requirementsInfoId}
</update>
</update>
...
@@ -1559,4 +1573,19 @@
...
@@ -1559,4 +1573,19 @@
INNER JOIN requirements_amount ra ON ri.id = ra.requirements_info_id
INNER JOIN requirements_amount ra ON ri.id = ra.requirements_info_id
WHERE ri.service_flow_id
<![CDATA[<>]]>
7
WHERE ri.service_flow_id
<![CDATA[<>]]>
7
</select>
</select>
<select
id=
"getRequirementsSonInfoId"
resultType=
"java.lang.Integer"
>
select id from requirements_info where father_require_id = #{fatherRequireId} and repertory = 1
limit 1
</select>
<select
id=
"selectBooleanByFatherIdAndUserId"
resultType=
"java.lang.Integer"
>
select count(ri.id) from requirements_service rs
inner join requirements_info ri on ri.id = rs.requirements_info_id
where ri.father_require_id =#{fatherRequireId}
and rs.pilot_certification_user_id = #{userId}
</select>
<update
id=
"updateRequirementsInfoRepertory"
>
update requirements_info set repertory = #{fatherRepertory}
where id = #{fatherRequireId}
</update>
</mapper>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论