Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
peizhen-java
Overview
Overview
Details
Activity
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PeiZhen-Java
peizhen-java
Commits
926c3aaf
Commit
926c3aaf
authored
Sep 13, 2023
by
sdif
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
79742b4e
4599979f
Hide whitespace changes
Inline
Side-by-side
Showing
74 changed files
with
2089 additions
and
102 deletions
+2089
-102
pz-accompany/src/main/java/com/pz/accompany/EmployeesIncomeController.java
+52
-0
pz-admin/src/main/java/com/pz/web/controller/system/StoreGoodsCategoryController.java
+117
-0
pz-admin/src/main/java/com/pz/web/controller/system/StoreGoodsTagController.java
+113
-0
pz-admin/src/main/java/com/pz/web/controller/system/StoreIncomeController.java
+13
-1
pz-admin/src/main/java/com/pz/web/controller/system/StoreOrderController.java
+8
-0
pz-admin/src/main/resources/apiclient_cert.p12
+0
-0
pz-admin/src/main/resources/application.yml
+8
-1
pz-common/pom.xml
+12
-2
pz-common/src/main/java/com/pz/common/config/WechatAppletProperties.java
+1
-3
pz-common/src/main/java/com/pz/common/config/WechatConfiguration.java
+4
-4
pz-common/src/main/java/com/pz/common/config/WechatPayProperties.java
+35
-0
pz-common/src/main/java/com/pz/common/config/WxPayConfiguration.java
+41
-0
pz-common/src/main/java/com/pz/common/core/domain/entity/SysUser.java
+5
-0
pz-common/src/main/java/com/pz/common/response/WxAuthResponse.java
+17
-0
pz-merchant/src/main/java/com/pz/merchant/controller/applet/CompanyController.java
+55
-7
pz-merchant/src/main/java/com/pz/merchant/controller/applet/EmployeesController.java
+3
-2
pz-merchant/src/main/java/com/pz/merchant/controller/applet/WechatLoginController.java
+29
-0
pz-system/src/main/java/com/pz/merchant/domain/bo/CompanyBalanceBo.java
+29
-0
pz-system/src/main/java/com/pz/merchant/domain/bo/ModifyCompanyInfoBo.java
+23
-0
pz-system/src/main/java/com/pz/merchant/domain/vo/CompanyAppVo.java
+45
-0
pz-system/src/main/java/com/pz/merchant/domain/vo/CompanyBalanceVo.java
+43
-0
pz-system/src/main/java/com/pz/merchant/domain/vo/CompanyIncomeVo.java
+37
-0
pz-system/src/main/java/com/pz/merchant/domain/vo/FinanceOrderInfoVo.java
+22
-0
pz-system/src/main/java/com/pz/merchant/domain/vo/FinanceStatisticVo.java
+33
-0
pz-system/src/main/java/com/pz/merchant/mapper/CompanyMapper.java
+30
-0
pz-system/src/main/java/com/pz/merchant/mapper/EmployeesMapper.java
+1
-2
pz-system/src/main/java/com/pz/merchant/service/ICompanyService.java
+39
-0
pz-system/src/main/java/com/pz/merchant/service/IEmployeesService.java
+7
-0
pz-system/src/main/java/com/pz/merchant/service/impl/CompanyServiceImpl.java
+116
-10
pz-system/src/main/java/com/pz/merchant/service/impl/EmployeesServiceImpl.java
+14
-7
pz-system/src/main/java/com/pz/system/domain/StoreGoodsCategory.java
+49
-0
pz-system/src/main/java/com/pz/system/domain/StoreGoodsTag.java
+45
-0
pz-system/src/main/java/com/pz/system/domain/StoreInfo.java
+1
-1
pz-system/src/main/java/com/pz/system/domain/bo/DbghOrderBo.java
+1
-0
pz-system/src/main/java/com/pz/system/domain/bo/DbmyOrderBo.java
+1
-1
pz-system/src/main/java/com/pz/system/domain/bo/DbwzOrderBo.java
+1
-1
pz-system/src/main/java/com/pz/system/domain/bo/StoreGoodsBo.java
+3
-2
pz-system/src/main/java/com/pz/system/domain/bo/StoreGoodsCategoryBo.java
+46
-0
pz-system/src/main/java/com/pz/system/domain/bo/StoreGoodsTagBo.java
+41
-0
pz-system/src/main/java/com/pz/system/domain/bo/StoreIncomeBo.java
+0
-2
pz-system/src/main/java/com/pz/system/domain/bo/StoreInfoBo.java
+1
-1
pz-system/src/main/java/com/pz/system/domain/bo/StoreOrderBo.java
+2
-0
pz-system/src/main/java/com/pz/system/domain/bo/ZqghOrderBo.java
+1
-1
pz-system/src/main/java/com/pz/system/domain/bo/ZyphOrderBo.java
+1
-1
pz-system/src/main/java/com/pz/system/domain/vo/PaymentRecordVo.java
+6
-1
pz-system/src/main/java/com/pz/system/domain/vo/StoreAdminOrderVo.java
+28
-0
pz-system/src/main/java/com/pz/system/domain/vo/StoreGoodsCategoryVo.java
+53
-0
pz-system/src/main/java/com/pz/system/domain/vo/StoreGoodsTagVo.java
+47
-0
pz-system/src/main/java/com/pz/system/domain/vo/StoreGoodsVo.java
+9
-1
pz-system/src/main/java/com/pz/system/domain/vo/StoreInfoVo.java
+1
-2
pz-system/src/main/java/com/pz/system/mapper/IncomeMapper.java
+17
-0
pz-system/src/main/java/com/pz/system/mapper/StoreGoodsCategoryMapper.java
+15
-0
pz-system/src/main/java/com/pz/system/mapper/StoreGoodsTagMapper.java
+15
-0
pz-system/src/main/java/com/pz/system/service/IIncomeService.java
+6
-0
pz-system/src/main/java/com/pz/system/service/IPayService.java
+97
-0
pz-system/src/main/java/com/pz/system/service/IStoreGoodsCategoryService.java
+49
-0
pz-system/src/main/java/com/pz/system/service/IStoreGoodsTagService.java
+49
-0
pz-system/src/main/java/com/pz/system/service/SysLoginService.java
+10
-5
pz-system/src/main/java/com/pz/system/service/impl/IncomeServiceImpl.java
+6
-0
pz-system/src/main/java/com/pz/system/service/impl/PayServiceImpl.java
+142
-0
pz-system/src/main/java/com/pz/system/service/impl/PaymentRecordServiceImpl.java
+12
-4
pz-system/src/main/java/com/pz/system/service/impl/StoreGoodsCategoryServiceImpl.java
+110
-0
pz-system/src/main/java/com/pz/system/service/impl/StoreGoodsServiceImpl.java
+48
-10
pz-system/src/main/java/com/pz/system/service/impl/StoreGoodsTagServiceImpl.java
+110
-0
pz-system/src/main/java/com/pz/system/service/impl/StoreInfoServiceImpl.java
+1
-1
pz-system/src/main/java/com/pz/system/service/impl/StoreOrderServiceImpl.java
+8
-0
pz-system/src/main/resources/mapper/merchant/CompanyMapper.xml
+39
-0
pz-system/src/main/resources/mapper/system/DbghOrderMapper.xml
+3
-3
pz-system/src/main/resources/mapper/system/DbmyOrderMapper.xml
+3
-0
pz-system/src/main/resources/mapper/system/IncomeMapper.xml
+21
-0
pz-system/src/main/resources/mapper/system/StoreIncomeMapper.xml
+3
-0
pz-system/src/main/resources/mapper/system/StoreOrderMapper.xml
+30
-20
pz-system/src/main/resources/mapper/system/ZqghOrderMapper.xml
+3
-3
pz-system/src/main/resources/mapper/system/ZyphOrderMapper.xml
+3
-3
No files found.
pz-accompany/src/main/java/com/pz/accompany/EmployeesIncomeController.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
accompany
;
import
com.pz.common.core.controller.BaseController
;
import
com.pz.common.core.domain.PageQuery
;
import
com.pz.common.core.domain.R
;
import
com.pz.common.core.page.TableDataInfo
;
import
com.pz.merchant.domain.vo.EmployeesVo
;
import
com.pz.merchant.service.IEmployeesService
;
import
com.pz.system.domain.bo.IncomeBo
;
import
com.pz.system.domain.vo.IncomeVo
;
import
com.pz.system.service.IIncomeService
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 陪诊员-财务收益
*
* @author ruoyi
* @date 2023-09-07
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping
(
"/accompany/employees"
)
public
class
EmployeesIncomeController
extends
BaseController
{
private
final
IEmployeesService
iEmployeesService
;
private
final
IIncomeService
iIncomeService
;
/**
* 获取总收益与余额
*/
@GetMapping
(
"/getIncome"
)
public
R
<
EmployeesVo
>
getIncome
()
{
return
R
.
ok
(
iEmployeesService
.
queryByUserId
(
getUserId
()));
}
/**
* 查询陪诊员提现记录
*/
@GetMapping
(
"/list"
)
public
TableDataInfo
<
IncomeVo
>
list
(
IncomeBo
bo
,
PageQuery
pageQuery
)
{
EmployeesVo
employeesVo
=
iEmployeesService
.
queryByUserId
(
getUserId
());
bo
.
setEcId
(
employeesVo
.
getId
());
return
iIncomeService
.
queryByEidList
(
bo
,
pageQuery
);
}
}
pz-admin/src/main/java/com/pz/web/controller/system/StoreGoodsCategoryController.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
web
.
controller
.
system
;
import
java.util.List
;
import
java.util.Arrays
;
import
java.util.Optional
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.pz.system.domain.StoreInfo
;
import
com.pz.system.mapper.StoreInfoMapper
;
import
com.pz.system.service.IStoreInfoService
;
import
lombok.RequiredArgsConstructor
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.constraints.*
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.validation.annotation.Validated
;
import
com.pz.common.annotation.RepeatSubmit
;
import
com.pz.common.annotation.Log
;
import
com.pz.common.core.controller.BaseController
;
import
com.pz.common.core.domain.PageQuery
;
import
com.pz.common.core.domain.R
;
import
com.pz.common.core.validate.AddGroup
;
import
com.pz.common.core.validate.EditGroup
;
import
com.pz.common.enums.BusinessType
;
import
com.pz.common.utils.poi.ExcelUtil
;
import
com.pz.system.domain.vo.StoreGoodsCategoryVo
;
import
com.pz.system.domain.bo.StoreGoodsCategoryBo
;
import
com.pz.system.service.IStoreGoodsCategoryService
;
import
com.pz.common.core.page.TableDataInfo
;
/**
* 商品分类
*
* @author ruoyi
* @date 2023-09-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping
(
"/system/goodsCategory"
)
public
class
StoreGoodsCategoryController
extends
BaseController
{
private
final
IStoreGoodsCategoryService
iStoreGoodsCategoryService
;
private
final
StoreInfoMapper
storeInfoMapper
;
/**
* 查询商品分类列表
*/
@SaCheckPermission
(
"system:goodsCategory:list"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
<
StoreGoodsCategoryVo
>
list
(
StoreGoodsCategoryBo
bo
,
PageQuery
pageQuery
)
{
Optional
.
ofNullable
(
storeInfoMapper
.
selectOne
(
Wrappers
.<
StoreInfo
>
lambdaQuery
().
eq
(
StoreInfo:
:
getUid
,
getUserId
())))
.
ifPresent
(
storeInfo
->
bo
.
setStoreId
(
storeInfo
.
getId
()));
return
iStoreGoodsCategoryService
.
queryPageList
(
bo
,
pageQuery
);
}
/**
* 导出商品分类列表
*/
@SaCheckPermission
(
"system:goodsCategory:export"
)
@Log
(
title
=
"商品分类"
,
businessType
=
BusinessType
.
EXPORT
)
@PostMapping
(
"/export"
)
public
void
export
(
StoreGoodsCategoryBo
bo
,
HttpServletResponse
response
)
{
List
<
StoreGoodsCategoryVo
>
list
=
iStoreGoodsCategoryService
.
queryList
(
bo
);
ExcelUtil
.
exportExcel
(
list
,
"商品分类"
,
StoreGoodsCategoryVo
.
class
,
response
);
}
/**
* 获取商品分类详细信息
*
* @param id 主键
*/
@SaCheckPermission
(
"system:goodsCategory:query"
)
@GetMapping
(
"/{id}"
)
public
R
<
StoreGoodsCategoryVo
>
getInfo
(
@NotNull
(
message
=
"主键不能为空"
)
@PathVariable
Integer
id
)
{
return
R
.
ok
(
iStoreGoodsCategoryService
.
queryById
(
id
));
}
/**
* 新增商品分类
*/
@SaCheckPermission
(
"system:goodsCategory:add"
)
@Log
(
title
=
"商品分类"
,
businessType
=
BusinessType
.
INSERT
)
@RepeatSubmit
()
@PostMapping
()
public
R
<
Void
>
add
(
@Validated
(
AddGroup
.
class
)
@RequestBody
StoreGoodsCategoryBo
bo
)
{
return
toAjax
(
iStoreGoodsCategoryService
.
insertByBo
(
bo
));
}
/**
* 修改商品分类
*/
@SaCheckPermission
(
"system:goodsCategory:edit"
)
@Log
(
title
=
"商品分类"
,
businessType
=
BusinessType
.
UPDATE
)
@RepeatSubmit
()
@PutMapping
()
public
R
<
Void
>
edit
(
@Validated
(
EditGroup
.
class
)
@RequestBody
StoreGoodsCategoryBo
bo
)
{
return
toAjax
(
iStoreGoodsCategoryService
.
updateByBo
(
bo
));
}
/**
* 删除商品分类
*
* @param ids 主键串
*/
@SaCheckPermission
(
"system:goodsCategory:remove"
)
@Log
(
title
=
"商品分类"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{ids}"
)
public
R
<
Void
>
remove
(
@NotEmpty
(
message
=
"主键不能为空"
)
@PathVariable
Integer
[]
ids
)
{
return
toAjax
(
iStoreGoodsCategoryService
.
deleteWithValidByIds
(
Arrays
.
asList
(
ids
),
true
));
}
}
pz-admin/src/main/java/com/pz/web/controller/system/StoreGoodsTagController.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
web
.
controller
.
system
;
import
java.util.List
;
import
java.util.Arrays
;
import
java.util.Optional
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.pz.system.domain.StoreInfo
;
import
com.pz.system.mapper.StoreInfoMapper
;
import
lombok.RequiredArgsConstructor
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.constraints.*
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.validation.annotation.Validated
;
import
com.pz.common.annotation.RepeatSubmit
;
import
com.pz.common.annotation.Log
;
import
com.pz.common.core.controller.BaseController
;
import
com.pz.common.core.domain.PageQuery
;
import
com.pz.common.core.domain.R
;
import
com.pz.common.core.validate.AddGroup
;
import
com.pz.common.core.validate.EditGroup
;
import
com.pz.common.enums.BusinessType
;
import
com.pz.common.utils.poi.ExcelUtil
;
import
com.pz.system.domain.vo.StoreGoodsTagVo
;
import
com.pz.system.domain.bo.StoreGoodsTagBo
;
import
com.pz.system.service.IStoreGoodsTagService
;
import
com.pz.common.core.page.TableDataInfo
;
/**
* 商品标签
*
* @author ruoyi
* @date 2023-09-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping
(
"/system/goodsTag"
)
public
class
StoreGoodsTagController
extends
BaseController
{
private
final
IStoreGoodsTagService
iStoreGoodsTagService
;
private
final
StoreInfoMapper
storeInfoMapper
;
/**
* 查询商品标签列表
*/
@SaCheckPermission
(
"system:goodsTag:list"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
<
StoreGoodsTagVo
>
list
(
StoreGoodsTagBo
bo
,
PageQuery
pageQuery
)
{
Optional
.
ofNullable
(
storeInfoMapper
.
selectOne
(
Wrappers
.<
StoreInfo
>
lambdaQuery
().
eq
(
StoreInfo:
:
getUid
,
getUserId
())))
.
ifPresent
(
storeInfo
->
bo
.
setStoreId
(
storeInfo
.
getId
()));
return
iStoreGoodsTagService
.
queryPageList
(
bo
,
pageQuery
);
}
/**
* 导出商品标签列表
*/
@SaCheckPermission
(
"system:goodsTag:export"
)
@Log
(
title
=
"商品标签"
,
businessType
=
BusinessType
.
EXPORT
)
@PostMapping
(
"/export"
)
public
void
export
(
StoreGoodsTagBo
bo
,
HttpServletResponse
response
)
{
List
<
StoreGoodsTagVo
>
list
=
iStoreGoodsTagService
.
queryList
(
bo
);
ExcelUtil
.
exportExcel
(
list
,
"商品标签"
,
StoreGoodsTagVo
.
class
,
response
);
}
/**
* 获取商品标签详细信息
*
* @param id 主键
*/
@SaCheckPermission
(
"system:goodsTag:query"
)
@GetMapping
(
"/{id}"
)
public
R
<
StoreGoodsTagVo
>
getInfo
(
@NotNull
(
message
=
"主键不能为空"
)
@PathVariable
Integer
id
)
{
return
R
.
ok
(
iStoreGoodsTagService
.
queryById
(
id
));
}
/**
* 新增商品标签
*/
@SaCheckPermission
(
"system:goodsTag:add"
)
@Log
(
title
=
"商品标签"
,
businessType
=
BusinessType
.
INSERT
)
@RepeatSubmit
()
@PostMapping
()
public
R
<
Void
>
add
(
@Validated
(
AddGroup
.
class
)
@RequestBody
StoreGoodsTagBo
bo
)
{
return
toAjax
(
iStoreGoodsTagService
.
insertByBo
(
bo
));
}
/**
* 修改商品标签
*/
@SaCheckPermission
(
"system:goodsTag:edit"
)
@Log
(
title
=
"商品标签"
,
businessType
=
BusinessType
.
UPDATE
)
@RepeatSubmit
()
@PutMapping
()
public
R
<
Void
>
edit
(
@Validated
(
EditGroup
.
class
)
@RequestBody
StoreGoodsTagBo
bo
)
{
return
toAjax
(
iStoreGoodsTagService
.
updateByBo
(
bo
));
}
/**
* 删除商品标签
*
* @param ids 主键串
*/
@SaCheckPermission
(
"system:goodsTag:remove"
)
@Log
(
title
=
"商品标签"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{ids}"
)
public
R
<
Void
>
remove
(
@NotEmpty
(
message
=
"主键不能为空"
)
@PathVariable
Integer
[]
ids
)
{
return
toAjax
(
iStoreGoodsTagService
.
deleteWithValidByIds
(
Arrays
.
asList
(
ids
),
true
));
}
}
pz-admin/src/main/java/com/pz/web/controller/system/StoreIncomeController.java
View file @
926c3aaf
...
...
@@ -2,10 +2,16 @@ package com.pz.web.controller.system;
import
java.util.List
;
import
java.util.Arrays
;
import
java.util.Optional
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.pz.system.domain.StoreInfo
;
import
com.pz.system.mapper.StoreInfoMapper
;
import
lombok.RequiredArgsConstructor
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.constraints.*
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.validation.annotation.Validated
;
...
...
@@ -37,12 +43,16 @@ public class StoreIncomeController extends BaseController {
private
final
IStoreIncomeService
iStoreIncomeService
;
private
final
StoreInfoMapper
storeInfoMapper
;
/**
* 查询商城提现审批列表
*/
@SaCheckPermission
(
"system:storeIncome:list"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
<
StoreIncomeVo
>
list
(
StoreIncomeBo
bo
,
PageQuery
pageQuery
)
{
Optional
.
ofNullable
(
storeInfoMapper
.
selectOne
(
Wrappers
.<
StoreInfo
>
lambdaQuery
().
eq
(
StoreInfo:
:
getUid
,
getUserId
())))
.
ifPresent
(
storeInfo
->
bo
.
setStoreId
(
storeInfo
.
getId
()));
return
iStoreIncomeService
.
queryPageList
(
bo
,
pageQuery
);
}
...
...
@@ -65,7 +75,7 @@ public class StoreIncomeController extends BaseController {
@SaCheckPermission
(
"system:storeIncome:query"
)
@GetMapping
(
"/{id}"
)
public
R
<
StoreIncomeVo
>
getInfo
(
@NotNull
(
message
=
"主键不能为空"
)
@PathVariable
Integer
id
)
{
@PathVariable
Integer
id
)
{
return
R
.
ok
(
iStoreIncomeService
.
queryById
(
id
));
}
...
...
@@ -77,6 +87,8 @@ public class StoreIncomeController extends BaseController {
@RepeatSubmit
()
@PostMapping
()
public
R
<
Void
>
add
(
@Validated
(
AddGroup
.
class
)
@RequestBody
StoreIncomeBo
bo
)
{
Optional
.
ofNullable
(
storeInfoMapper
.
selectOne
(
Wrappers
.<
StoreInfo
>
lambdaQuery
().
eq
(
StoreInfo:
:
getUid
,
getUserId
())))
.
ifPresent
(
storeInfo
->
bo
.
setStoreId
(
storeInfo
.
getId
()));
return
toAjax
(
iStoreIncomeService
.
insertByBo
(
bo
));
}
...
...
pz-admin/src/main/java/com/pz/web/controller/system/StoreOrderController.java
View file @
926c3aaf
...
...
@@ -2,8 +2,12 @@ package com.pz.web.controller.system;
import
java.util.List
;
import
java.util.Arrays
;
import
java.util.Optional
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.pz.system.domain.StoreInfo
;
import
com.pz.system.domain.vo.StoreAdminOrderVo
;
import
com.pz.system.mapper.StoreInfoMapper
;
import
lombok.RequiredArgsConstructor
;
import
javax.servlet.http.HttpServletResponse
;
...
...
@@ -40,12 +44,16 @@ public class StoreOrderController extends BaseController {
private
final
IStoreOrderService
iStoreOrderService
;
private
final
StoreInfoMapper
storeInfoMapper
;
/**
* 查询商城订单列表
*/
@SaCheckPermission
(
"system:storeOrder:list"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
<
StoreAdminOrderVo
>
list
(
StoreOrderBo
bo
,
PageQuery
pageQuery
)
{
Optional
.
ofNullable
(
storeInfoMapper
.
selectOne
(
Wrappers
.<
StoreInfo
>
lambdaQuery
().
eq
(
StoreInfo:
:
getUid
,
getUserId
())))
.
ifPresent
(
storeInfo
->
bo
.
setStoreId
(
storeInfo
.
getId
()));
return
iStoreOrderService
.
queryPageList
(
bo
,
pageQuery
);
}
...
...
pz-admin/src/main/resources/apiclient_cert.p12
0 → 100644
View file @
926c3aaf
File added
pz-admin/src/main/resources/application.yml
View file @
926c3aaf
...
...
@@ -246,7 +246,7 @@ xss:
# 过滤开关
enabled
:
true
# 排除链接(多个用逗号分隔)
excludes
:
/system/notice,/system/hospital
excludes
:
/system/notice,/system/hospital
,/system/goods
# 匹配链接
urlPatterns
:
/system/*,/monitor/*,/tool/*
...
...
@@ -286,9 +286,16 @@ wechat:
token
:
#微信小程序消息服务器配置的token
aesKey
:
#微信小程序消息服务器配置的EncodingAESKey
msgDataFormat
:
JSON
pay
:
appId
:
wx6cc2fd1bca9472ae
#微信公众号或者小程序等的appid
mchId
:
1640662528
#微信支付商户号
mchKey
:
FogyUzGHMnsoUU3exYyDO8DEKEtNjsSx
#微信支付商户密钥
keyPath
:
classpath:/apiclient_cert.p12
# p12证书的位置,可以指定绝对路径,也可以指定类路径(以classpath:开头)
---
# 文件上传设置
file
:
#upload-path: /www/wwwroot/pz/upload
upload-path
:
D:/www/wwwroot/pz/upload
#注意:响应路径必须加上file后缀
response-path
:
https://www.pz.com/file
pz-common/pom.xml
View file @
926c3aaf
...
...
@@ -52,6 +52,12 @@
<artifactId>
commons-lang3
</artifactId>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
fastjson
</artifactId>
<version>
2.0.39
</version>
</dependency>
<!-- JSON工具类 -->
<dependency>
<groupId>
com.fasterxml.jackson.core
</groupId>
...
...
@@ -171,8 +177,12 @@
<artifactId>
weixin-java-miniapp
</artifactId>
<version>
4.5.5.B
</version>
</dependency>
<!--微信支付-->
<dependency>
<groupId>
com.github.binarywang
</groupId>
<artifactId>
weixin-java-pay
</artifactId>
<version>
4.5.0
</version>
</dependency>
</dependencies>
</project>
pz-common/src/main/java/com/pz/common/config/WechatProperties.java
→
pz-common/src/main/java/com/pz/common/config/Wechat
Applet
Properties.java
View file @
926c3aaf
...
...
@@ -3,8 +3,6 @@ package com.pz.common.config;
import
lombok.Data
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
java.util.List
;
/**
* 微信小程序配置属性
*
...
...
@@ -12,7 +10,7 @@ import java.util.List;
*/
@Data
@ConfigurationProperties
(
prefix
=
"wechat.applet"
)
public
class
WechatProperties
{
public
class
Wechat
Applet
Properties
{
/**
* 设置微信小程序的appid
...
...
pz-common/src/main/java/com/pz/common/config/WechatConfiguration.java
View file @
926c3aaf
...
...
@@ -27,14 +27,14 @@ import java.io.File;
*/
@Slf4j
@Configuration
@EnableConfigurationProperties
(
WechatProperties
.
class
)
@EnableConfigurationProperties
(
{
WechatAppletProperties
.
class
,
WechatPayProperties
.
class
}
)
public
class
WechatConfiguration
{
private
final
WechatProperties
properties
;
private
final
Wechat
Applet
Properties
properties
;
private
static
WxMaMessageRouter
router
;
private
static
WxMaService
maServices
;
@Autowired
public
WechatConfiguration
(
WechatProperties
properties
)
{
public
WechatConfiguration
(
Wechat
Applet
Properties
properties
)
{
this
.
properties
=
properties
;
}
...
...
@@ -54,7 +54,7 @@ public class WechatConfiguration {
@PostConstruct
public
void
init
()
{
WechatProperties
properties
=
this
.
properties
;
Wechat
Applet
Properties
properties
=
this
.
properties
;
if
(
properties
==
null
)
{
throw
new
WxRuntimeException
(
"未检测到合法微信配置属性"
);
}
...
...
pz-common/src/main/java/com/pz/common/config/WechatPayProperties.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
common
.
config
;
import
lombok.Data
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
/**
* 微信小程序配置属性
*
* @author Wangmin
*/
@Data
@ConfigurationProperties
(
prefix
=
"wechat.pay"
)
public
class
WechatPayProperties
{
/**
* 设置微信公众号或者小程序等的appid
*/
private
String
appId
;
/**
* 微信支付商户号
*/
private
String
mchId
;
/**
* 微信支付商户密钥
*/
private
String
mchKey
;
/**
* P12 证书位置
*/
private
String
keyPath
;
}
pz-common/src/main/java/com/pz/common/config/WxPayConfiguration.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
common
.
config
;
import
com.github.binarywang.wxpay.config.WxPayConfig
;
import
com.github.binarywang.wxpay.service.WxPayService
;
import
com.github.binarywang.wxpay.service.impl.WxPayServiceImpl
;
import
lombok.AllArgsConstructor
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnClass
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
/**
* @author Binary Wang
*/
@Configuration
@ConditionalOnClass
(
WxPayService
.
class
)
@EnableConfigurationProperties
(
WechatPayProperties
.
class
)
@AllArgsConstructor
public
class
WxPayConfiguration
{
private
WechatPayProperties
properties
;
@Bean
@ConditionalOnMissingBean
public
WxPayService
wxService
()
{
WxPayConfig
payConfig
=
new
WxPayConfig
();
payConfig
.
setAppId
(
StringUtils
.
trimToNull
(
this
.
properties
.
getAppId
()));
payConfig
.
setMchId
(
StringUtils
.
trimToNull
(
this
.
properties
.
getMchId
()));
payConfig
.
setMchKey
(
StringUtils
.
trimToNull
(
this
.
properties
.
getMchKey
()));
payConfig
.
setKeyPath
(
StringUtils
.
trimToNull
(
this
.
properties
.
getKeyPath
()));
// 可以指定是否使用沙箱环境
payConfig
.
setUseSandboxEnv
(
false
);
WxPayService
wxPayService
=
new
WxPayServiceImpl
();
wxPayService
.
setConfig
(
payConfig
);
return
wxPayService
;
}
}
pz-common/src/main/java/com/pz/common/core/domain/entity/SysUser.java
View file @
926c3aaf
...
...
@@ -42,6 +42,11 @@ public class SysUser extends BaseEntity {
private
String
openId
;
/**
* 微信公众号openid
*/
private
String
wxOpenid
;
/**
* 部门ID
*/
private
Long
deptId
;
...
...
pz-common/src/main/java/com/pz/common/response/WxAuthResponse.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
common
.
response
;
import
lombok.Data
;
@Data
public
class
WxAuthResponse
{
private
String
access_token
;
private
String
openid
;
private
String
expires_in
;
private
String
refresh_token
;
private
String
scope
;
}
pz-merchant/src/main/java/com/pz/merchant/controller/applet/CompanyController.java
View file @
926c3aaf
package
com
.
pz
.
merchant
.
controller
.
applet
;
import
cn.dev33.satoken.annotation.SaIgnore
;
import
com.dtflys.forest.annotation.Get
;
import
com.pz.common.core.controller.BaseController
;
import
com.pz.common.core.domain.PageQuery
;
import
com.pz.common.core.domain.R
;
import
com.pz.common.core.page.TableDataInfo
;
import
com.pz.common.core.validate.EditGroup
;
import
com.pz.merchant.domain.bo.EmployeesListBo
;
import
com.pz.merchant.domain.bo.SetEmployeeWorkingHourBo
;
import
com.pz.merchant.domain.vo.EmployeesListVo
;
import
com.pz.merchant.domain.bo.CompanyBalanceBo
;
import
com.pz.merchant.domain.bo.ModifyCompanyInfoBo
;
import
com.pz.merchant.domain.vo.CompanyAppVo
;
import
com.pz.merchant.domain.vo.CompanyBalanceVo
;
import
com.pz.merchant.domain.vo.FinanceStatisticVo
;
import
com.pz.merchant.service.ICompanyService
;
import
com.pz.merchant.service.IEmployeesService
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotNull
;
/**
* 商户[小程序]
*
...
...
@@ -32,6 +33,53 @@ public class CompanyController extends BaseController {
private
final
ICompanyService
companyService
;
/**
* 修改商户名称/头像
*
* @param bo 商户参数
* @return 操作结果
*/
@PutMapping
(
"/modify"
)
public
R
<
Boolean
>
modifyCompanySimpleData
(
@Validated
(
EditGroup
.
class
)
@RequestBody
ModifyCompanyInfoBo
bo
)
{
return
R
.
ok
(
companyService
.
modifyCompanySimpleInfo
(
bo
));
}
/**
* 查询商户信息
*
* @param companyId 商户ID
* @return 商户信息
*/
@GetMapping
(
"/info"
)
public
R
<
CompanyAppVo
>
getCompanyInfo
(
@NotNull
(
message
=
"商户ID不能为空"
)
Integer
companyId
)
{
return
R
.
ok
(
companyService
.
queryCompanyDataForApp
(
companyId
));
}
/**
* 查询商户财务统计
*
* @param companyId 商户ID
* @param page 分页
* @return 商户财务统计及成交明细
*/
@GetMapping
(
"/finance"
)
public
R
<
FinanceStatisticVo
>
getFinanceStatistic
(
@NotNull
(
message
=
"商户ID不能为空"
)
Integer
companyId
,
PageQuery
page
)
{
return
R
.
ok
(
companyService
.
queryFinanceStatistic
(
companyId
,
page
));
}
/**
* 查询商户账户余额
*
* @param bo 查询参数
* @param page 分页
* @return 商户账户余额及提现记录
*/
@GetMapping
(
"/balance"
)
public
R
<
CompanyBalanceVo
>
getBalance
(
CompanyBalanceBo
bo
,
PageQuery
page
)
{
if
(
bo
.
getCompanyId
()
==
null
)
{
R
.
fail
(
"未指定商户ID"
);
}
return
R
.
ok
(
companyService
.
queryCompanyBalance
(
bo
,
page
));
}
}
pz-merchant/src/main/java/com/pz/merchant/controller/applet/EmployeesController.java
View file @
926c3aaf
package
com
.
pz
.
merchant
.
controller
.
applet
;
import
cn.dev33.satoken.annotation.SaIgnore
;
import
com.dtflys.forest.annotation.Put
;
import
com.pz.common.core.controller.BaseController
;
import
com.pz.common.core.domain.PageQuery
;
import
com.pz.common.core.domain.R
;
...
...
@@ -82,7 +83,7 @@ public class EmployeesController extends BaseController {
* @param emId 陪诊员ID
* @return 切换用户身份结果
*/
@
Ge
tMapping
(
"/switchIdentity"
)
@
Pu
tMapping
(
"/switchIdentity"
)
public
R
<
Boolean
>
switchIdentity
(
@NotNull
(
message
=
"陪诊员ID不能为空"
)
Integer
emId
)
{
return
R
.
ok
(
employeesService
.
switchEmployeeIdentity
(
emId
));
}
...
...
@@ -93,7 +94,7 @@ public class EmployeesController extends BaseController {
* @param emId 陪诊员ID
* @return 切换用户状态结果
*/
@
Ge
tMapping
(
"/switchStatus"
)
@
Pu
tMapping
(
"/switchStatus"
)
public
R
<
Boolean
>
switchStatus
(
@NotNull
(
message
=
"陪诊员ID不能为空"
)
Integer
emId
)
{
return
R
.
ok
(
employeesService
.
disableOrRecover
(
emId
));
}
...
...
pz-merchant/src/main/java/com/pz/merchant/controller/applet/WechatLoginController.java
View file @
926c3aaf
...
...
@@ -6,20 +6,28 @@ import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import
cn.dev33.satoken.annotation.SaIgnore
;
import
cn.dev33.satoken.stp.StpUtil
;
import
cn.dev33.satoken.util.SaResult
;
import
com.alibaba.fastjson.JSONObject
;
import
com.pz.common.constant.Constants
;
import
com.pz.common.core.controller.BaseController
;
import
com.pz.common.core.domain.R
;
import
com.pz.common.core.domain.entity.SysUser
;
import
com.pz.common.exception.ServiceException
;
import
com.pz.common.response.WxAuthResponse
;
import
com.pz.common.utils.StringUtils
;
import
com.pz.common.config.WechatConfiguration
;
import
com.pz.merchant.domain.WechatUserInfo
;
import
com.pz.merchant.domain.bo.WechatLoginBo
;
import
com.pz.system.mapper.SysUserMapper
;
import
com.pz.system.service.ISysUserService
;
import
com.pz.system.service.SysLoginService
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.client.RestTemplate
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.HashMap
;
/**
...
...
@@ -38,6 +46,8 @@ public class WechatLoginController extends BaseController {
private
final
SysLoginService
loginService
;
private
final
SysUserMapper
sysUserMapper
;
/**
* 登录
*
...
...
@@ -71,6 +81,25 @@ public class WechatLoginController extends BaseController {
}
/**
* 解析公众号openid重定向
*/
@SaIgnore
@GetMapping
(
"wxopenid"
)
public
void
wxopenid
(
String
userId
,
String
code
,
String
state
,
HttpServletResponse
response
)
throws
IOException
{
String
url
=
"https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx6cc2fd1bca9472ae&secret=2edf95828b1a19fc5149f6650cde71f1&code="
+
code
+
"&grant_type=authorization_code"
;
RestTemplate
restTemplate
=
new
RestTemplate
();
String
result
=
restTemplate
.
getForObject
(
url
,
String
.
class
);
WxAuthResponse
authResponse
=
JSONObject
.
parseObject
(
result
,
WxAuthResponse
.
class
);
String
mpOpenId
=
authResponse
.
getOpenid
();
SysUser
sysUser
=
new
SysUser
();
sysUser
.
setUserId
(
Long
.
valueOf
(
userId
));
sysUser
.
setWxOpenid
(
mpOpenId
);
sysUserMapper
.
updateById
(
sysUser
);
response
.
sendRedirect
(
"https://peizheng.shanpeikj.com/wx/index.html"
);
}
/**
* 注销
*/
@GetMapping
(
"logout"
)
...
...
pz-system/src/main/java/com/pz/merchant/domain/bo/CompanyBalanceBo.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
merchant
.
domain
.
bo
;
import
com.pz.common.core.domain.BaseEntity
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* 商户余额实体
* <p>created in 2023/9/13 11:17
*
* @author WangMin
* @version 1.0
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
CompanyBalanceBo
extends
BaseEntity
{
/**
* 商户ID
*/
private
Integer
companyId
;
/**
* 提现状态:0-审核中,1-成功提现,2-拒绝提现
*/
private
Integer
incomeStatus
;
}
pz-system/src/main/java/com/pz/merchant/domain/bo/ModifyCompanyInfoBo.java
View file @
926c3aaf
package
com
.
pz
.
merchant
.
domain
.
bo
;
import
com.pz.common.core.validate.EditGroup
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
/**
* <p>created in 2023/9/12 14:11
*
...
...
@@ -7,5 +12,23 @@ package com.pz.merchant.domain.bo;
* @version 1.0
*/
@Data
public
class
ModifyCompanyInfoBo
{
/**
* 商户ID
*/
@NotNull
(
groups
=
EditGroup
.
class
,
message
=
"商户ID不能为空"
)
private
Integer
companyId
;
/**
* 用户名称
*/
private
String
companyName
;
/**
* 用户头像
*/
private
String
avatar
;
}
pz-system/src/main/java/com/pz/merchant/domain/vo/CompanyAppVo.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
merchant
.
domain
.
vo
;
import
lombok.Data
;
/**
* 小程序商户信息返回数据实体
* <p>created in 2023/9/12 14:37
*
* @author WangMin
* @version 1.0
*/
@Data
public
class
CompanyAppVo
{
/**
* 商户名称
*/
private
String
name
;
/**
* 头像
*/
private
String
avatar
;
/**
* 手机号
*/
private
String
phone
;
/**
* 商户地址
*/
private
String
address
;
/**
* 商户状态 0审核 1正常 2禁用
*/
private
Integer
status
;
/**
* 营业执照
*/
private
String
businessLicense
;
}
pz-system/src/main/java/com/pz/merchant/domain/vo/CompanyBalanceVo.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
merchant
.
domain
.
vo
;
import
lombok.Data
;
import
java.util.List
;
/**
* 商户余额实体
* <p>created in 2023/9/13 11:13
*
* @author WangMin
* @version 1.0
*/
@Data
public
class
CompanyBalanceVo
{
/**
* 总收益
*/
private
Float
totalRevenue
;
/**
* 可用余额
*/
private
Float
balance
;
/**
* 冻结余额
*/
private
Float
freezeBalance
;
/**
* 提现记录总数
*/
private
Long
total
;
/**
* 提现记录
*/
private
List
<
CompanyIncomeVo
>
incomes
;
}
pz-system/src/main/java/com/pz/merchant/domain/vo/CompanyIncomeVo.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
merchant
.
domain
.
vo
;
import
lombok.Data
;
import
java.util.Date
;
/**
* 商户提现实体
* <p>created in 2023/9/13 11:05
*
* @author WangMin
* @version 1.0
*/
@Data
public
class
CompanyIncomeVo
{
/**
* 提现单号
*/
private
String
partnerTradeNo
;
/**
* 提现金额
*/
private
Float
amount
;
/**
* 提现审核备注,拒绝提现时可能用到
*/
private
String
remark
;
/**
* 更新时间
*/
private
Date
updateTime
;
}
pz-system/src/main/java/com/pz/merchant/domain/vo/FinanceOrderInfoVo.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
merchant
.
domain
.
vo
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* <p>created in 2023/9/13 9:29
*
* @author WangMin
* @version 1.0
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
FinanceOrderInfoVo
extends
OrderInfoVO
{
/**
* 陪诊员名称
*/
private
String
emName
;
}
pz-system/src/main/java/com/pz/merchant/domain/vo/FinanceStatisticVo.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
merchant
.
domain
.
vo
;
import
lombok.Data
;
import
java.util.List
;
/**
* 财务统计实体
* <p>created in 2023/9/13 9:34
*
* @author WangMin
* @version 1.0
*/
@Data
public
class
FinanceStatisticVo
{
/**
* 今日收益
*/
private
Float
todayDeal
;
/**
* 数据总量
*/
private
Long
total
;
/**
* 所有已完成订单
*/
private
List
<
FinanceOrderInfoVo
>
orders
;
}
pz-system/src/main/java/com/pz/merchant/mapper/CompanyMapper.java
View file @
926c3aaf
package
com
.
pz
.
merchant
.
mapper
;
import
com.baomidou.mybatisplus.core.conditions.Wrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.Constants
;
import
com.pz.common.core.mapper.BaseMapperPlus
;
import
com.pz.merchant.domain.Company
;
import
com.pz.merchant.domain.vo.CompanyAppVo
;
import
com.pz.merchant.domain.vo.CompanyVo
;
import
com.pz.merchant.domain.vo.FinanceOrderInfoVo
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.math.BigDecimal
;
/**
* 商户Mapper接口
...
...
@@ -15,4 +23,26 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public
interface
CompanyMapper
extends
BaseMapperPlus
<
CompanyMapper
,
Company
,
CompanyVo
>
{
/**
* 查询商户信息
*
* @param companyId 商户ID
* @return 商户信息
*/
CompanyAppVo
selectCompanyDataForApp
(
Integer
companyId
);
/**
* @param companyId 商户ID
* @return 商户今日收益
*/
BigDecimal
selectFinanceStatistic
(
Integer
companyId
);
/**
* 查询所有已完成订单
*
* @param queryWrapper 查询条件
* @return 订单
*/
IPage
<
FinanceOrderInfoVo
>
selectAllOrder
(
IPage
<
FinanceOrderInfoVo
>
page
,
@Param
(
Constants
.
WRAPPER
)
Wrapper
<
Company
>
queryWrapper
);
}
pz-system/src/main/java/com/pz/merchant/mapper/EmployeesMapper.java
View file @
926c3aaf
...
...
@@ -41,10 +41,9 @@ public interface EmployeesMapper extends BaseMapperPlus<EmployeesMapper, Employe
*/
TodayOrderListVo
selectEmployeesInfoById
(
@Param
(
"id"
)
Integer
emId
);
/**
* 查询订单
*
* @param queryWrapper 查询条件
* @return 订单
*/
...
...
pz-system/src/main/java/com/pz/merchant/service/ICompanyService.java
View file @
926c3aaf
...
...
@@ -3,8 +3,13 @@ package com.pz.merchant.service;
import
com.pz.common.core.domain.PageQuery
;
import
com.pz.common.core.page.TableDataInfo
;
import
com.pz.merchant.domain.bo.CompanyBalanceBo
;
import
com.pz.merchant.domain.bo.CompanyBo
;
import
com.pz.merchant.domain.bo.ModifyCompanyInfoBo
;
import
com.pz.merchant.domain.vo.CompanyAppVo
;
import
com.pz.merchant.domain.vo.CompanyBalanceVo
;
import
com.pz.merchant.domain.vo.CompanyVo
;
import
com.pz.merchant.domain.vo.FinanceStatisticVo
;
import
java.util.Collection
;
import
java.util.List
;
...
...
@@ -46,4 +51,38 @@ public interface ICompanyService {
* 校验并批量删除商户信息
*/
Boolean
deleteWithValidByIds
(
Collection
<
Integer
>
ids
,
Boolean
isValid
);
/**
* 修改商户名称/头像 信息
*
* @param bo 商户信息
* @return 操作结果
*/
boolean
modifyCompanySimpleInfo
(
ModifyCompanyInfoBo
bo
);
/**
* 查询商户信息
*
* @param companyId 商户ID
* @return 商户信息
*/
CompanyAppVo
queryCompanyDataForApp
(
Integer
companyId
);
/**
* 查询商户今日收益以及所有已完成订单
*
* @param companyId 商户ID
* @param page 分页设置
* @return 商户财务统计
*/
FinanceStatisticVo
queryFinanceStatistic
(
Integer
companyId
,
PageQuery
page
);
/**
* 查询账户余额
*
* @param bo 查询参数
* @param page 分页结果
* @return 商户余额及提现记录
*/
CompanyBalanceVo
queryCompanyBalance
(
CompanyBalanceBo
bo
,
PageQuery
page
);
}
pz-system/src/main/java/com/pz/merchant/service/IEmployeesService.java
View file @
926c3aaf
...
...
@@ -117,4 +117,11 @@ public interface IEmployeesService {
* @return 操作结果
*/
boolean
disableOrRecover
(
Integer
emId
);
/**
* 根据用户id获取陪诊员信息
* @param userId
* @return
*/
EmployeesVo
queryByUserId
(
Long
userId
);
}
pz-system/src/main/java/com/pz/merchant/service/impl/CompanyServiceImpl.java
View file @
926c3aaf
...
...
@@ -2,25 +2,33 @@ package com.pz.merchant.service.impl;
import
cn.hutool.core.bean.BeanUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.pz.common.core.domain.entity.SysUser
;
import
com.pz.common.core.page.TableDataInfo
;
import
com.pz.common.core.domain.PageQuery
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.pz.common.utils.StringUtils
;
import
com.pz.merchant.domain.Company
;
import
com.pz.merchant.domain.bo.CompanyBalanceBo
;
import
com.pz.merchant.domain.bo.CompanyBo
;
import
com.pz.merchant.domain.vo.CompanyVo
;
import
com.pz.merchant.domain.bo.ModifyCompanyInfoBo
;
import
com.pz.merchant.domain.vo.*
;
import
com.pz.merchant.mapper.CompanyMapper
;
import
com.pz.merchant.service.ICompanyService
;
import
com.pz.merchant.service.ISonOrderService
;
import
com.pz.system.domain.Income
;
import
com.pz.system.mapper.CityMapper
;
import
com.pz.system.mapper.IncomeMapper
;
import
com.pz.system.mapper.SysUserMapper
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Collection
;
import
java.util.Optional
;
import
java.math.BigDecimal
;
import
java.util.*
;
/**
* 商户Service业务层处理
...
...
@@ -36,11 +44,17 @@ public class CompanyServiceImpl implements ICompanyService {
private
final
CityMapper
cityMapper
;
private
final
SysUserMapper
userMapper
;
private
final
SonOrderServiceBuilder
sonOrderServiceBuilder
;
private
final
IncomeMapper
incomeMapper
;
/**
* 查询商户
*/
@Override
public
CompanyVo
queryById
(
Integer
id
){
public
CompanyVo
queryById
(
Integer
id
)
{
return
baseMapper
.
selectVoById
(
id
);
}
...
...
@@ -109,8 +123,8 @@ public class CompanyServiceImpl implements ICompanyService {
/**
* 保存前的数据校验
*/
private
void
validEntityBeforeSave
(
Company
entity
){
//TODO 做一些数据校验,如唯一约束
private
void
validEntityBeforeSave
(
Company
entity
)
{
//
TODO 做一些数据校验,如唯一约束
}
/**
...
...
@@ -118,9 +132,101 @@ public class CompanyServiceImpl implements ICompanyService {
*/
@Override
public
Boolean
deleteWithValidByIds
(
Collection
<
Integer
>
ids
,
Boolean
isValid
)
{
if
(
isValid
)
{
//TODO 做一些业务上的校验,判断是否需要校验
if
(
isValid
)
{
//
TODO 做一些业务上的校验,判断是否需要校验
}
return
baseMapper
.
deleteBatchIds
(
ids
)
>
0
;
}
/**
* 修改商户名称/头像 信息
*
* @param bo 商户信息
* @return 操作结果
*/
@Override
public
boolean
modifyCompanySimpleInfo
(
ModifyCompanyInfoBo
bo
)
{
CompanyVo
companyVo
=
baseMapper
.
selectVoById
(
bo
.
getCompanyId
());
Objects
.
requireNonNull
(
companyVo
,
"该商户不存在"
);
boolean
companyFlag
=
true
;
if
(
StringUtils
.
isNotEmpty
(
bo
.
getCompanyName
()))
{
LambdaUpdateWrapper
<
Company
>
companyWrapper
=
Wrappers
.
lambdaUpdate
();
companyWrapper
.
set
(
Company:
:
getName
,
bo
.
getCompanyName
())
.
eq
(
Company:
:
getId
,
companyVo
.
getId
());
companyFlag
=
baseMapper
.
update
(
null
,
companyWrapper
)
>
0
;
}
boolean
userFlag
=
true
;
if
(
StringUtils
.
isNotEmpty
(
bo
.
getAvatar
()))
{
LambdaUpdateWrapper
<
SysUser
>
userWrapper
=
Wrappers
.
lambdaUpdate
();
userWrapper
.
set
(
SysUser:
:
getAvatar
,
bo
.
getAvatar
())
.
eq
(
SysUser:
:
getUserId
,
companyVo
.
getUid
());
userFlag
=
userMapper
.
update
(
null
,
userWrapper
)
>
0
;
}
return
companyFlag
&&
userFlag
;
}
/**
* 查询商户信息
*
* @param companyId 商户ID
* @return 商户信息
*/
@Override
public
CompanyAppVo
queryCompanyDataForApp
(
Integer
companyId
)
{
return
baseMapper
.
selectCompanyDataForApp
(
companyId
);
}
/**
* 查询商户今日收益以及所有已完成订单
*
* @param companyId 商户ID
* @param page 分页设置
* @return 商户财务统计
*/
@Override
public
FinanceStatisticVo
queryFinanceStatistic
(
Integer
companyId
,
PageQuery
page
)
{
BigDecimal
todayDeal
=
Optional
.
ofNullable
(
baseMapper
.
selectFinanceStatistic
(
companyId
)).
orElse
(
BigDecimal
.
ZERO
);
FinanceStatisticVo
result
=
new
FinanceStatisticVo
();
result
.
setTodayDeal
(
todayDeal
.
floatValue
());
QueryWrapper
<
Company
>
query
=
Wrappers
.
query
();
query
.
eq
(
"employees.company_id"
,
companyId
)
.
eq
(
"total_order.status"
,
2
);
// 查询已完成的订单数据
IPage
<
FinanceOrderInfoVo
>
pageResult
=
baseMapper
.
selectAllOrder
(
page
.
build
(),
query
);
result
.
setTotal
(
pageResult
.
getTotal
());
// 根据不同子订单装载就诊人员信息和子订单状态
pageResult
.
getRecords
().
forEach
(
suborder
->
{
ISonOrderService
orderService
=
sonOrderServiceBuilder
.
getSonOrderService
(
suborder
.
getBid
());
SonOrderVo
orderStatus
;
if
(
orderService
!=
null
&&
(
orderStatus
=
orderService
.
getSonOrderInfoByTotalId
(
suborder
.
getOrderId
()))
!=
null
)
{
suborder
.
setUserName
(
orderStatus
.
getUserName
());
suborder
.
setSonOrderStatus
(
orderStatus
.
getOrderStatus
());
}
});
result
.
setOrders
(
pageResult
.
getRecords
());
return
result
;
}
/**
* 查询账户余额
*
* @param bo 查询参数
* @param page 分页结果
* @return 商户余额及提现记录
*/
@Override
public
CompanyBalanceVo
queryCompanyBalance
(
CompanyBalanceBo
bo
,
PageQuery
page
)
{
CompanyBalanceVo
result
=
new
CompanyBalanceVo
();
CompanyVo
companyVo
=
baseMapper
.
selectVoById
(
bo
.
getCompanyId
());
Objects
.
requireNonNull
(
companyVo
,
"未查询到商户信息"
);
result
.
setBalance
(
Float
.
valueOf
(
companyVo
.
getBalance
()));
result
.
setFreezeBalance
(
Float
.
valueOf
(
companyVo
.
getFreezeBalance
()));
result
.
setTotalRevenue
(
Float
.
valueOf
(
companyVo
.
getTotalRevenue
()));
LambdaUpdateWrapper
<
Income
>
wrapper
=
Wrappers
.
lambdaUpdate
();
wrapper
.
eq
(
bo
.
getCompanyId
()
!=
null
,
Income:
:
getEcId
,
bo
.
getCompanyId
())
.
eq
(
bo
.
getIncomeStatus
()
!=
null
,
Income:
:
getStatus
,
bo
.
getIncomeStatus
());
IPage
<
CompanyIncomeVo
>
incomePage
=
incomeMapper
.
selectCompanyIncome
(
page
.
build
(),
wrapper
);
result
.
setTotal
(
incomePage
.
getTotal
());
result
.
setIncomes
(
incomePage
.
getRecords
());
return
result
;
}
}
pz-system/src/main/java/com/pz/merchant/service/impl/EmployeesServiceImpl.java
View file @
926c3aaf
...
...
@@ -144,25 +144,25 @@ public class EmployeesServiceImpl implements IEmployeesService {
SysUser
sysUser
=
new
SysUser
();
sysUser
.
setUserId
(
bo
.
getUid
().
longValue
());
sysUser
.
setPhonenumber
(
bo
.
getPhone
());
if
(
bo
.
getIdentity
()
==
2
)
{
if
(
bo
.
getIdentity
()
==
2
)
{
Employees
add
=
BeanUtil
.
toBean
(
bo
,
Employees
.
class
);
add
.
setNowType
(
1
);
boolean
flag
=
baseMapper
.
insert
(
add
)
>
0
;
if
(
flag
)
{
bo
.
setId
(
add
.
getId
());
//修改系统表角色
//
修改系统表角色
sysUser
.
setUserType
(
UserType
.
APP_USER
.
getUserType
());
sysUserMapper
.
updateById
(
sysUser
);
}
return
flag
;
}
else
if
(
bo
.
getIdentity
()
==
3
)
{
//商户新增
}
else
if
(
bo
.
getIdentity
()
==
3
)
{
//商户新增
Company
add
=
BeanUtil
.
toBean
(
bo
,
Company
.
class
);
boolean
flag
=
companyMapper
.
insert
(
add
)
>
0
;
if
(
flag
)
{
bo
.
setId
(
add
.
getId
());
//修改系统表角色
//
修改系统表角色
sysUser
.
setUserType
(
UserType
.
AMERCHANT_USER
.
getUserType
());
sysUserMapper
.
updateById
(
sysUser
);
}
...
...
@@ -278,6 +278,11 @@ public class EmployeesServiceImpl implements IEmployeesService {
return
baseMapper
.
updateById
(
BeanUtil
.
toBean
(
employeesVo
,
Employees
.
class
))
>
0
;
}
@Override
public
EmployeesVo
queryByUserId
(
Long
userId
)
{
return
baseMapper
.
selectVoOne
(
Wrappers
.<
Employees
>
lambdaQuery
().
eq
(
Employees:
:
getUid
,
userId
));
}
/**
* 保存前的数据校验
*/
...
...
@@ -319,8 +324,9 @@ public class EmployeesServiceImpl implements IEmployeesService {
public
TodayOrderListVo
queryEmployeesInfo
(
Integer
emId
)
{
TodayOrderListVo
result
=
baseMapper
.
selectEmployeesInfoById
(
emId
);
QueryWrapper
<
Employees
>
query
=
Wrappers
.
query
();
query
.
apply
(
"date_format(total_order.create_time,'%Y-%m-%d') = current_date"
)
.
eq
(
"total_order.em_id"
,
emId
);
query
.
apply
(
" to_days(current_date) = to_days(total_order.create_time)"
)
// 查询当天数据
.
eq
(
"total_order.em_id"
,
emId
)
.
ne
(
"total_order.business_id"
,
0
);
// 排除商城订单
IPage
<
OrderInfoVO
>
page
=
baseMapper
.
selectOrder
(
new
PageQuery
().
build
(),
query
);
// 根据不同子订单装载就诊人员信息和子订单状态
List
<
OrderInfoVO
>
orders
=
page
.
getRecords
();
...
...
@@ -347,7 +353,8 @@ public class EmployeesServiceImpl implements IEmployeesService {
public
TableDataInfo
<
OrderInfoVO
>
queryAllOrder
(
OrderBo
bo
,
PageQuery
pageQuery
)
{
QueryWrapper
<
Employees
>
query
=
Wrappers
.
query
();
query
.
eq
(
bo
.
getEmId
()
!=
null
,
"total_order.em_id"
,
bo
.
getEmId
())
.
eq
(
bo
.
getServiceStatus
()
!=
null
,
"total_order.status"
,
bo
.
getServiceStatus
());
.
eq
(
bo
.
getServiceStatus
()
!=
null
,
"total_order.status"
,
bo
.
getServiceStatus
())
.
ne
(
"total_order.business_id"
,
0
);
// 排除商城订单
IPage
<
OrderInfoVO
>
page
=
baseMapper
.
selectOrder
(
pageQuery
.
build
(),
query
);
// 根据不同子订单装载就诊人员信息和子订单状态
page
.
getRecords
().
forEach
(
suborder
->
{
...
...
pz-system/src/main/java/com/pz/system/domain/StoreGoodsCategory.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
system
.
domain
;
import
com.baomidou.mybatisplus.annotation.*
;
import
com.pz.common.core.domain.BaseEntity
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* 商品分类对象 store_goods_category
*
* @author ruoyi
* @date 2023-09-12
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@TableName
(
"store_goods_category"
)
public
class
StoreGoodsCategory
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/**
*
*/
@TableId
(
value
=
"id"
)
private
Integer
id
;
/**
*
*/
private
Integer
storeId
;
/**
* 分类名称
*/
private
String
title
;
/**
* 排序
*/
private
Integer
sortord
;
/**
* 删除标志(0代表存在 2代表删除)
*/
@TableLogic
private
String
delFlag
;
/**
* 备注
*/
private
String
remark
;
}
pz-system/src/main/java/com/pz/system/domain/StoreGoodsTag.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
system
.
domain
;
import
com.baomidou.mybatisplus.annotation.*
;
import
com.pz.common.core.domain.BaseEntity
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* 商品标签对象 store_goods_tag
*
* @author ruoyi
* @date 2023-09-12
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@TableName
(
"store_goods_tag"
)
public
class
StoreGoodsTag
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/**
*
*/
@TableId
(
value
=
"id"
)
private
Integer
id
;
/**
*
*/
private
Integer
storeId
;
/**
* 标签
*/
private
String
title
;
/**
* 删除标志(0代表存在 2代表删除)
*/
@TableLogic
private
String
delFlag
;
/**
* 备注
*/
private
String
remark
;
}
pz-system/src/main/java/com/pz/system/domain/StoreInfo.java
View file @
926c3aaf
...
...
@@ -26,7 +26,7 @@ public class StoreInfo extends BaseEntity {
/**
*
*/
private
Integer
storeI
d
;
private
Integer
ui
d
;
/**
*
*/
...
...
pz-system/src/main/java/com/pz/system/domain/bo/DbghOrderBo.java
View file @
926c3aaf
...
...
@@ -69,5 +69,6 @@ public class DbghOrderBo extends BaseEntity {
*/
private
String
remark
;
private
String
orderSn
;
}
pz-system/src/main/java/com/pz/system/domain/bo/DbmyOrderBo.java
View file @
926c3aaf
...
...
@@ -119,5 +119,5 @@ public class DbmyOrderBo extends BaseEntity {
*/
private
String
remark
;
private
String
orderSn
;
}
pz-system/src/main/java/com/pz/system/domain/bo/DbwzOrderBo.java
View file @
926c3aaf
...
...
@@ -104,5 +104,5 @@ public class DbwzOrderBo extends BaseEntity {
*/
private
String
remark
;
private
String
orderSn
;
}
pz-system/src/main/java/com/pz/system/domain/bo/StoreGoodsBo.java
View file @
926c3aaf
...
...
@@ -4,6 +4,7 @@ import com.pz.common.core.domain.BaseEntity;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
javax.validation.constraints.*
;
import
java.util.List
;
/**
...
...
@@ -38,9 +39,9 @@ public class StoreGoodsBo extends BaseEntity {
private
String
title
;
/**
* 标签
* 标签
集
*/
private
String
tag
s
;
private
List
<
Integer
>
tagId
s
;
/**
* 原价
...
...
pz-system/src/main/java/com/pz/system/domain/bo/StoreGoodsCategoryBo.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
system
.
domain
.
bo
;
import
com.pz.common.core.domain.BaseEntity
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
javax.validation.constraints.*
;
/**
* 商品分类业务对象 store_goods_category
*
* @author ruoyi
* @date 2023-09-12
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
StoreGoodsCategoryBo
extends
BaseEntity
{
/**
*
*/
private
Integer
id
;
/**
*
*/
private
Integer
storeId
;
/**
* 分类名称
*/
private
String
title
;
/**
* 排序
*/
private
Integer
sortord
;
/**
* 备注
*/
private
String
remark
;
}
pz-system/src/main/java/com/pz/system/domain/bo/StoreGoodsTagBo.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
system
.
domain
.
bo
;
import
com.pz.common.core.domain.BaseEntity
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
javax.validation.constraints.*
;
/**
* 商品标签业务对象 store_goods_tag
*
* @author ruoyi
* @date 2023-09-12
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
StoreGoodsTagBo
extends
BaseEntity
{
/**
*
*/
private
Integer
id
;
/**
*
*/
private
Integer
storeId
;
/**
* 标签
*/
private
String
title
;
/**
* 备注
*/
private
String
remark
;
}
pz-system/src/main/java/com/pz/system/domain/bo/StoreIncomeBo.java
View file @
926c3aaf
...
...
@@ -55,6 +55,4 @@ public class StoreIncomeBo extends BaseEntity {
* 备注
*/
private
String
remark
;
}
pz-system/src/main/java/com/pz/system/domain/bo/StoreInfoBo.java
View file @
926c3aaf
...
...
@@ -25,7 +25,7 @@ public class StoreInfoBo extends BaseEntity {
/**
*
*/
private
Integer
storeI
d
;
private
Integer
ui
d
;
/**
*
...
...
pz-system/src/main/java/com/pz/system/domain/bo/StoreOrderBo.java
View file @
926c3aaf
...
...
@@ -88,4 +88,6 @@ public class StoreOrderBo extends BaseEntity {
* 商户名称
*/
private
String
title
;
private
Long
userId
;
}
pz-system/src/main/java/com/pz/system/domain/bo/ZqghOrderBo.java
View file @
926c3aaf
...
...
@@ -74,5 +74,5 @@ public class ZqghOrderBo extends BaseEntity {
*/
private
String
remark
;
private
String
orderSn
;
}
pz-system/src/main/java/com/pz/system/domain/bo/ZyphOrderBo.java
View file @
926c3aaf
...
...
@@ -84,5 +84,5 @@ public class ZyphOrderBo extends BaseEntity {
*/
private
String
remark
;
private
String
orderSn
;
}
pz-system/src/main/java/com/pz/system/domain/vo/PaymentRecordVo.java
View file @
926c3aaf
...
...
@@ -6,6 +6,8 @@ import com.pz.common.annotation.ExcelDictFormat;
import
com.pz.common.convert.ExcelDictConvert
;
import
lombok.Data
;
import
java.util.Date
;
/**
* 支付订单视图对象 payment_record
...
...
@@ -20,7 +22,7 @@ public class PaymentRecordVo {
private
static
final
long
serialVersionUID
=
1L
;
/**
*
*
*/
@ExcelProperty
(
value
=
""
)
private
Integer
id
;
...
...
@@ -61,5 +63,8 @@ public class PaymentRecordVo {
@ExcelProperty
(
value
=
"备注"
)
private
String
remark
;
private
String
userName
;
private
Date
createTime
;
}
pz-system/src/main/java/com/pz/system/domain/vo/StoreAdminOrderVo.java
View file @
926c3aaf
package
com
.
pz
.
system
.
domain
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
...
...
@@ -38,6 +39,7 @@ public class StoreAdminOrderVo implements Serializable {
*/
private
String
sName
;
private
Integer
addressId
;
/**
* 用户名称
*/
...
...
@@ -57,4 +59,30 @@ public class StoreAdminOrderVo implements Serializable {
* 创建时间
*/
private
Date
createTime
;
/**
* 物流名称
*/
private
String
logistics
;
/**
* 物流单号
*/
private
String
logisticsCode
;
/**
* 退货物流
*/
private
String
refundLogistics
;
/**
* 退货物流单号
*/
private
String
refundLogisticsCode
;
/**
* 用户收货信息
*/
private
UserAddressVo
userAddressVo
;
}
pz-system/src/main/java/com/pz/system/domain/vo/StoreGoodsCategoryVo.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
system
.
domain
.
vo
;
import
com.alibaba.excel.annotation.ExcelIgnoreUnannotated
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.pz.common.annotation.ExcelDictFormat
;
import
com.pz.common.convert.ExcelDictConvert
;
import
lombok.Data
;
/**
* 商品分类视图对象 store_goods_category
*
* @author ruoyi
* @date 2023-09-12
*/
@Data
@ExcelIgnoreUnannotated
public
class
StoreGoodsCategoryVo
{
private
static
final
long
serialVersionUID
=
1L
;
/**
*
*/
@ExcelProperty
(
value
=
""
)
private
Integer
id
;
/**
*
*/
@ExcelProperty
(
value
=
""
)
private
Integer
storeId
;
/**
* 分类名称
*/
@ExcelProperty
(
value
=
"分类名称"
)
private
String
title
;
/**
* 排序
*/
@ExcelProperty
(
value
=
"排序"
)
private
Integer
sortord
;
/**
* 备注
*/
@ExcelProperty
(
value
=
"备注"
)
private
String
remark
;
}
pz-system/src/main/java/com/pz/system/domain/vo/StoreGoodsTagVo.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
system
.
domain
.
vo
;
import
com.alibaba.excel.annotation.ExcelIgnoreUnannotated
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.pz.common.annotation.ExcelDictFormat
;
import
com.pz.common.convert.ExcelDictConvert
;
import
lombok.Data
;
/**
* 商品标签视图对象 store_goods_tag
*
* @author ruoyi
* @date 2023-09-12
*/
@Data
@ExcelIgnoreUnannotated
public
class
StoreGoodsTagVo
{
private
static
final
long
serialVersionUID
=
1L
;
/**
*
*/
@ExcelProperty
(
value
=
""
)
private
Integer
id
;
/**
*
*/
@ExcelProperty
(
value
=
""
)
private
Integer
storeId
;
/**
* 标签
*/
@ExcelProperty
(
value
=
"标签"
)
private
String
title
;
/**
* 备注
*/
@ExcelProperty
(
value
=
"备注"
)
private
String
remark
;
}
pz-system/src/main/java/com/pz/system/domain/vo/StoreGoodsVo.java
View file @
926c3aaf
...
...
@@ -4,7 +4,9 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.pz.common.annotation.ExcelDictFormat
;
import
com.pz.common.convert.ExcelDictConvert
;
import
com.pz.common.core.domain.BaseEntity
;
import
com.pz.system.domain.Carousel
;
import
com.pz.system.domain.StoreGoodsTag
;
import
lombok.Data
;
import
java.util.List
;
...
...
@@ -18,7 +20,7 @@ import java.util.List;
*/
@Data
@ExcelIgnoreUnannotated
public
class
StoreGoodsVo
{
public
class
StoreGoodsVo
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
...
...
@@ -107,4 +109,10 @@ public class StoreGoodsVo {
private
Integer
saleNum
;
private
List
<
Carousel
>
carousel
;
private
List
<
Integer
>
ids
;
private
List
<
StoreGoodsTagVo
>
list
;
private
String
typeName
;
}
pz-system/src/main/java/com/pz/system/domain/vo/StoreInfoVo.java
View file @
926c3aaf
...
...
@@ -30,8 +30,7 @@ public class StoreInfoVo extends BaseEntity {
*
*/
@ExcelProperty
(
value
=
""
)
private
Integer
storeId
;
private
Integer
uid
;
/**
* 商户名称
*/
...
...
pz-system/src/main/java/com/pz/system/mapper/IncomeMapper.java
View file @
926c3aaf
package
com
.
pz
.
system
.
mapper
;
import
com.baomidou.mybatisplus.core.conditions.Wrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.Constants
;
import
com.pz.merchant.domain.Employees
;
import
com.pz.merchant.domain.bo.EmployeesListBo
;
import
com.pz.merchant.domain.vo.CompanyIncomeVo
;
import
com.pz.system.domain.Income
;
import
com.pz.system.domain.vo.IncomeVo
;
import
com.pz.common.core.mapper.BaseMapperPlus
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
/**
* 陪诊员/商户提现Mapper接口
...
...
@@ -10,6 +18,15 @@ import com.pz.common.core.mapper.BaseMapperPlus;
* @author ruoyi
* @date 2023-09-12
*/
@Mapper
public
interface
IncomeMapper
extends
BaseMapperPlus
<
IncomeMapper
,
Income
,
IncomeVo
>
{
/**
* 查询商户提现记录
* @param page 分页
* @param queryWrapper 查询参数
* @return 提现记录
*/
IPage
<
CompanyIncomeVo
>
selectCompanyIncome
(
IPage
<
CompanyIncomeVo
>
page
,
@Param
(
Constants
.
WRAPPER
)
Wrapper
<
Income
>
queryWrapper
);
}
pz-system/src/main/java/com/pz/system/mapper/StoreGoodsCategoryMapper.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
system
.
mapper
;
import
com.pz.system.domain.StoreGoodsCategory
;
import
com.pz.system.domain.vo.StoreGoodsCategoryVo
;
import
com.pz.common.core.mapper.BaseMapperPlus
;
/**
* 商品分类Mapper接口
*
* @author ruoyi
* @date 2023-09-12
*/
public
interface
StoreGoodsCategoryMapper
extends
BaseMapperPlus
<
StoreGoodsCategoryMapper
,
StoreGoodsCategory
,
StoreGoodsCategoryVo
>
{
}
pz-system/src/main/java/com/pz/system/mapper/StoreGoodsTagMapper.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
system
.
mapper
;
import
com.pz.system.domain.StoreGoodsTag
;
import
com.pz.system.domain.vo.StoreGoodsTagVo
;
import
com.pz.common.core.mapper.BaseMapperPlus
;
/**
* 商品标签Mapper接口
*
* @author ruoyi
* @date 2023-09-12
*/
public
interface
StoreGoodsTagMapper
extends
BaseMapperPlus
<
StoreGoodsTagMapper
,
StoreGoodsTag
,
StoreGoodsTagVo
>
{
}
pz-system/src/main/java/com/pz/system/service/IIncomeService.java
View file @
926c3aaf
...
...
@@ -46,4 +46,10 @@ public interface IIncomeService {
* 校验并批量删除陪诊员/商户提现信息
*/
Boolean
deleteWithValidByIds
(
Collection
<
Integer
>
ids
,
Boolean
isValid
);
/**
* 根据陪诊员id获取提现记录
* @return
*/
TableDataInfo
<
IncomeVo
>
queryByEidList
(
IncomeBo
bo
,
PageQuery
pageQuery
);
}
pz-system/src/main/java/com/pz/system/service/IPayService.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
system
.
service
;
import
com.github.binarywang.wxpay.bean.request.WxPayRefundQueryRequest
;
import
com.github.binarywang.wxpay.bean.request.WxPayRefundRequest
;
import
com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest
;
import
com.github.binarywang.wxpay.bean.result.WxPayOrderQueryResult
;
import
com.github.binarywang.wxpay.bean.result.WxPayRefundQueryResult
;
import
com.github.binarywang.wxpay.bean.result.WxPayRefundResult
;
import
com.github.binarywang.wxpay.exception.WxPayException
;
import
com.pz.common.core.domain.PageQuery
;
import
com.pz.common.core.page.TableDataInfo
;
import
com.pz.system.domain.bo.CityBo
;
import
com.pz.system.domain.vo.CityVo
;
import
java.util.Collection
;
import
java.util.List
;
/**
* 城市Service接口
*
* @author ruoyi
* @date 2023-09-07
*/
public
interface
IPayService
{
/**
* <pre>
* 查询订单(详见https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_2)
* 该接口提供所有微信支付订单的查询,商户可以通过查询订单接口主动查询订单状态,完成下一步的业务逻辑。
* 需要调用查询接口的情况:
* ◆ 当商户后台、网络、服务器等出现异常,商户系统最终未接收到支付通知;
* ◆ 调用支付接口后,返回系统错误或未知交易状态情况;
* ◆ 调用被扫支付API,返回USERPAYING的状态;
* ◆ 调用关单或撤销接口API之前,需确认支付状态;
* 接口地址:https://api.mch.weixin.qq.com/pay/orderquery
* </pre>
*
* @param transactionId 微信订单号
* @param outTradeNo 商户系统内部的订单号,当没提供transactionId时需要传这个。
*/
WxPayOrderQueryResult
queryOrder
(
String
transactionId
,
String
outTradeNo
)
throws
WxPayException
;
/**
* 统一下单
* 调用统一下单接口,并组装生成支付所需参数对象.
*
* @param request 统一下单请求参数
* @param <T> 请使用{@link com.github.binarywang.wxpay.bean.order}包下的类
* @return 返回 {@link com.github.binarywang.wxpay.bean.order}包下的类对象
*/
<
T
>
T
createOrder
(
WxPayUnifiedOrderRequest
request
)
throws
WxPayException
;
/**
* <pre>
* 微信支付-申请退款
* 详见 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_4
* 接口链接:https://api.mch.weixin.qq.com/secapi/pay/refund
* </pre>
*
* @param request 请求对象
* @return 退款操作结果
*/
WxPayRefundResult
refund
(
WxPayRefundRequest
request
)
throws
WxPayException
;
/**
* <pre>
* 微信支付-查询退款
* 应用场景:
* 提交退款申请后,通过调用该接口查询退款状态。退款有一定延时,用零钱支付的退款20分钟内到账,
* 银行卡支付的退款3个工作日后重新查询退款状态。
* 详见 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_5
* 接口链接:https://api.mch.weixin.qq.com/pay/refundquery
* </pre>
* 以下四个参数四选一
*
* @param transactionId 微信订单号
* @param outTradeNo 商户订单号
* @param outRefundNo 商户退款单号
* @param refundId 微信退款单号
* @return 退款信息
*/
WxPayRefundQueryResult
refundQuery
(
String
transactionId
,
String
outTradeNo
,
String
outRefundNo
,
String
refundId
)
throws
WxPayException
;
/**
* 支付回调通知处理
* 微信请求的接口,要求可以公网访问,要放开token校验
* @param xmlData 微信提交的请求参数
*/
String
parseOrderNotifyResult
(
String
xmlData
)
throws
WxPayException
;
/**
* 退款回调通知处理
* 微信请求的接口,要求可以公网访问,要放开token校验
* @param xmlData 微信提交的请求参数
*/
String
parseRefundNotifyResult
(
String
xmlData
)
throws
WxPayException
;
}
pz-system/src/main/java/com/pz/system/service/IStoreGoodsCategoryService.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
system
.
service
;
import
com.pz.system.domain.StoreGoodsCategory
;
import
com.pz.system.domain.vo.StoreGoodsCategoryVo
;
import
com.pz.system.domain.bo.StoreGoodsCategoryBo
;
import
com.pz.common.core.page.TableDataInfo
;
import
com.pz.common.core.domain.PageQuery
;
import
java.util.Collection
;
import
java.util.List
;
/**
* 商品分类Service接口
*
* @author ruoyi
* @date 2023-09-12
*/
public
interface
IStoreGoodsCategoryService
{
/**
* 查询商品分类
*/
StoreGoodsCategoryVo
queryById
(
Integer
id
);
/**
* 查询商品分类列表
*/
TableDataInfo
<
StoreGoodsCategoryVo
>
queryPageList
(
StoreGoodsCategoryBo
bo
,
PageQuery
pageQuery
);
/**
* 查询商品分类列表
*/
List
<
StoreGoodsCategoryVo
>
queryList
(
StoreGoodsCategoryBo
bo
);
/**
* 新增商品分类
*/
Boolean
insertByBo
(
StoreGoodsCategoryBo
bo
);
/**
* 修改商品分类
*/
Boolean
updateByBo
(
StoreGoodsCategoryBo
bo
);
/**
* 校验并批量删除商品分类信息
*/
Boolean
deleteWithValidByIds
(
Collection
<
Integer
>
ids
,
Boolean
isValid
);
}
pz-system/src/main/java/com/pz/system/service/IStoreGoodsTagService.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
system
.
service
;
import
com.pz.system.domain.StoreGoodsTag
;
import
com.pz.system.domain.vo.StoreGoodsTagVo
;
import
com.pz.system.domain.bo.StoreGoodsTagBo
;
import
com.pz.common.core.page.TableDataInfo
;
import
com.pz.common.core.domain.PageQuery
;
import
java.util.Collection
;
import
java.util.List
;
/**
* 商品标签Service接口
*
* @author ruoyi
* @date 2023-09-12
*/
public
interface
IStoreGoodsTagService
{
/**
* 查询商品标签
*/
StoreGoodsTagVo
queryById
(
Integer
id
);
/**
* 查询商品标签列表
*/
TableDataInfo
<
StoreGoodsTagVo
>
queryPageList
(
StoreGoodsTagBo
bo
,
PageQuery
pageQuery
);
/**
* 查询商品标签列表
*/
List
<
StoreGoodsTagVo
>
queryList
(
StoreGoodsTagBo
bo
);
/**
* 新增商品标签
*/
Boolean
insertByBo
(
StoreGoodsTagBo
bo
);
/**
* 修改商品标签
*/
Boolean
updateByBo
(
StoreGoodsTagBo
bo
);
/**
* 校验并批量删除商品标签信息
*/
Boolean
deleteWithValidByIds
(
Collection
<
Integer
>
ids
,
Boolean
isValid
);
}
pz-system/src/main/java/com/pz/system/service/SysLoginService.java
View file @
926c3aaf
package
com
.
pz
.
system
.
service
;
import
cn.dev33.satoken.annotation.SaIgnore
;
import
cn.dev33.satoken.exception.NotLoginException
;
import
cn.dev33.satoken.secure.BCrypt
;
import
cn.dev33.satoken.stp.StpUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.RandomUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.pz.common.constant.CacheConstants
;
...
...
@@ -23,10 +25,8 @@ import com.pz.common.exception.user.CaptchaException;
import
com.pz.common.exception.user.CaptchaExpireException
;
import
com.pz.common.exception.user.UserException
;
import
com.pz.common.helper.LoginHelper
;
import
com.pz.common.utils.DateUtils
;
import
com.pz.common.utils.MessageUtils
;
import
com.pz.common.utils.ServletUtils
;
import
com.pz.common.utils.StringUtils
;
import
com.pz.common.response.WxAuthResponse
;
import
com.pz.common.utils.*
;
import
com.pz.common.utils.redis.RedisUtils
;
import
com.pz.common.utils.spring.SpringUtils
;
import
com.pz.merchant.domain.WechatUserInfo
;
...
...
@@ -36,7 +36,11 @@ import lombok.RequiredArgsConstructor;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.client.RestTemplate
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.time.Duration
;
import
java.util.List
;
import
java.util.function.Supplier
;
...
...
@@ -151,7 +155,7 @@ public class SysLoginService {
public
String
xccLogin
(
WechatUserInfo
loginBo
)
{
SysUser
user
=
loadUserByOpenid
(
loginBo
.
getOpenId
());
if
(
user
==
null
)
{
SysUser
userByPhone
=
userMapper
.
selectOne
(
Wrappers
.<
SysUser
>
lambdaQuery
().
eq
(
SysUser:
:
getPhonenumber
,
loginBo
.
getMobilePhone
()));
SysUser
userByPhone
=
userMapper
.
selectOne
(
Wrappers
.<
SysUser
>
lambdaQuery
().
eq
(
SysUser:
:
getPhonenumber
,
loginBo
.
getMobilePhone
()));
// 若该手机号已经被注册,则直接绑定OpenID
if
(
userByPhone
!=
null
)
{
userByPhone
.
setOpenId
(
loginBo
.
getOpenId
());
...
...
@@ -189,6 +193,7 @@ public class SysLoginService {
return
StpUtil
.
getTokenValue
();
}
/**
* 退出登录
*/
...
...
pz-system/src/main/java/com/pz/system/service/impl/IncomeServiceImpl.java
View file @
926c3aaf
...
...
@@ -138,4 +138,10 @@ public class IncomeServiceImpl implements IIncomeService {
}
return
baseMapper
.
deleteBatchIds
(
ids
)
>
0
;
}
@Override
public
TableDataInfo
<
IncomeVo
>
queryByEidList
(
IncomeBo
bo
,
PageQuery
pageQuery
)
{
Page
<
IncomeVo
>
result
=
baseMapper
.
selectVoPage
(
pageQuery
.
build
(),
Wrappers
.<
Income
>
lambdaQuery
().
eq
(
Income:
:
getEcId
,
bo
.
getEcId
()).
eq
(
Income:
:
getUserType
,
1
).
eq
(
Income:
:
getStatus
,
bo
.
getStatus
()));
return
TableDataInfo
.
build
(
result
);
}
}
pz-system/src/main/java/com/pz/system/service/impl/PayServiceImpl.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
system
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.StringUtils
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse
;
import
com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult
;
import
com.github.binarywang.wxpay.bean.notify.WxPayRefundNotifyResult
;
import
com.github.binarywang.wxpay.bean.notify.WxScanPayNotifyResult
;
import
com.github.binarywang.wxpay.bean.request.*
;
import
com.github.binarywang.wxpay.bean.result.*
;
import
com.github.binarywang.wxpay.exception.WxPayException
;
import
com.github.binarywang.wxpay.service.WxPayService
;
import
com.pz.common.core.domain.PageQuery
;
import
com.pz.common.core.page.TableDataInfo
;
import
com.pz.system.domain.City
;
import
com.pz.system.domain.bo.CityBo
;
import
com.pz.system.domain.vo.CityVo
;
import
com.pz.system.mapper.CityMapper
;
import
com.pz.system.service.ICityService
;
import
com.pz.system.service.IPayService
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
java.io.File
;
import
java.util.Collection
;
import
java.util.List
;
/**
* 城市Service业务层处理
*
* @author ruoyi
* @date 2023-09-07
*/
@RequiredArgsConstructor
@Service
public
class
PayServiceImpl
implements
IPayService
{
@Autowired
private
WxPayService
wxService
;
/**
* <pre>
* 查询订单(详见https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_2)
* 该接口提供所有微信支付订单的查询,商户可以通过查询订单接口主动查询订单状态,完成下一步的业务逻辑。
* 需要调用查询接口的情况:
* ◆ 当商户后台、网络、服务器等出现异常,商户系统最终未接收到支付通知;
* ◆ 调用支付接口后,返回系统错误或未知交易状态情况;
* ◆ 调用被扫支付API,返回USERPAYING的状态;
* ◆ 调用关单或撤销接口API之前,需确认支付状态;
* 接口地址:https://api.mch.weixin.qq.com/pay/orderquery
* </pre>
*
* @param transactionId 微信订单号
* @param outTradeNo 商户系统内部的订单号,当没提供transactionId时需要传这个。
*/
@Override
public
WxPayOrderQueryResult
queryOrder
(
String
transactionId
,
String
outTradeNo
)
throws
WxPayException
{
return
this
.
wxService
.
queryOrder
(
transactionId
,
outTradeNo
);
}
/**
* 调用统一下单接口,并组装生成支付所需参数对象.
*
* @param request 统一下单请求参数
* @param <T> 请使用{@link com.github.binarywang.wxpay.bean.order}包下的类
* @return 返回 {@link com.github.binarywang.wxpay.bean.order}包下的类对象
*/
@Override
public
<
T
>
T
createOrder
(
WxPayUnifiedOrderRequest
request
)
throws
WxPayException
{
return
this
.
wxService
.
createOrder
(
request
);
}
/**
* <pre>
* 微信支付-申请退款
* 详见 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_4
* 接口链接:https://api.mch.weixin.qq.com/secapi/pay/refund
* </pre>
*
* @param request 请求对象
* @return 退款操作结果
*/
@Override
public
WxPayRefundResult
refund
(
WxPayRefundRequest
request
)
throws
WxPayException
{
return
this
.
wxService
.
refund
(
request
);
}
/**
* <pre>
* 微信支付-查询退款
* 应用场景:
* 提交退款申请后,通过调用该接口查询退款状态。退款有一定延时,用零钱支付的退款20分钟内到账,
* 银行卡支付的退款3个工作日后重新查询退款状态。
* 详见 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_5
* 接口链接:https://api.mch.weixin.qq.com/pay/refundquery
* </pre>
* 以下四个参数四选一
*
* @param transactionId 微信订单号
* @param outTradeNo 商户订单号
* @param outRefundNo 商户退款单号
* @param refundId 微信退款单号
* @return 退款信息
*/
@Override
public
WxPayRefundQueryResult
refundQuery
(
String
transactionId
,
String
outTradeNo
,
String
outRefundNo
,
String
refundId
)
throws
WxPayException
{
return
this
.
wxService
.
refundQuery
(
transactionId
,
outTradeNo
,
outRefundNo
,
refundId
);
}
/**
* 支付回调通知处理
* @param xmlData
* @return
* @throws WxPayException
*/
@Override
public
String
parseOrderNotifyResult
(
String
xmlData
)
throws
WxPayException
{
// 参数解析
final
WxPayOrderNotifyResult
notifyResult
=
this
.
wxService
.
parseOrderNotifyResult
(
xmlData
);
// TODO 根据自己业务场景需要构造返回对象
return
WxPayNotifyResponse
.
success
(
"成功"
);
}
/**
* 退款回调通知处理
* @param xmlData
* @return
* @throws WxPayException
*/
@Override
public
String
parseRefundNotifyResult
(
String
xmlData
)
throws
WxPayException
{
// 参数解析
final
WxPayRefundNotifyResult
result
=
this
.
wxService
.
parseRefundNotifyResult
(
xmlData
);
// TODO 根据自己业务场景需要构造返回对象
return
WxPayNotifyResponse
.
success
(
"成功"
);
}
}
pz-system/src/main/java/com/pz/system/service/impl/PaymentRecordServiceImpl.java
View file @
926c3aaf
...
...
@@ -7,6 +7,7 @@ import com.pz.common.core.domain.PageQuery;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.pz.system.mapper.SysUserMapper
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Service
;
import
com.pz.system.domain.bo.PaymentRecordBo
;
...
...
@@ -32,11 +33,13 @@ public class PaymentRecordServiceImpl implements IPaymentRecordService {
private
final
PaymentRecordMapper
baseMapper
;
private
final
SysUserMapper
sysUserMapper
;
/**
* 查询支付订单
*/
@Override
public
PaymentRecordVo
queryById
(
Integer
id
){
public
PaymentRecordVo
queryById
(
Integer
id
)
{
return
baseMapper
.
selectVoById
(
id
);
}
...
...
@@ -49,7 +52,12 @@ public class PaymentRecordServiceImpl implements IPaymentRecordService {
Page
<
PaymentRecordVo
>
result
=
baseMapper
.
selectVoPage
(
pageQuery
.
build
(),
lqw
);
Optional
.
ofNullable
(
result
.
getRecords
())
.
ifPresent
(
paymentRecordVos
->
{
paymentRecordVos
.
forEach
(
paymentRecordVo
->
{
Optional
.
ofNullable
(
sysUserMapper
.
selectUserById
(
paymentRecordVo
.
getUid
()))
.
ifPresent
(
sysUser
->
{
paymentRecordVo
.
setUserName
(
sysUser
.
getUserName
());
});
});
});
return
TableDataInfo
.
build
(
result
);
}
...
...
@@ -101,7 +109,7 @@ public class PaymentRecordServiceImpl implements IPaymentRecordService {
/**
* 保存前的数据校验
*/
private
void
validEntityBeforeSave
(
PaymentRecord
entity
){
private
void
validEntityBeforeSave
(
PaymentRecord
entity
)
{
//TODO 做一些数据校验,如唯一约束
}
...
...
@@ -110,7 +118,7 @@ public class PaymentRecordServiceImpl implements IPaymentRecordService {
*/
@Override
public
Boolean
deleteWithValidByIds
(
Collection
<
Integer
>
ids
,
Boolean
isValid
)
{
if
(
isValid
)
{
if
(
isValid
)
{
//TODO 做一些业务上的校验,判断是否需要校验
}
return
baseMapper
.
deleteBatchIds
(
ids
)
>
0
;
...
...
pz-system/src/main/java/com/pz/system/service/impl/StoreGoodsCategoryServiceImpl.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
system
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.baomidou.mybatisplus.core.toolkit.StringUtils
;
import
com.pz.common.core.page.TableDataInfo
;
import
com.pz.common.core.domain.PageQuery
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Service
;
import
com.pz.system.domain.bo.StoreGoodsCategoryBo
;
import
com.pz.system.domain.vo.StoreGoodsCategoryVo
;
import
com.pz.system.domain.StoreGoodsCategory
;
import
com.pz.system.mapper.StoreGoodsCategoryMapper
;
import
com.pz.system.service.IStoreGoodsCategoryService
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Collection
;
/**
* 商品分类Service业务层处理
*
* @author ruoyi
* @date 2023-09-12
*/
@RequiredArgsConstructor
@Service
public
class
StoreGoodsCategoryServiceImpl
implements
IStoreGoodsCategoryService
{
private
final
StoreGoodsCategoryMapper
baseMapper
;
/**
* 查询商品分类
*/
@Override
public
StoreGoodsCategoryVo
queryById
(
Integer
id
){
return
baseMapper
.
selectVoById
(
id
);
}
/**
* 查询商品分类列表
*/
@Override
public
TableDataInfo
<
StoreGoodsCategoryVo
>
queryPageList
(
StoreGoodsCategoryBo
bo
,
PageQuery
pageQuery
)
{
LambdaQueryWrapper
<
StoreGoodsCategory
>
lqw
=
buildQueryWrapper
(
bo
);
Page
<
StoreGoodsCategoryVo
>
result
=
baseMapper
.
selectVoPage
(
pageQuery
.
build
(),
lqw
);
return
TableDataInfo
.
build
(
result
);
}
/**
* 查询商品分类列表
*/
@Override
public
List
<
StoreGoodsCategoryVo
>
queryList
(
StoreGoodsCategoryBo
bo
)
{
LambdaQueryWrapper
<
StoreGoodsCategory
>
lqw
=
buildQueryWrapper
(
bo
);
return
baseMapper
.
selectVoList
(
lqw
);
}
private
LambdaQueryWrapper
<
StoreGoodsCategory
>
buildQueryWrapper
(
StoreGoodsCategoryBo
bo
)
{
Map
<
String
,
Object
>
params
=
bo
.
getParams
();
LambdaQueryWrapper
<
StoreGoodsCategory
>
lqw
=
Wrappers
.
lambdaQuery
();
lqw
.
eq
(
bo
.
getStoreId
()
!=
null
,
StoreGoodsCategory:
:
getStoreId
,
bo
.
getStoreId
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getTitle
()),
StoreGoodsCategory:
:
getTitle
,
bo
.
getTitle
());
return
lqw
;
}
/**
* 新增商品分类
*/
@Override
public
Boolean
insertByBo
(
StoreGoodsCategoryBo
bo
)
{
StoreGoodsCategory
add
=
BeanUtil
.
toBean
(
bo
,
StoreGoodsCategory
.
class
);
validEntityBeforeSave
(
add
);
boolean
flag
=
baseMapper
.
insert
(
add
)
>
0
;
if
(
flag
)
{
bo
.
setId
(
add
.
getId
());
}
return
flag
;
}
/**
* 修改商品分类
*/
@Override
public
Boolean
updateByBo
(
StoreGoodsCategoryBo
bo
)
{
StoreGoodsCategory
update
=
BeanUtil
.
toBean
(
bo
,
StoreGoodsCategory
.
class
);
validEntityBeforeSave
(
update
);
return
baseMapper
.
updateById
(
update
)
>
0
;
}
/**
* 保存前的数据校验
*/
private
void
validEntityBeforeSave
(
StoreGoodsCategory
entity
){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除商品分类
*/
@Override
public
Boolean
deleteWithValidByIds
(
Collection
<
Integer
>
ids
,
Boolean
isValid
)
{
if
(
isValid
){
//TODO 做一些业务上的校验,判断是否需要校验
}
return
baseMapper
.
deleteBatchIds
(
ids
)
>
0
;
}
}
pz-system/src/main/java/com/pz/system/service/impl/StoreGoodsServiceImpl.java
View file @
926c3aaf
package
com
.
pz
.
system
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.json.JSONArray
;
import
com.baomidou.mybatisplus.core.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.core.toolkit.StringUtils
;
import
com.pz.common.core.page.TableDataInfo
;
import
com.pz.common.core.domain.PageQuery
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.pz.common.utils.JsonUtils
;
import
com.pz.system.domain.StoreApply
;
import
com.pz.system.domain.StoreGoodsTag
;
import
com.pz.system.domain.vo.StoreApplyVo
;
import
com.pz.system.mapper.StoreApplyMapper
;
import
com.pz.system.mapper.StoreGoodsCategoryMapper
;
import
com.pz.system.mapper.StoreGoodsTagMapper
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Service
;
import
com.pz.system.domain.bo.StoreGoodsBo
;
...
...
@@ -21,6 +27,7 @@ import com.pz.system.service.IStoreGoodsService;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Collection
;
import
java.util.Optional
;
/**
* 商品Service业务层处理
...
...
@@ -36,19 +43,29 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService {
private
final
StoreApplyMapper
storeApplyMapper
;
private
final
StoreGoodsTagMapper
goodsTagMapper
;
private
final
StoreGoodsCategoryMapper
storeGoodsCategoryMapper
;
/**
* 查询商品
*/
@Override
public
StoreGoodsVo
queryById
(
Integer
id
){
return
baseMapper
.
selectVoById
(
id
);
public
StoreGoodsVo
queryById
(
Integer
id
)
{
StoreGoodsVo
storeGoodsVo
=
baseMapper
.
selectVoById
(
id
);
if
(
StringUtils
.
isNotBlank
(
storeGoodsVo
.
getTags
()))
{
List
<
Integer
>
ids
=
JsonUtils
.
parseArray
(
storeGoodsVo
.
getTags
(),
Integer
.
class
);
//查询商品标签
storeGoodsVo
.
setList
(
goodsTagMapper
.
selectVoList
(
new
LambdaQueryWrapper
<
StoreGoodsTag
>().
in
(
StoreGoodsTag:
:
getId
,
ids
)));
}
return
storeGoodsVo
;
}
/**
* 小程序查询商品
*/
@Override
public
StoreGoodsVo
queryAppById
(
Integer
id
){
public
StoreGoodsVo
queryAppById
(
Integer
id
)
{
StoreGoodsVo
storeGoodsVo
=
baseMapper
.
selectVoById
(
id
);
StoreGoods
storeGoods
=
new
StoreGoods
();
storeGoods
.
setId
(
id
);
...
...
@@ -56,6 +73,7 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService {
baseMapper
.
updateById
(
storeGoods
);
return
storeGoodsVo
;
}
/**
* 查询商品列表
*/
...
...
@@ -63,6 +81,21 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService {
public
TableDataInfo
<
StoreGoodsVo
>
queryPageList
(
StoreGoodsBo
bo
,
PageQuery
pageQuery
)
{
LambdaQueryWrapper
<
StoreGoods
>
lqw
=
buildQueryWrapper
(
bo
);
Page
<
StoreGoodsVo
>
result
=
baseMapper
.
selectVoPage
(
pageQuery
.
build
(),
lqw
);
Optional
.
ofNullable
(
result
.
getRecords
()).
ifPresent
(
storeGoodsVos
->
{
storeGoodsVos
.
forEach
(
storeGoodsVo
->
{
if
(
StringUtils
.
isNotBlank
(
storeGoodsVo
.
getTags
()))
{
List
<
Integer
>
ids
=
JsonUtils
.
parseArray
(
storeGoodsVo
.
getTags
(),
Integer
.
class
);
//查询商品标签
storeGoodsVo
.
setList
(
goodsTagMapper
.
selectVoList
(
new
LambdaQueryWrapper
<
StoreGoodsTag
>().
in
(
StoreGoodsTag:
:
getId
,
ids
)));
}
if
(
null
!=
storeGoodsVo
.
getCategoryId
())
{
Optional
.
ofNullable
(
storeGoodsCategoryMapper
.
selectVoById
(
storeGoodsVo
.
getCategoryId
()))
.
ifPresent
(
storeGoodsCategoryVo
->
{
storeGoodsVo
.
setTypeName
(
storeGoodsCategoryVo
.
getTitle
());
});
}
});
});
return
TableDataInfo
.
build
(
result
);
}
...
...
@@ -85,12 +118,12 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService {
//查询所有商户分类
List
<
StoreApplyVo
>
storeApplies
=
storeApplyMapper
.
selectVoList
(
new
LambdaQueryWrapper
<
StoreApply
>().
eq
(
StoreApply:
:
getStatus
,
1
)
new
LambdaQueryWrapper
<
StoreApply
>().
eq
(
StoreApply:
:
getStatus
,
1
)
);
//查询商户下面的商品
for
(
StoreApplyVo
storeApply
:
storeApplies
)
{
storeApply
.
setStoreGoodsVo
(
baseMapper
.
selectVoList
(
new
LambdaQueryWrapper
<
StoreGoods
>()
.
eq
(
StoreGoods:
:
getStoreId
,
storeApply
.
getId
())));
.
eq
(
StoreGoods:
:
getStoreId
,
storeApply
.
getId
())));
}
return
storeApplies
;
}
...
...
@@ -110,7 +143,6 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService {
lqw
.
eq
(
bo
.
getCityId
()
!=
null
,
StoreGoods:
:
getCityId
,
bo
.
getCityId
());
lqw
.
eq
(
bo
.
getStoreId
()
!=
null
,
StoreGoods:
:
getStoreId
,
bo
.
getStoreId
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getTitle
()),
StoreGoods:
:
getTitle
,
bo
.
getTitle
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getTags
()),
StoreGoods:
:
getTags
,
bo
.
getTags
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getPrice
()),
StoreGoods:
:
getPrice
,
bo
.
getPrice
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getSalePrice
()),
StoreGoods:
:
getSalePrice
,
bo
.
getSalePrice
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getSmallCover
()),
StoreGoods:
:
getSmallCover
,
bo
.
getSmallCover
());
...
...
@@ -129,7 +161,10 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService {
@Override
public
Boolean
insertByBo
(
StoreGoodsBo
bo
)
{
StoreGoods
add
=
BeanUtil
.
toBean
(
bo
,
StoreGoods
.
class
);
validEntityBeforeSave
(
add
);
if
(
CollectionUtils
.
isNotEmpty
(
bo
.
getTagIds
()))
{
String
tags
=
JsonUtils
.
toJsonString
(
bo
.
getTagIds
());
add
.
setTags
(
tags
);
}
boolean
flag
=
baseMapper
.
insert
(
add
)
>
0
;
if
(
flag
)
{
bo
.
setId
(
add
.
getId
());
...
...
@@ -143,14 +178,17 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService {
@Override
public
Boolean
updateByBo
(
StoreGoodsBo
bo
)
{
StoreGoods
update
=
BeanUtil
.
toBean
(
bo
,
StoreGoods
.
class
);
validEntityBeforeSave
(
update
);
if
(
CollectionUtils
.
isNotEmpty
(
bo
.
getTagIds
()))
{
String
tags
=
JsonUtils
.
toJsonString
(
bo
.
getTagIds
());
update
.
setTags
(
tags
);
}
return
baseMapper
.
updateById
(
update
)
>
0
;
}
/**
* 保存前的数据校验
*/
private
void
validEntityBeforeSave
(
StoreGoods
entity
){
private
void
validEntityBeforeSave
(
StoreGoods
entity
)
{
//TODO 做一些数据校验,如唯一约束
}
...
...
@@ -159,7 +197,7 @@ public class StoreGoodsServiceImpl implements IStoreGoodsService {
*/
@Override
public
Boolean
deleteWithValidByIds
(
Collection
<
Integer
>
ids
,
Boolean
isValid
)
{
if
(
isValid
)
{
if
(
isValid
)
{
//TODO 做一些业务上的校验,判断是否需要校验
}
return
baseMapper
.
deleteBatchIds
(
ids
)
>
0
;
...
...
pz-system/src/main/java/com/pz/system/service/impl/StoreGoodsTagServiceImpl.java
0 → 100644
View file @
926c3aaf
package
com
.
pz
.
system
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.baomidou.mybatisplus.core.toolkit.StringUtils
;
import
com.pz.common.core.page.TableDataInfo
;
import
com.pz.common.core.domain.PageQuery
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Service
;
import
com.pz.system.domain.bo.StoreGoodsTagBo
;
import
com.pz.system.domain.vo.StoreGoodsTagVo
;
import
com.pz.system.domain.StoreGoodsTag
;
import
com.pz.system.mapper.StoreGoodsTagMapper
;
import
com.pz.system.service.IStoreGoodsTagService
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Collection
;
/**
* 商品标签Service业务层处理
*
* @author ruoyi
* @date 2023-09-12
*/
@RequiredArgsConstructor
@Service
public
class
StoreGoodsTagServiceImpl
implements
IStoreGoodsTagService
{
private
final
StoreGoodsTagMapper
baseMapper
;
/**
* 查询商品标签
*/
@Override
public
StoreGoodsTagVo
queryById
(
Integer
id
){
return
baseMapper
.
selectVoById
(
id
);
}
/**
* 查询商品标签列表
*/
@Override
public
TableDataInfo
<
StoreGoodsTagVo
>
queryPageList
(
StoreGoodsTagBo
bo
,
PageQuery
pageQuery
)
{
LambdaQueryWrapper
<
StoreGoodsTag
>
lqw
=
buildQueryWrapper
(
bo
);
Page
<
StoreGoodsTagVo
>
result
=
baseMapper
.
selectVoPage
(
pageQuery
.
build
(),
lqw
);
return
TableDataInfo
.
build
(
result
);
}
/**
* 查询商品标签列表
*/
@Override
public
List
<
StoreGoodsTagVo
>
queryList
(
StoreGoodsTagBo
bo
)
{
LambdaQueryWrapper
<
StoreGoodsTag
>
lqw
=
buildQueryWrapper
(
bo
);
return
baseMapper
.
selectVoList
(
lqw
);
}
private
LambdaQueryWrapper
<
StoreGoodsTag
>
buildQueryWrapper
(
StoreGoodsTagBo
bo
)
{
Map
<
String
,
Object
>
params
=
bo
.
getParams
();
LambdaQueryWrapper
<
StoreGoodsTag
>
lqw
=
Wrappers
.
lambdaQuery
();
lqw
.
eq
(
bo
.
getStoreId
()
!=
null
,
StoreGoodsTag:
:
getStoreId
,
bo
.
getStoreId
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getTitle
()),
StoreGoodsTag:
:
getTitle
,
bo
.
getTitle
());
return
lqw
;
}
/**
* 新增商品标签
*/
@Override
public
Boolean
insertByBo
(
StoreGoodsTagBo
bo
)
{
StoreGoodsTag
add
=
BeanUtil
.
toBean
(
bo
,
StoreGoodsTag
.
class
);
validEntityBeforeSave
(
add
);
boolean
flag
=
baseMapper
.
insert
(
add
)
>
0
;
if
(
flag
)
{
bo
.
setId
(
add
.
getId
());
}
return
flag
;
}
/**
* 修改商品标签
*/
@Override
public
Boolean
updateByBo
(
StoreGoodsTagBo
bo
)
{
StoreGoodsTag
update
=
BeanUtil
.
toBean
(
bo
,
StoreGoodsTag
.
class
);
validEntityBeforeSave
(
update
);
return
baseMapper
.
updateById
(
update
)
>
0
;
}
/**
* 保存前的数据校验
*/
private
void
validEntityBeforeSave
(
StoreGoodsTag
entity
){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除商品标签
*/
@Override
public
Boolean
deleteWithValidByIds
(
Collection
<
Integer
>
ids
,
Boolean
isValid
)
{
if
(
isValid
){
//TODO 做一些业务上的校验,判断是否需要校验
}
return
baseMapper
.
deleteBatchIds
(
ids
)
>
0
;
}
}
pz-system/src/main/java/com/pz/system/service/impl/StoreInfoServiceImpl.java
View file @
926c3aaf
...
...
@@ -72,7 +72,7 @@ public class StoreInfoServiceImpl implements IStoreInfoService {
private
LambdaQueryWrapper
<
StoreInfo
>
buildQueryWrapper
(
StoreInfoBo
bo
)
{
Map
<
String
,
Object
>
params
=
bo
.
getParams
();
LambdaQueryWrapper
<
StoreInfo
>
lqw
=
Wrappers
.
lambdaQuery
();
lqw
.
eq
(
bo
.
get
StoreId
()
!=
null
,
StoreInfo:
:
getStoreId
,
bo
.
getStoreI
d
());
lqw
.
eq
(
bo
.
get
Uid
()
!=
null
,
StoreInfo:
:
getUid
,
bo
.
getUi
d
());
lqw
.
like
(
StringUtils
.
isNotBlank
(
bo
.
getName
()),
StoreInfo:
:
getName
,
bo
.
getName
());
lqw
.
eq
(
bo
.
getCityId
()
!=
null
,
StoreInfo:
:
getCityId
,
bo
.
getCityId
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getTel
()),
StoreInfo:
:
getTel
,
bo
.
getTel
());
...
...
pz-system/src/main/java/com/pz/system/service/impl/StoreOrderServiceImpl.java
View file @
926c3aaf
...
...
@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import
com.pz.system.domain.vo.StoreAdminOrderVo
;
import
com.pz.system.mapper.CityMapper
;
import
com.pz.system.mapper.TotalOrderMapper
;
import
com.pz.system.mapper.UserAddressMapper
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Service
;
import
com.pz.system.domain.bo.StoreOrderBo
;
...
...
@@ -39,6 +40,8 @@ public class StoreOrderServiceImpl implements IStoreOrderService {
private
final
CityMapper
cityMapper
;
private
final
UserAddressMapper
userAddressMapper
;
/**
* 查询商城订单
*/
...
...
@@ -53,6 +56,11 @@ public class StoreOrderServiceImpl implements IStoreOrderService {
@Override
public
TableDataInfo
<
StoreAdminOrderVo
>
queryPageList
(
StoreOrderBo
bo
,
PageQuery
pageQuery
)
{
Page
<
StoreAdminOrderVo
>
result
=
baseMapper
.
findStoreAdminOrderVoPage
(
pageQuery
.
build
(),
bo
);
Optional
.
ofNullable
(
result
.
getRecords
()).
ifPresent
(
storeAdminOrderVos
->
{
storeAdminOrderVos
.
forEach
(
storeAdminOrderVo
->
{
storeAdminOrderVo
.
setUserAddressVo
(
userAddressMapper
.
selectVoById
(
storeAdminOrderVo
.
getAddressId
()));
});
});
return
TableDataInfo
.
build
(
result
);
}
...
...
pz-system/src/main/resources/mapper/merchant/CompanyMapper.xml
View file @
926c3aaf
...
...
@@ -26,5 +26,44 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result
property=
"delFlag"
column=
"del_flag"
/>
</resultMap>
<select
id=
"selectCompanyDataForApp"
resultType=
"com.pz.merchant.domain.vo.CompanyAppVo"
>
select company.name,
company.phone,
company.address,
company.status,
company.business_license,
user.avatar
from company
left join sys_user as user on user.user_id = company.uid
where company.id = #{id}
</select>
<select
id=
"selectFinanceStatistic"
resultType=
"java.math.BigDecimal"
>
select ifnull(sum(ifnull(divide_price, 0)),0)
from employees_divide
where company_id = #{id} and to_days(current_date) = to_days(create_time);
</select>
<select
id=
"selectAllOrder"
resultType=
"com.pz.merchant.domain.vo.FinanceOrderInfoVo"
>
select total_order.id as orderId,
total_order.status as orderStatus,
services.name as project,
employees.name as emName,
services.cover,
services.price,
CONVERT((1 - services.fenmo / 100), decimal(10, 2)) *
CONVERT(services.price, decimal(10, 2)) as commission,
services.bid
from total_order
left join employees on employees.id = total_order.em_id
left join services on total_order.service_id = services.id
<where>
and total_order.business_id != 0
<if
test=
"ew.emptyOfWhere == false"
>
and ${ew.sqlSegment}
</if>
</where>
</select>
</mapper>
pz-system/src/main/resources/mapper/system/DbghOrderMapper.xml
View file @
926c3aaf
...
...
@@ -46,9 +46,9 @@
LEFT JOIN department AS d ON d.id = yyod.did
LEFT JOIN services AS s ON s.id = tlo.service_id
LEFT JOIN employees AS e ON e.id = tlo.em_id
<!-- <if test="bo.orderSn != null and bo.orderSn != ''">--
>
<!-- where tlo.order_sn LIKE CONCAT('%', #{bo.orderSn}, '%')-->
<!-- </if>--
>
<if
test=
"bo.orderSn != null and bo.orderSn != ''"
>
where tlo.order_sn LIKE CONCAT('%', #{bo.orderSn}, '%')
</if
>
</select>
<select
id=
"selectSonOrderInfoByTotalId"
resultType=
"com.pz.merchant.domain.vo.SonOrderVo"
>
...
...
pz-system/src/main/resources/mapper/system/DbmyOrderMapper.xml
View file @
926c3aaf
...
...
@@ -50,6 +50,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN city AS c ON c.id = tlo.city_id
LEFT JOIN services AS s ON s.id = tlo.service_id
LEFT JOIN employees AS e ON e.id = tlo.em_id
<if
test=
"bo.orderSn != null and bo.orderSn != ''"
>
where tlo.order_sn LIKE CONCAT('%', #{bo.orderSn}, '%')
</if>
</select>
<select
id=
"selectSonOrderInfoByTotalId"
resultType=
"com.pz.merchant.domain.vo.SonOrderVo"
>
...
...
pz-system/src/main/resources/mapper/system/IncomeMapper.xml
0 → 100644
View file @
926c3aaf
<?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.pz.system.mapper.IncomeMapper"
>
<select
id=
"selectCompanyIncome"
resultType=
"com.pz.merchant.domain.vo.CompanyIncomeVo"
>
select partner_trade_no,
amount,
remark,
update_time
from income
<where>
user_type = 2
<if
test=
"ew.emptyOfWhere == false"
>
and ${ew.sqlSegment}
</if>
</where>
</select>
</mapper>
pz-system/src/main/resources/mapper/system/StoreIncomeMapper.xml
View file @
926c3aaf
...
...
@@ -24,6 +24,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"bo.storeName != null and bo.storeName != ''"
>
where sin.name LIKE CONCAT('%', #{bo.storeName}, '%')
</if>
<if
test=
"bo.storeId != null"
>
where si.store_id = #{storeId}
</if>
</select>
...
...
pz-system/src/main/resources/mapper/system/StoreOrderMapper.xml
View file @
926c3aaf
<?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">
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.pz.system.mapper.StoreOrderMapper"
>
<resultMap
type=
"com.pz.system.domain.StoreOrder"
id=
"StoreOrderResult"
>
...
...
@@ -26,25 +26,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<select
id=
"findStoreAdminOrderVoPage"
resultType=
"com.pz.system.domain.vo.StoreAdminOrderVo"
>
SELECT
c.NAME AS cityName,
sg.title AS title,
so.num AS num,
tao.pay_money payMoney,
si.name AS sName,
su.user_name AS userName,
so.`status` AS orderStatus,
so.create_time AS createTime,
tao.status as toStatus
c.NAME AS cityName,
sg.title AS title,
so.num AS num,
tao.pay_money payMoney,
si.name AS sName,
su.user_name AS userName,
so.`status` AS orderStatus,
so.create_time AS createTime,
tao.status as toStatus,
so.address_id addressId,
so.logistics logistics,
so.logistics_code logisticsCode,
so.refund_logistics refundLogistics,
so.refund_logistics_code refundLogisticsCode
FROM
store_order AS so
LEFT JOIN total_order AS tao ON tao.id = so.order_id
LEFT JOIN city AS c ON c.id = tao.city_id
LEFT JOIN store_info AS si ON si.id = so.store_id
LEFT JOIN store_goods AS sg ON sg.id = so.goods_id
LEFT JOIN sys_user AS su ON su.user_id = tao.uid
<if
test=
"bo.title != null and bo.title != ''"
>
where sg.title LIKE CONCAT('%', #{bo.title}, '%')
</if>
store_order AS so
LEFT JOIN total_order AS tao ON tao.id = so.order_id
LEFT JOIN city AS c ON c.id = tao.city_id
LEFT JOIN store_info AS si ON si.id = so.store_id
LEFT JOIN store_goods AS sg ON sg.id = so.goods_id
LEFT JOIN sys_user AS su ON su.user_id = tao.uid
<where>
<if
test=
"bo.title != null and bo.title != ''"
>
and sg.title LIKE CONCAT('%', #{bo.title}, '%')
</if>
<if
test=
"bo.storeId != null"
>
and so.store_id = #{bo.storeId}
</if>
</where>
</select>
...
...
pz-system/src/main/resources/mapper/system/ZqghOrderMapper.xml
View file @
926c3aaf
...
...
@@ -47,9 +47,9 @@
LEFT JOIN department AS d ON d.id = yyod.did
LEFT JOIN doctor AS s ON s.id = yyod.doctor_id
LEFT JOIN sys_user as su on su.user_id = tlo.uid
<!-- <if test="bo.orderSn != null and bo.orderSn != ''">--
>
<!-- where tlo.order_sn LIKE CONCAT('%', #{bo.orderSn}, '%')-->
<!-- </if>--
>
<if
test=
"bo.orderSn != null and bo.orderSn != ''"
>
where tlo.order_sn LIKE CONCAT('%', #{bo.orderSn}, '%')
</if
>
</select>
...
...
pz-system/src/main/resources/mapper/system/ZyphOrderMapper.xml
View file @
926c3aaf
...
...
@@ -52,9 +52,9 @@
LEFT JOIN department AS d ON d.id = yyod.did
LEFT JOIN services AS s ON s.id = tlo.service_id
LEFT JOIN employees AS e ON e.id = tlo.em_id
<!-- <if test="bo.orderSn != null and bo.orderSn != ''">--
>
<!-- where tlo.order_sn LIKE CONCAT('%', #{bo.orderSn}, '%')-->
<!-- </if>--
>
<if
test=
"bo.orderSn != null and bo.orderSn != ''"
>
where tlo.order_sn LIKE CONCAT('%', #{bo.orderSn}, '%')
</if
>
</select>
<select
id=
"selectSonOrderInfoByTotalId"
resultType=
"com.pz.merchant.domain.vo.SonOrderVo"
>
...
...
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