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
a619bb4d
Commit
a619bb4d
authored
Sep 12, 2023
by
Wangmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增
1.查询所有陪诊员 2.查询陪诊员数据以及当日订单 3.查询陪诊员所有订单 4.切换陪诊员身份 5.冻结/解冻陪诊员账号
parent
34872f46
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
235 additions
and
62 deletions
+235
-62
pz-merchant/src/main/java/com/pz/merchant/controller/applet/CompanyController.java
+3
-32
pz-merchant/src/main/java/com/pz/merchant/controller/applet/EmployeesController.java
+102
-0
pz-merchant/src/main/java/com/pz/merchant/controller/pc/CompanyController.java
+1
-1
pz-system/src/main/java/com/pz/merchant/domain/bo/ModifyCompanyInfoBo.java
+11
-0
pz-system/src/main/java/com/pz/merchant/domain/vo/TodayOrderListVo.java
+5
-0
pz-system/src/main/java/com/pz/merchant/mapper/EmployeesMapper.java
+6
-5
pz-system/src/main/java/com/pz/merchant/service/IEmployeesService.java
+20
-3
pz-system/src/main/java/com/pz/merchant/service/impl/EmployeesServiceImpl.java
+69
-4
pz-system/src/main/resources/mapper/merchant/EmployeesMapper.xml
+18
-17
No files found.
pz-merchant/src/main/java/com/pz/merchant/controller/applet/CompanyController.java
View file @
a619bb4d
...
...
@@ -11,6 +11,7 @@ import com.pz.merchant.domain.bo.SetEmployeeWorkingHourBo;
import
com.pz.merchant.domain.vo.EmployeesListVo
;
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
;
...
...
@@ -25,42 +26,12 @@ import org.springframework.web.bind.annotation.*;
@Validated
@RestController
(
"AppCompanyController"
)
@RequestMapping
(
"/merchant/app/company"
)
@RequiredArgsConstructor
@SaIgnore
public
class
CompanyController
extends
BaseController
{
private
ICompanyService
companyService
;
private
final
ICompanyService
companyService
;
private
IEmployeesService
employeesService
;
@Autowired
@Qualifier
(
"merchantCompanyService"
)
public
void
setCompanyService
(
ICompanyService
companyService
)
{
this
.
companyService
=
companyService
;
}
@Autowired
@Qualifier
(
"merchantEmployeesService"
)
public
void
setEmployeesService
(
IEmployeesService
employeesService
)
{
this
.
employeesService
=
employeesService
;
}
/**
* 查询陪诊员列表
*/
@GetMapping
(
"/employee/list"
)
public
TableDataInfo
<
EmployeesListVo
>
employeesList
(
EmployeesListBo
bo
,
PageQuery
pageQuery
)
{
return
employeesService
.
employeesList
(
bo
,
pageQuery
);
}
/**
* 设置员工工作时间段
*
* @param bo 员工参数信息
* @return 操作结果
*/
@PutMapping
(
"/employee/setWorkHour"
)
public
R
<
Boolean
>
setEmployeesWorkHour
(
@RequestBody
@Validated
(
EditGroup
.
class
)
SetEmployeeWorkingHourBo
bo
)
{
return
R
.
ok
(
employeesService
.
setEmployeesWorkHours
(
bo
));
}
}
pz-merchant/src/main/java/com/pz/merchant/controller/applet/EmployeesController.java
0 → 100644
View file @
a619bb4d
package
com
.
pz
.
merchant
.
controller
.
applet
;
import
cn.dev33.satoken.annotation.SaIgnore
;
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.common.helper.LoginHelper
;
import
com.pz.merchant.domain.bo.EmployeesListBo
;
import
com.pz.merchant.domain.bo.OrderBo
;
import
com.pz.merchant.domain.bo.SetEmployeeWorkingHourBo
;
import
com.pz.merchant.domain.vo.EmployeesListVo
;
import
com.pz.merchant.domain.vo.OrderInfoVO
;
import
com.pz.merchant.domain.vo.TodayOrderListVo
;
import
com.pz.merchant.service.IEmployeesService
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotNull
;
/**
* 商户[小程序]
*
* @author WangMin
* @date 2023-09-11
*/
@Validated
@RequiredArgsConstructor
@RestController
(
"AppEmployeesController"
)
@RequestMapping
(
"/merchant/app/employees"
)
public
class
EmployeesController
extends
BaseController
{
private
final
IEmployeesService
employeesService
;
/**
* 查询陪诊员列表
*/
@GetMapping
(
"/list"
)
public
TableDataInfo
<
EmployeesListVo
>
employeesList
(
EmployeesListBo
bo
,
PageQuery
pageQuery
)
{
return
employeesService
.
employeesList
(
bo
,
pageQuery
);
}
/**
* 设置员工工作时间段
*
* @param bo 员工参数信息
* @return 操作结果
*/
@PutMapping
(
"/setWorkHour"
)
public
R
<
Boolean
>
setEmployeesWorkHour
(
@RequestBody
@Validated
(
EditGroup
.
class
)
SetEmployeeWorkingHourBo
bo
)
{
return
R
.
ok
(
employeesService
.
setEmployeesWorkHours
(
bo
));
}
/**
* 查询员工详情及今日订单数据
*
* @param emId 员工ID
*/
@GetMapping
(
"/detail"
)
public
R
<
TodayOrderListVo
>
getEmployeeTodayData
(
@NotNull
(
message
=
"员工ID不能为空"
)
Integer
emId
)
{
return
R
.
ok
(
employeesService
.
queryEmployeesInfo
(
emId
));
}
/**
* 查询员工所有订单
*
* @param bo 筛选条件
* @param pageQuery 分页
* @return 订单列表
*/
@GetMapping
(
"/order/list"
)
public
TableDataInfo
<
OrderInfoVO
>
getAllOrders
(
OrderBo
bo
,
PageQuery
pageQuery
)
{
return
employeesService
.
queryAllOrder
(
bo
,
pageQuery
);
}
/**
* 切换用户 身份
*
* @param emId 陪诊员ID
* @return 切换用户身份结果
*/
@GetMapping
(
"/switchIdentity"
)
public
R
<
Boolean
>
switchIdentity
(
@NotNull
(
message
=
"陪诊员ID不能为空"
)
Integer
emId
)
{
return
R
.
ok
(
employeesService
.
switchEmployeeIdentity
(
emId
));
}
/**
* 切换用户状态
*
* @param emId 陪诊员ID
* @return 切换用户状态结果
*/
@GetMapping
(
"/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/pc/CompanyController.java
View file @
a619bb4d
...
...
@@ -24,7 +24,7 @@ import com.pz.common.enums.BusinessType;
import
com.pz.common.utils.poi.ExcelUtil
;
/**
* 商户
* 商户
[PC端]
*
* @author WangMin
* @date 2023-09-11
...
...
pz-system/src/main/java/com/pz/merchant/domain/bo/ModifyCompanyInfoBo.java
0 → 100644
View file @
a619bb4d
package
com
.
pz
.
merchant
.
domain
.
bo
;
/**
* <p>created in 2023/9/12 14:11
*
* @author WangMin
* @version 1.0
*/
public
class
ModifyCompanyInfoBo
{
}
pz-system/src/main/java/com/pz/merchant/domain/vo/TodayOrderListVo.java
View file @
a619bb4d
...
...
@@ -55,6 +55,11 @@ public class TodayOrderListVo {
private
Integer
todayOrderNum
;
/**
* 陪诊员状态 1-正常,2禁用,0-审核中
*/
private
Integer
status
;
/**
* 今日订单列表
*/
private
List
<
OrderInfoVO
>
todayOrderList
;
...
...
pz-system/src/main/java/com/pz/merchant/mapper/EmployeesMapper.java
View file @
a619bb4d
...
...
@@ -41,13 +41,14 @@ public interface EmployeesMapper extends BaseMapperPlus<EmployeesMapper, Employe
*/
TodayOrderListVo
selectEmployeesInfoById
(
@Param
(
"id"
)
Integer
emId
);
/**
* 员工今日订单
*
* @param emId 员工Id
* @return 订单列表
* 查询订单
* @param queryWrapper 查询条件
* @return 订单
*/
List
<
OrderInfoVO
>
selectTodayOrderByEid
(
@Param
(
"id"
)
Integer
emId
);
IPage
<
OrderInfoVO
>
selectOrder
(
IPage
<
EmployeesListBo
>
page
,
@Param
(
Constants
.
WRAPPER
)
Wrapper
<
Employees
>
queryWrapper
);
Page
<
EmployeesVo
>
selectEmployees
(
EmployeesBo
bo
,
PageQuery
pageQuery
);
...
...
pz-system/src/main/java/com/pz/merchant/service/IEmployeesService.java
View file @
a619bb4d
...
...
@@ -2,6 +2,7 @@ package com.pz.merchant.service;
import
com.pz.merchant.domain.Employees
;
import
com.pz.merchant.domain.bo.EmployeesListBo
;
import
com.pz.merchant.domain.bo.OrderBo
;
import
com.pz.merchant.domain.bo.SetEmployeeWorkingHourBo
;
import
com.pz.merchant.domain.vo.EmployeesListVo
;
import
com.pz.merchant.domain.vo.EmployeesVo
;
...
...
@@ -71,12 +72,12 @@ public interface IEmployeesService {
TodayOrderListVo
queryEmployeesInfo
(
Integer
emId
);
/**
*
员工今日
订单
*
查询所有
订单
*
* @param
emId 员工Id
* @param
bo 查询条件
* @return 订单列表
*/
List
<
OrderInfoVO
>
queryTodayOrders
(
Integer
emId
);
TableDataInfo
<
OrderInfoVO
>
queryAllOrder
(
OrderBo
bo
,
PageQuery
pageQuery
);
/**
* 排行榜
...
...
@@ -92,4 +93,20 @@ public interface IEmployeesService {
* 查询陪诊员
*/
EmployeesVo
queryByApp
(
Integer
id
);
/**
* 切换陪诊员身份
*
* @param emId 陪诊员Id
* @return 操作结果
*/
boolean
switchEmployeeIdentity
(
Integer
emId
);
/**
* 冻结/解冻陪诊员
*
* @param emId 陪诊员Id
* @return 操作结果
*/
boolean
disableOrRecover
(
Integer
emId
);
}
pz-system/src/main/java/com/pz/merchant/service/impl/EmployeesServiceImpl.java
View file @
a619bb4d
...
...
@@ -5,13 +5,16 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.dtflys.forest.annotation.Get
;
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.exception.ServiceException
;
import
com.pz.common.utils.StringUtils
;
import
com.pz.merchant.domain.bo.EmployeesListBo
;
import
com.pz.merchant.domain.bo.OrderBo
;
import
com.pz.merchant.domain.bo.SetEmployeeWorkingHourBo
;
import
com.pz.merchant.domain.vo.*
;
import
com.pz.merchant.mapper.CompanyMapper
;
...
...
@@ -26,6 +29,7 @@ import com.pz.merchant.domain.bo.EmployeesBo;
import
com.pz.merchant.domain.Employees
;
import
com.pz.merchant.mapper.EmployeesMapper
;
import
com.pz.merchant.service.IEmployeesService
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
java.util.*
;
...
...
@@ -200,6 +204,42 @@ public class EmployeesServiceImpl implements IEmployeesService {
}
/**
* 切换陪诊员用户身份
*
* @param emId 陪诊员Id
* @return 操作结果
*/
@Override
public
boolean
switchEmployeeIdentity
(
Integer
emId
)
{
EmployeesVo
employeesVo
=
baseMapper
.
selectVoById
(
emId
);
Objects
.
requireNonNull
(
employeesVo
,
"查无此人"
);
Integer
identity
=
employeesVo
.
getNowType
();
// 切换当前用户身份
Integer
modifyIdentity
=
identity
==
1
?
2
:
1
;
employeesVo
.
setNowType
(
modifyIdentity
);
return
baseMapper
.
updateById
(
BeanUtil
.
toBean
(
employeesVo
,
Employees
.
class
))
>
0
;
}
/**
* 冻结/解冻陪诊员账户
*
* @param emId 陪诊员Id
* @return 操作结果
*/
@Override
public
boolean
disableOrRecover
(
Integer
emId
)
{
EmployeesVo
employeesVo
=
baseMapper
.
selectVoById
(
emId
);
Objects
.
requireNonNull
(
employeesVo
,
"查无此人"
);
Integer
status
=
employeesVo
.
getStatus
();
if
(
status
==
0
)
{
throw
new
ServiceException
(
"该用户待审核通过,暂无法修改状态"
);
}
Integer
modifyStatus
=
status
==
1
?
2
:
1
;
employeesVo
.
setStatus
(
modifyStatus
);
return
baseMapper
.
updateById
(
BeanUtil
.
toBean
(
employeesVo
,
Employees
.
class
))
>
0
;
}
/**
* 保存前的数据校验
*/
private
void
validEntityBeforeSave
(
Employees
entity
)
{
...
...
@@ -231,7 +271,7 @@ public class EmployeesServiceImpl implements IEmployeesService {
}
/**
* 查询员工今日订单
* 查询员工
数据以及
今日订单
*
* @param emId 员工ID
* @return 今日订单数据信息
...
...
@@ -239,8 +279,12 @@ public class EmployeesServiceImpl implements IEmployeesService {
@Override
public
TodayOrderListVo
queryEmployeesInfo
(
Integer
emId
)
{
TodayOrderListVo
result
=
baseMapper
.
selectEmployeesInfoById
(
emId
);
List
<
OrderInfoVO
>
orders
=
baseMapper
.
selectTodayOrderByEid
(
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
);
IPage
<
OrderInfoVO
>
page
=
baseMapper
.
selectOrder
(
new
PageQuery
().
build
(),
query
);
// 根据不同子订单装载就诊人员信息和子订单状态
List
<
OrderInfoVO
>
orders
=
page
.
getRecords
();
orders
.
forEach
(
suborder
->
{
ISonOrderService
orderService
=
sonOrderServiceBuilder
.
getSonOrderService
(
suborder
.
getBid
());
SonOrderVo
orderStatus
;
...
...
@@ -254,8 +298,29 @@ public class EmployeesServiceImpl implements IEmployeesService {
return
result
;
}
/**
* 查询所有订单
*
* @param bo 查询条件
* @return 订单列表
*/
@Override
public
List
<
OrderInfoVO
>
queryTodayOrders
(
Integer
emId
)
{
return
null
;
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
());
IPage
<
OrderInfoVO
>
page
=
baseMapper
.
selectOrder
(
pageQuery
.
build
(),
query
);
// 根据不同子订单装载就诊人员信息和子订单状态
page
.
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
());
}
});
return
TableDataInfo
.
build
(
page
);
}
}
pz-system/src/main/resources/mapper/merchant/EmployeesMapper.xml
View file @
a619bb4d
...
...
@@ -47,6 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select employees.id as emId,
employees.name,
employees.working_hours,
employees.status,
year(current_date) - ifnull(employees.start_year, 0) as workYear,
employees.now_type,
user.avatar,
...
...
@@ -62,23 +63,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
group by employees.id
</select>
<select
id=
"selectTodayOrderByEid"
resultType=
"com.pz.merchant.domain.vo.OrderInfoVO"
>
select total_order.id as orderId,
total_order.status as orderStatus,
services.name as project,
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 services on total_order.service_id = services.id
<where>
date_format(total_order.create_time,'%Y-%m-%d')
<if
test=
"id != null and id > 0"
>
and total_order.id = #{id}
</if>
</where>
</select>
<select
id=
"selectEmployees"
resultType=
"com.pz.merchant.domain.vo.EmployeesVo"
>
SELECT e.id, s.avatar ,e.name,e.working_hours,(SUM(CASE WHEN o.is_satisfaction = 1 THEN 1 ELSE 0 END) / NULLIF(COUNT(o.is_satisfaction), 0)) * 100 AS satisfaction_rate
FROM employees e
...
...
@@ -112,5 +96,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
satisfaction_rate >= #{favorableRate};
</select>
<select
id=
"selectOrder"
resultType=
"com.pz.merchant.domain.vo.OrderInfoVO"
>
select total_order.id as orderId,
total_order.status as orderStatus,
services.name as project,
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 services on total_order.service_id = services.id
<where>
<if
test=
"ew.emptyOfWhere == false"
>
and ${ew.sqlSegment}
</if>
</where>
</select>
</mapper>
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