Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
youjj
cloud-platform
Commits
3e0be9e0
Commit
3e0be9e0
authored
Dec 26, 2019
by
jiaorz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
发票接口
parent
708f3f51
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
346 additions
and
27 deletions
+346
-27
BaseOrder.java
...c/main/java/com/xxfc/platform/order/entity/BaseOrder.java
+12
-0
OrderInvoice.java
...ain/java/com/xxfc/platform/order/entity/OrderInvoice.java
+117
-0
BaseOrderBiz.java
...c/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
+14
-0
OrderInvoiceBiz.java
...ain/java/com/xxfc/platform/order/biz/OrderInvoiceBiz.java
+143
-0
OrderInvoiceMapper.java
...va/com/xxfc/platform/order/mapper/OrderInvoiceMapper.java
+7
-0
BaseOrderController.java
...ava/com/xxfc/platform/order/rest/BaseOrderController.java
+9
-4
OrderInvoiceController.java
.../com/xxfc/platform/order/rest/OrderInvoiceController.java
+38
-0
generatorConfig.xml
...der-server/src/main/resources/builder/generatorConfig.xml
+1
-1
BaseOrderMapper.xml
...rder-server/src/main/resources/mapper/BaseOrderMapper.xml
+0
-22
OrderInvoiceMapper.xml
...r-server/src/main/resources/mapper/OrderInvoiceMapper.xml
+5
-0
No files found.
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/BaseOrder.java
View file @
3e0be9e0
...
...
@@ -330,4 +330,16 @@ public class BaseOrder implements Serializable {
@ApiModelProperty
(
value
=
"上级公司员工id"
)
@Column
(
name
=
"parent_position_id"
)
private
Integer
parentPositionId
;
/**
* 是否开票
*/
@Column
(
name
=
"invoice_status"
)
private
Integer
invoiceStatus
;
/**
* 开票记录Id
*/
@Column
(
name
=
"invoice_id"
)
private
Integer
invoiceId
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderInvoice.java
0 → 100644
View file @
3e0be9e0
package
com
.
xxfc
.
platform
.
order
.
entity
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.math.BigDecimal
;
@Table
(
name
=
"order_e_invoice"
)
@Data
public
class
OrderInvoice
{
/**
* 主键
*/
@Id
private
Integer
id
;
/**
* 发票类型:1--租房车;2--房车游;3--会员
*/
private
Integer
type
;
/**
* 订单ids,逗号分隔
*/
@Column
(
name
=
"order_ids"
)
private
String
orderIds
;
/**
* 发票抬头类型:1--企业单位;2--个人/非企业单位
*/
@Column
(
name
=
"title_type"
)
private
Integer
titleType
;
/**
* 抬头名称
*/
@Column
(
name
=
"title_name"
)
private
String
titleName
;
/**
* 税号
*/
@Column
(
name
=
"tax_code"
)
private
String
taxCode
;
/**
* 发票内容-备注说明
*/
@Column
(
name
=
"content_remark"
)
private
String
contentRemark
;
/**
* 发票内容-地址和电话
*/
@Column
(
name
=
"content_contact"
)
private
String
contentContact
;
/**
* 发票内容-开户行和账号
*/
@Column
(
name
=
"content_account"
)
private
String
contentAccount
;
/**
* 发票方
*/
private
String
drawer
;
/**
* 金额
*/
private
BigDecimal
amount
;
/**
* 接收方式:1--邮件
*/
@Column
(
name
=
"receive_type"
)
private
Integer
receiveType
;
/**
* 接收方式内容
*/
@Column
(
name
=
"receive_content"
)
private
String
receiveContent
;
/**
* 创建时间
*/
@Column
(
name
=
"crt_time"
)
private
Long
crtTime
;
/**
* 更新时间
*/
@Column
(
name
=
"upd_time"
)
private
Long
updTime
;
/**
* 创建者id
*/
@Column
(
name
=
"crt_user"
)
private
Integer
crtUser
;
/**
* 更新者id
*/
@Column
(
name
=
"upd_user"
)
private
Integer
updUser
;
/**
* 更多内容
*/
private
String
extend
;
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
View file @
3e0be9e0
...
...
@@ -799,6 +799,20 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
sendQueue
(
orderMQDTO
,
sign
);
}
public
ObjectRestResponse
updateBaseOrder
(
BaseOrder
baseOrder
)
{
if
(
baseOrder
.
getId
()
==
null
)
{
return
ObjectRestResponse
.
paramIsEmpty
();
}
BaseOrder
oldValue
=
mapper
.
selectByPrimaryKey
(
baseOrder
.
getId
());
if
(
oldValue
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
ORDER_IS_NOT_EXIST
.
getCode
(),
ResCode
.
ORDER_IS_NOT_EXIST
.
getDesc
());
}
BeanUtil
.
copyProperties
(
baseOrder
,
oldValue
,
CopyOptions
.
create
().
setIgnoreNullValue
(
true
).
setIgnoreError
(
true
));
updateSelectiveByIdReT
(
oldValue
);
return
ObjectRestResponse
.
succ
();
}
@Override
public
void
updateSelectiveById
(
BaseOrder
entity
)
{
super
.
updateSelectiveById
(
entity
);
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderInvoiceBiz.java
0 → 100644
View file @
3e0be9e0
package
com
.
xxfc
.
platform
.
order
.
biz
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.OrderInvoice
;
import
com.xxfc.platform.order.mapper.OrderInvoiceMapper
;
import
com.xxfc.platform.vehicle.constant.ResCode.ResCode
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
tk.mybatis.mapper.entity.Example
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Set
;
/**
* 订单发票记录
*/
@Service
@Slf4j
public
class
OrderInvoiceBiz
extends
BaseBiz
<
OrderInvoiceMapper
,
OrderInvoice
>
{
@Autowired
BaseOrderBiz
baseOrderBiz
;
@Autowired
UserFeign
userFeign
;
@Autowired
HttpServletRequest
request
;
/**
* 添加发票记录
* @return
*/
public
ObjectRestResponse
add
(
OrderInvoice
orderInvoice
)
{
AppUserDTO
appUserDTO
=
userFeign
.
userDetailByToken
(
request
.
getHeader
(
"Authorization"
)).
getData
();
if
(
appUserDTO
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
RSTOKEN_EXPIRED_CODE
,
ResultCode
.
getMsg
(
ResultCode
.
RSTOKEN_EXPIRED_CODE
));
}
if
(
orderInvoice
==
null
||
StringUtils
.
isBlank
(
orderInvoice
.
getOrderIds
()))
{
return
ObjectRestResponse
.
paramIsEmpty
();
}
String
[]
orderIdArray
=
orderInvoice
.
getOrderIds
().
split
(
","
);
if
(
orderIdArray
.
length
>
0
)
{
for
(
int
a
=
0
;
a
<=
orderIdArray
.
length
;
a
++)
{
String
orderId
=
StringUtils
.
isBlank
(
orderIdArray
[
a
])?
"0"
:
orderIdArray
[
a
];
BaseOrder
baseOrder
=
baseOrderBiz
.
selectById
(
Integer
.
parseInt
(
orderId
));
if
(
baseOrder
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
ORDER_IS_NOT_EXIST
.
getCode
(),
ResCode
.
ORDER_IS_NOT_EXIST
.
getDesc
()
+
", 订单Id = "
+
orderId
);
}
//查询是否已开票
OrderInvoice
oldValue
=
selectByUserIdAndOrderId
(
appUserDTO
.
getUserid
(),
Integer
.
parseInt
(
orderId
)).
getData
();
if
(
oldValue
==
null
)
{
//不存在就添加
orderInvoice
.
setCrtUser
(
appUserDTO
.
getUserid
());
insertSelectiveRe
(
orderInvoice
);
log
.
info
(
"添加发票记录成功: {}"
,
orderInvoice
);
OrderInvoice
newValue
=
selectByUserIdAndOrderId
(
appUserDTO
.
getUserid
(),
Integer
.
parseInt
(
orderId
)).
getData
();
if
(
newValue
!=
null
)
{
baseOrder
.
setInvoiceStatus
(
1
);
baseOrder
.
setInvoiceId
(
newValue
.
getId
());
baseOrderBiz
.
updateBaseOrder
(
baseOrder
);
}
else
{
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
DB_OPERATION_FAIL_CODE
,
ResultCode
.
getMsg
(
ResultCode
.
DB_OPERATION_FAIL_CODE
));
}
}
else
{
//已开票
log
.
info
(
"该订单已经开票, {}"
,
orderId
);
}
}
}
return
ObjectRestResponse
.
succ
();
}
/**
* 根据orderIds字符串查询对应的发票记录
* @param orderIds
* @return
*/
public
ObjectRestResponse
<
List
<
OrderInvoice
>>
selectByIds
(
String
orderIds
)
{
AppUserDTO
appUserDTO
=
userFeign
.
userDetailByToken
(
request
.
getHeader
(
"Authorization"
)).
getData
();
if
(
appUserDTO
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
RSTOKEN_EXPIRED_CODE
,
ResultCode
.
getMsg
(
ResultCode
.
RSTOKEN_EXPIRED_CODE
));
}
if
(
StringUtils
.
isBlank
(
orderIds
))
{
return
ObjectRestResponse
.
paramIsEmpty
();
}
Set
<
OrderInvoice
>
set
=
new
HashSet
<>();
String
[]
orderIdArray
=
orderIds
.
split
(
","
);
if
(
orderIdArray
.
length
>
0
)
{
for
(
int
a
=
0
;
a
<=
orderIdArray
.
length
;
a
++)
{
Example
example
=
new
Example
(
OrderInvoice
.
class
);
example
.
createCriteria
().
andEqualTo
(
"crtUser"
,
appUserDTO
.
getUserid
()).
andLike
(
"orderIds"
,
"%"
+
orderIdArray
[
a
]
+
"%"
);
OrderInvoice
orderInvoice
=
mapper
.
selectOneByExample
(
example
);
set
.
add
(
orderInvoice
);
}
}
return
ObjectRestResponse
.
succ
(
set
);
}
/**
* 获取用户的发票记录列表
* @return
*/
public
ObjectRestResponse
<
List
<
OrderInvoice
>>
selectByToken
(
Integer
type
)
{
AppUserDTO
appUserDTO
=
userFeign
.
userDetailByToken
(
request
.
getHeader
(
"Authorization"
)).
getData
();
if
(
appUserDTO
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
RSTOKEN_EXPIRED_CODE
,
ResultCode
.
getMsg
(
ResultCode
.
RSTOKEN_EXPIRED_CODE
));
}
Example
example
=
new
Example
(
OrderInvoice
.
class
);
example
.
createCriteria
().
andEqualTo
(
"crtUser"
,
appUserDTO
.
getUserid
());
if
(
type
!=
null
)
{
example
.
createCriteria
().
andEqualTo
(
"type"
,
type
);
}
return
ObjectRestResponse
.
succ
(
mapper
.
selectByExample
(
example
));
}
/**
* 根据用户Id获取用户发票记录
* @param userId
* @return
*/
public
ObjectRestResponse
<
List
<
OrderInvoice
>>
selectByUserId
(
Integer
userId
,
Integer
type
)
{
Example
example
=
new
Example
(
OrderInvoice
.
class
);
example
.
createCriteria
().
andEqualTo
(
"crtUser"
,
userId
);
if
(
type
!=
null
)
{
example
.
createCriteria
().
andEqualTo
(
"type"
,
type
);
}
return
ObjectRestResponse
.
succ
(
mapper
.
selectByExample
(
example
));
}
public
ObjectRestResponse
<
OrderInvoice
>
selectByUserIdAndOrderId
(
Integer
userId
,
Integer
orderId
)
{
Example
example
=
new
Example
(
OrderInvoice
.
class
);
example
.
createCriteria
().
andEqualTo
(
"crtUser"
,
userId
).
andLike
(
"orderIds"
,
"%"
+
orderId
+
"%"
);
return
ObjectRestResponse
.
succ
(
mapper
.
selectOneByExample
(
example
));
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/OrderInvoiceMapper.java
0 → 100644
View file @
3e0be9e0
package
com
.
xxfc
.
platform
.
order
.
mapper
;
import
com.xxfc.platform.order.entity.OrderInvoice
;
import
tk.mybatis.mapper.common.Mapper
;
public
interface
OrderInvoiceMapper
extends
Mapper
<
OrderInvoice
>
{
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/BaseOrderController.java
View file @
3e0be9e0
...
...
@@ -19,11 +19,11 @@ import com.github.wxiaoqi.security.common.vo.PageDataVO;
import
com.xxfc.platform.order.biz.*
;
import
com.xxfc.platform.order.biz.inner.OrderCancelBiz
;
import
com.xxfc.platform.order.biz.inner.OrderMsgBiz
;
import
com.xxfc.platform.order.contant.enumerate.*
;
import
com.xxfc.platform.order.contant.enumerate.CrosstownTypeEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderStatusEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderTypeEnum
;
import
com.xxfc.platform.order.entity.*
;
import
com.xxfc.platform.order.mqhandler.RabbitProduct
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDeduction
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDetail
;
import
com.xxfc.platform.order.pojo.dto.OrderDTO
;
import
com.xxfc.platform.order.pojo.mq.OrderMQDTO
;
import
com.xxfc.platform.order.pojo.order.CancelOrderDTO
;
...
...
@@ -58,7 +58,6 @@ import java.util.List;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_FALSE
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_TRUE
;
import
static
com
.
xxfc
.
platform
.
universal
.
constant
.
DictionaryKey
.
APP_ORDER
;
...
...
@@ -482,4 +481,10 @@ public class BaseOrderController extends CommonBaseController implements UserRes
return
ObjectRestResponse
.
succ
();
//ObjectRestResponse.succ(baseOrderBiz.selectBaeOrderByOrderIds(orderIds));
}
@RequestMapping
(
value
=
"/updateOrder"
,
method
=
RequestMethod
.
POST
)
public
ObjectRestResponse
updateOrder
(
@RequestBody
BaseOrder
baseOrder
)
{
return
baseOrderBiz
.
updateBaseOrder
(
baseOrder
);
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/OrderInvoiceController.java
0 → 100644
View file @
3e0be9e0
package
com
.
xxfc
.
platform
.
order
.
rest
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.xxfc.platform.order.biz.OrderInvoiceBiz
;
import
com.xxfc.platform.order.entity.OrderInvoice
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* 发票记录
*/
@RestController
@RequestMapping
(
value
=
"/order/invoice"
)
public
class
OrderInvoiceController
extends
BaseController
<
OrderInvoiceBiz
,
OrderInvoice
>
{
@PostMapping
(
value
=
"/add"
)
public
ObjectRestResponse
add
(
@RequestBody
OrderInvoice
orderInvoice
)
{
return
baseBiz
.
add
(
orderInvoice
);
}
@GetMapping
(
value
=
"selectByOrderIds"
)
public
ObjectRestResponse
<
List
<
OrderInvoice
>>
selectByOrderIds
(
String
orderIds
)
{
return
baseBiz
.
selectByIds
(
orderIds
);
}
@GetMapping
(
value
=
"selectByType"
)
public
ObjectRestResponse
<
List
<
OrderInvoice
>>
selectByToken
(
Integer
type
)
{
return
baseBiz
.
selectByToken
(
type
);
}
@GetMapping
(
value
=
"getByUser"
)
public
ObjectRestResponse
<
List
<
OrderInvoice
>>
selectByUserId
(
Integer
userId
,
Integer
type
)
{
return
baseBiz
.
selectByUserId
(
userId
,
type
);
}
}
xx-order/xx-order-server/src/main/resources/builder/generatorConfig.xml
View file @
3e0be9e0
...
...
@@ -37,6 +37,6 @@
<!-- </table>-->
<!-- <table tableName="branch_company_stock_info" domainObjectName="BranchCompanyStockInfo"></table>-->
<!-- <table tableName="branch_company_stock_apply_info" domainObjectName="BranchCompanyStockApplyInfo"></table>-->
<table
tableName=
"
deposit_refund_record"
domainObjectName=
"DepositRefundRecord
"
></table>
<table
tableName=
"
order_e_invoice"
domainObjectName=
"OrderInvoice
"
></table>
</context>
</generatorConfiguration>
\ No newline at end of file
xx-order/xx-order-server/src/main/resources/mapper/BaseOrderMapper.xml
View file @
3e0be9e0
...
...
@@ -3,28 +3,6 @@
<mapper
namespace=
"com.xxfc.platform.order.mapper.BaseOrderMapper"
>
<!-- 可根据自己的需求,是否要使用 -->
<resultMap
type=
"com.xxfc.platform.order.entity.BaseOrder"
id=
"baseOrderMap"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"no"
column=
"no"
/>
<result
property=
"type"
column=
"type"
/>
<result
property=
"detailId"
column=
"detail_id"
/>
<result
property=
"status"
column=
"status"
/>
<result
property=
"productAmount"
column=
"product_amount"
/>
<result
property=
"orderAmount"
column=
"order_amount"
/>
<result
property=
"detailJson"
column=
"detail_json"
/>
<result
property=
"thirdType"
column=
"third_type"
/>
<result
property=
"outTradeNo"
column=
"out_trade_no"
/>
<result
property=
"crtTime"
column=
"crt_time"
/>
<result
property=
"crtUser"
column=
"crt_user"
/>
<result
property=
"crtName"
column=
"crt_name"
/>
<result
property=
"crtHost"
column=
"crt_host"
/>
<result
property=
"updTime"
column=
"upd_time"
/>
<result
property=
"updUser"
column=
"upd_user"
/>
<result
property=
"updName"
column=
"upd_name"
/>
<result
property=
"updHost"
column=
"upd_host"
/>
</resultMap>
<resultMap
type=
"com.xxfc.platform.order.pojo.order.OrderPageVO"
id=
"orderPageMap"
>
<result
javaType=
"Integer"
column=
"type"
property=
"type"
></result>
<discriminator
javaType=
"Integer"
column=
"type"
>
...
...
xx-order/xx-order-server/src/main/resources/mapper/OrderInvoiceMapper.xml
0 → 100644
View file @
3e0be9e0
<?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=
"com.xxfc.platform.order.mapper.OrderInvoiceMapper"
>
</mapper>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment