Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation
This project
Loading...
Sign in
zhangshaowu
/
pipi-helper
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 714b6e64
authored
Oct 16, 2022
by
liushuangwu
Browse Files
Options
Browse Files
Tag
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
2 parents
44dd2de1
b7d1d463
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
297 additions
and
16 deletions
pom.xml
src/main/java/com/pipihelper/project/controller/RosteringController.java
src/main/java/com/pipihelper/project/feishu/dao/RosteringStaffDao.java
src/main/java/com/pipihelper/project/feishu/entity/RosteringStaff.java
src/main/java/com/pipihelper/project/rostering/model/RosteringExportModel.java
src/main/java/com/pipihelper/project/rostering/service/RosteringService.java
src/main/java/com/pipihelper/project/rostering/service/impl/RosteringServiceImpl.java
src/main/java/com/pipihelper/project/utils/GraphicsGenerationUtil.java
src/main/resources/mybatis/RosteringStaffMapper.xml
src/main/resources/templates/massage-msg-card.json
src/test/java/CodeGenerator.java
pom.xml
View file @
714b6e6
...
@@ -191,6 +191,23 @@
...
@@ -191,6 +191,23 @@
<!-- <version>RELEASE</version>-->
<!-- <version>RELEASE</version>-->
<!-- <scope>compile</scope>-->
<!-- <scope>compile</scope>-->
<!-- </dependency>-->
<!-- </dependency>-->
<dependency>
<groupId>
cn.afterturn
</groupId>
<artifactId>
easypoi-base
</artifactId>
<version>
3.2.0
</version>
</dependency>
<dependency>
<groupId>
cn.afterturn
</groupId>
<artifactId>
easypoi-web
</artifactId>
<version>
3.2.0
</version>
</dependency>
<dependency>
<groupId>
cn.afterturn
</groupId>
<artifactId>
easypoi-annotation
</artifactId>
<version>
3.2.0
</version>
</dependency>
</dependencies>
</dependencies>
<build>
<build>
...
...
src/main/java/com/pipihelper/project/controller/RosteringController.java
View file @
714b6e6
package
com
.
pipihelper
.
project
.
controller
;
package
com
.
pipihelper
.
project
.
controller
;
import
cn.hutool.core.date.DateUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.pipihelper.project.core.Result
;
import
com.pipihelper.project.core.Result
;
import
com.pipihelper.project.core.ResultGenerator
;
import
com.pipihelper.project.core.ResultGenerator
;
import
com.pipihelper.project.rostering.model.DateRuleModel
;
import
com.pipihelper.project.rostering.model.DateRuleModel
;
import
com.pipihelper.project.rostering.model.RosteringExportModel
;
import
com.pipihelper.project.rostering.model.RosteringModel
;
import
com.pipihelper.project.rostering.model.RosteringModel
;
import
com.pipihelper.project.rostering.model.ShiftRuleModel
;
import
com.pipihelper.project.rostering.model.ShiftRuleModel
;
import
com.pipihelper.project.rostering.model.StaffRuleModel
;
import
com.pipihelper.project.rostering.model.StaffRuleModel
;
import
com.pipihelper.project.rostering.service.RosteringService
;
import
com.pipihelper.project.rostering.service.RosteringService
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.net.URLEncoder
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -28,6 +37,30 @@ public class RosteringController {
...
@@ -28,6 +37,30 @@ public class RosteringController {
@Autowired
@Autowired
private
RosteringService
rosteringService
;
private
RosteringService
rosteringService
;
@PostMapping
(
value
=
"list-staff"
)
public
Result
listStaff
()
{
return
ResultGenerator
.
genSuccessResult
(
rosteringService
.
findAllStaff
());
}
@GetMapping
(
value
=
"export"
)
public
void
listStaff
(
String
datas
,
String
date
,
HttpServletResponse
response
)
{
List
<
RosteringExportModel
>
rosteringModels
=
JSONObject
.
parseArray
(
datas
,
RosteringExportModel
.
class
);
Workbook
workbook
=
rosteringService
.
export
(
rosteringModels
);
try
{
String
fileName
=
DateUtil
.
format
(
DateUtil
.
parse
(
date
),
"yyyy-MM"
)
+
"rostering.xls"
;
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setHeader
(
"content-Type"
,
"application/vnd.ms-excel"
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment;filename="
+
URLEncoder
.
encode
(
fileName
,
"UTF-8"
));
workbook
.
write
(
response
.
getOutputStream
());
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
.
getMessage
());
}
}
@PostMapping
(
value
=
"gen"
)
@PostMapping
(
value
=
"gen"
)
public
Result
genRostering
(
@RequestParam
(
"month"
)
int
month
,
public
Result
genRostering
(
@RequestParam
(
"month"
)
int
month
,
@RequestParam
(
"shiftRuleModel"
)
String
shiftRuleModelStr
,
@RequestParam
(
"shiftRuleModel"
)
String
shiftRuleModelStr
,
...
@@ -40,4 +73,6 @@ public class RosteringController {
...
@@ -40,4 +73,6 @@ public class RosteringController {
return
ResultGenerator
.
genSuccessResult
(
rosteringService
.
gen
(
month
,
shiftRuleModels
,
staffRuleModels
,
dateRuleModels
));
return
ResultGenerator
.
genSuccessResult
(
rosteringService
.
gen
(
month
,
shiftRuleModels
,
staffRuleModels
,
dateRuleModels
));
}
}
}
}
src/main/java/com/pipihelper/project/feishu/dao/RosteringStaffDao.java
0 → 100644
View file @
714b6e6
package
com
.
pipihelper
.
project
.
feishu
.
dao
;
import
com.pipihelper.project.feishu.entity.RosteringStaff
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
java.util.List
;
import
java.util.Set
;
@Mapper
public
interface
RosteringStaffDao
{
List
<
RosteringStaff
>
findAll
();
List
<
RosteringStaff
>
findByNames
(
@RequestParam
(
"names"
)
Set
<
String
>
names
);
}
src/main/java/com/pipihelper/project/feishu/entity/RosteringStaff.java
0 → 100644
View file @
714b6e6
package
com
.
pipihelper
.
project
.
feishu
.
entity
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @author MYPC
*/
@Data
public
class
RosteringStaff
{
private
Integer
id
;
private
Date
createTime
;
private
Date
updateTime
;
private
String
department
;
private
String
dingId
;
private
String
jobNo
;
private
String
name
;
}
src/main/java/com/pipihelper/project/rostering/model/RosteringExportModel.java
0 → 100644
View file @
714b6e6
package
com
.
pipihelper
.
project
.
rostering
.
model
;
import
cn.afterturn.easypoi.excel.annotation.Excel
;
import
cn.hutool.core.date.DateUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @description:
* @author: zsw
* @create: 2022-10-14 16:52
**/
@Data
public
class
RosteringExportModel
{
private
String
department
;
private
String
dingId
;
private
String
jobNo
;
/**
* 名字
*/
private
String
name
;
/**
* 班次
*/
private
String
shift
;
/**
* 时间
*/
private
Date
date
;
/**
* 周
*/
private
String
week
;
public
static
void
main
(
String
[]
args
)
{
RosteringExportModel
model
=
new
RosteringExportModel
();
model
.
setDate
(
DateUtil
.
parse
(
"2022-10-16 00:00:00"
));
model
.
setName
(
"文潇"
);
model
.
setWeek
(
"周一"
);
model
.
setShift
(
"早班"
);
System
.
out
.
println
(
JSONObject
.
toJSONString
(
model
));
}
}
src/main/java/com/pipihelper/project/rostering/service/RosteringService.java
View file @
714b6e6
package
com
.
pipihelper
.
project
.
rostering
.
service
;
package
com
.
pipihelper
.
project
.
rostering
.
service
;
import
com.pipihelper.project.feishu.entity.RosteringStaff
;
import
com.pipihelper.project.rostering.model.DateRuleModel
;
import
com.pipihelper.project.rostering.model.DateRuleModel
;
import
com.pipihelper.project.rostering.model.RosteringExportModel
;
import
com.pipihelper.project.rostering.model.StaffRuleModel
;
import
com.pipihelper.project.rostering.model.StaffRuleModel
;
import
com.pipihelper.project.rostering.model.RosteringModel
;
import
com.pipihelper.project.rostering.model.RosteringModel
;
import
com.pipihelper.project.rostering.model.ShiftRuleModel
;
import
com.pipihelper.project.rostering.model.ShiftRuleModel
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
java.util.List
;
import
java.util.List
;
...
@@ -14,6 +17,12 @@ import java.util.List;
...
@@ -14,6 +17,12 @@ import java.util.List;
**/
**/
public
interface
RosteringService
{
public
interface
RosteringService
{
Workbook
export
(
List
<
RosteringExportModel
>
rosteringModels
);
List
<
RosteringStaff
>
findAllStaff
();
/**
/**
* 生成班次
* 生成班次
*
*
...
...
src/main/java/com/pipihelper/project/rostering/service/impl/RosteringServiceImpl.java
View file @
714b6e6
package
com
.
pipihelper
.
project
.
rostering
.
service
.
impl
;
package
com
.
pipihelper
.
project
.
rostering
.
service
.
impl
;
import
cn.afterturn.easypoi.excel.ExcelExportUtil
;
import
cn.afterturn.easypoi.excel.entity.ExportParams
;
import
cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.BooleanUtil
;
import
cn.hutool.core.util.BooleanUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.RandomUtil
;
import
cn.hutool.core.util.RandomUtil
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.pipihelper.project.feishu.dao.RosteringStaffDao
;
import
com.pipihelper.project.feishu.entity.RosteringStaff
;
import
com.pipihelper.project.rostering.model.DateRuleModel
;
import
com.pipihelper.project.rostering.model.DateRuleModel
;
import
com.pipihelper.project.rostering.model.RosteringExportModel
;
import
com.pipihelper.project.rostering.model.RosteringModel
;
import
com.pipihelper.project.rostering.model.RosteringModel
;
import
com.pipihelper.project.rostering.model.ShiftRuleModel
;
import
com.pipihelper.project.rostering.model.ShiftRuleModel
;
import
com.pipihelper.project.rostering.model.StaffRuleModel
;
import
com.pipihelper.project.rostering.model.StaffRuleModel
;
import
com.pipihelper.project.rostering.service.RosteringService
;
import
com.pipihelper.project.rostering.service.RosteringService
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Calendar
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Optional
;
import
java.util.Optional
;
import
java.util.Set
;
import
java.util.function.Function
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -32,6 +40,87 @@ import java.util.stream.Collectors;
...
@@ -32,6 +40,87 @@ import java.util.stream.Collectors;
@Service
@Service
public
class
RosteringServiceImpl
implements
RosteringService
{
public
class
RosteringServiceImpl
implements
RosteringService
{
@Autowired
private
RosteringStaffDao
rosteringStaffDao
;
@Override
public
Workbook
export
(
List
<
RosteringExportModel
>
rosteringModels
)
{
Set
<
String
>
names
=
rosteringModels
.
stream
().
map
(
RosteringExportModel:
:
getName
).
collect
(
Collectors
.
toSet
());
Map
<
String
,
RosteringStaff
>
rosteringStaffMap
=
Optional
.
ofNullable
(
rosteringStaffDao
.
findByNames
(
names
))
.
orElse
(
Lists
.
newArrayList
())
.
stream
()
.
collect
(
Collectors
.
toMap
(
RosteringStaff:
:
getName
,
Function
.
identity
()));
Map
<
String
,
List
<
RosteringExportModel
>>
dataMap
=
rosteringModels
.
stream
().
collect
(
Collectors
.
groupingBy
(
RosteringExportModel:
:
getName
));
List
<
ExcelExportEntity
>
colList
=
new
ArrayList
<>();
ExcelExportEntity
departmentCol
=
new
ExcelExportEntity
();
departmentCol
.
setName
(
"部门"
);
departmentCol
.
setKey
(
"department"
);
departmentCol
.
setOrderNum
(
1
);
colList
.
add
(
departmentCol
);
ExcelExportEntity
dingIdCol
=
new
ExcelExportEntity
();
dingIdCol
.
setName
(
"用户ID"
);
dingIdCol
.
setKey
(
"dingId"
);
dingIdCol
.
setOrderNum
(
2
);
colList
.
add
(
dingIdCol
);
ExcelExportEntity
jobNoCol
=
new
ExcelExportEntity
();
jobNoCol
.
setName
(
"工号"
);
jobNoCol
.
setKey
(
"jobNo"
);
jobNoCol
.
setOrderNum
(
3
);
colList
.
add
(
jobNoCol
);
ExcelExportEntity
nameCol
=
new
ExcelExportEntity
();
nameCol
.
setName
(
"姓名"
);
nameCol
.
setKey
(
"name"
);
nameCol
.
setOrderNum
(
4
);
colList
.
add
(
nameCol
);
List
<
String
>
dates
=
rosteringModels
.
stream
().
map
(
e
->
{
String
dateStr
=
DateUtil
.
format
(
e
.
getDate
(),
"yyyy/MM/dd"
);
return
dateStr
+
e
.
getWeek
();
}).
collect
(
Collectors
.
toList
());
for
(
int
i
=
0
;
i
<
dates
.
size
();
i
++)
{
int
orderNum
=
i
+
5
;
String
name
=
dates
.
get
(
i
);
ExcelExportEntity
excelExportEntity
=
new
ExcelExportEntity
();
excelExportEntity
.
setName
(
name
);
excelExportEntity
.
setKey
(
name
);
excelExportEntity
.
setOrderNum
(
orderNum
);
colList
.
add
(
excelExportEntity
);
}
List
<
Map
>
datas
=
new
ArrayList
<>();
dataMap
.
forEach
((
k
,
v
)
->
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"name"
,
k
);
RosteringStaff
rosteringStaff
=
rosteringStaffMap
.
get
(
k
);
map
.
put
(
"department"
,
rosteringStaff
.
getDepartment
());
map
.
put
(
"dingId"
,
rosteringStaff
.
getDingId
());
map
.
put
(
"jobNo"
,
rosteringStaff
.
getJobNo
());
v
.
forEach
(
e
->
{
String
dateStr
=
DateUtil
.
format
(
e
.
getDate
(),
"yyyy/MM/dd"
);
String
date
=
dateStr
+
e
.
getWeek
();
map
.
put
(
date
,
e
.
getShift
());
datas
.
add
(
map
);
});
});
return
ExcelExportUtil
.
exportExcel
(
new
ExportParams
(),
colList
,
datas
);
}
@Override
public
List
<
RosteringStaff
>
findAllStaff
()
{
return
rosteringStaffDao
.
findAll
();
}
@Override
@Override
public
List
<
RosteringModel
>
gen
(
int
month
,
public
List
<
RosteringModel
>
gen
(
int
month
,
List
<
ShiftRuleModel
>
shiftRuleModels
,
List
<
ShiftRuleModel
>
shiftRuleModels
,
...
@@ -136,7 +225,7 @@ public class RosteringServiceImpl implements RosteringService {
...
@@ -136,7 +225,7 @@ public class RosteringServiceImpl implements RosteringService {
private
ShiftRuleModel
getByShiftRule
(
List
<
ShiftRuleModel
>
shiftRuleModels
,
List
<
ShiftRuleModel
>
currentShifts
,
StaffRuleModel
staffRuleModel
)
{
private
ShiftRuleModel
getByShiftRule
(
List
<
ShiftRuleModel
>
shiftRuleModels
,
List
<
ShiftRuleModel
>
currentShifts
,
StaffRuleModel
staffRuleModel
)
{
//随机获取,当前排班为null 则代表是第一次排班
//随机获取,当前排班为null 则代表是第一次排班
if
(
CollectionUtil
.
isEmpty
(
currentShifts
))
{
if
(
CollectionUtil
.
isEmpty
(
currentShifts
))
{
return
getRandom
(
shiftRuleModels
.
stream
().
filter
(
e
->
BooleanUtil
.
isFalse
(
e
.
isRest
())).
collect
(
Collectors
.
toList
())
);
return
getRandom
(
shiftRuleModels
);
}
}
//获取最后一次分配的班次
//获取最后一次分配的班次
...
@@ -173,11 +262,13 @@ public class RosteringServiceImpl implements RosteringService {
...
@@ -173,11 +262,13 @@ public class RosteringServiceImpl implements RosteringService {
result
=
getRandom
(
shiftRuleModels
);
result
=
getRandom
(
shiftRuleModels
);
}
}
//
是否有休息并且
//
两个休息间的班次保证一致
if
(
BooleanUtil
.
isFalse
(
result
.
isRest
())
&&
BooleanUtil
.
isFalse
(
lastShift
.
isRest
()))
{
if
(
BooleanUtil
.
isFalse
(
result
.
isRest
())
&&
BooleanUtil
.
isFalse
(
lastShift
.
isRest
()))
{
result
=
shiftRuleModels
.
stream
()
result
=
shiftRuleModels
.
stream
()
.
filter
(
e
->
ObjectUtil
.
equal
(
e
.
getName
(),
lastShift
.
getName
()))
.
filter
(
e
->
ObjectUtil
.
equal
(
e
.
getName
(),
lastShift
.
getName
()))
.
findFirst
().
orElse
(
null
);
.
findFirst
()
.
orElse
(
null
);
}
}
return
result
;
return
result
;
}
}
...
@@ -191,7 +282,7 @@ public class RosteringServiceImpl implements RosteringService {
...
@@ -191,7 +282,7 @@ public class RosteringServiceImpl implements RosteringService {
if
(
currentShiftTimes
<
maxContinuity
)
{
if
(
currentShiftTimes
<
maxContinuity
)
{
return
lastShift
;
return
lastShift
;
}
}
List
<
String
>
maxContinuityFollows
=
lastShift
.
getMaxContinuityFollow
(
);
List
<
String
>
maxContinuityFollows
=
Optional
.
ofNullable
(
lastShift
.
getMaxContinuityFollow
()).
orElse
(
Lists
.
newArrayList
()
);
return
shiftRuleModels
.
stream
().
filter
(
e
->
maxContinuityFollows
.
contains
(
e
.
getName
())).
findFirst
().
orElse
(
null
);
return
shiftRuleModels
.
stream
().
filter
(
e
->
maxContinuityFollows
.
contains
(
e
.
getName
())).
findFirst
().
orElse
(
null
);
}
}
...
...
src/main/java/com/pipihelper/project/utils/GraphicsGenerationUtil.java
View file @
714b6e6
...
@@ -28,7 +28,7 @@ public class GraphicsGenerationUtil {
...
@@ -28,7 +28,7 @@ public class GraphicsGenerationUtil {
totalcol
=
data
.
get
(
0
).
size
();
totalcol
=
data
.
get
(
0
).
size
();
}
}
// 图片宽度
// 图片宽度
int
imageWidth
=
1024
;
int
imageWidth
=
750
;
// 行高
// 行高
int
rowheight
=
40
;
int
rowheight
=
40
;
// 图片高度
// 图片高度
...
...
src/main/resources/mybatis/RosteringStaffMapper.xml
0 → 100644
View file @
714b6e6
<?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.pipihelper.project.feishu.dao.RosteringStaffDao"
>
<resultMap
id=
"ResultMap"
type=
"com.pipihelper.project.feishu.entity.RosteringStaff"
>
<id
column=
"id"
property=
"id"
/>
<result
column=
"create_time"
property=
"createTime"
/>
<result
column=
"update_time"
property=
"updateTime"
/>
<result
column=
"department"
property=
"department"
/>
<result
column=
"ding_id"
property=
"dingId"
/>
<result
column=
"job_no"
property=
"jobNo"
/>
<result
column=
"name"
property=
"name"
/>
</resultMap>
<!-- <resultMap id="BuffConfigResultBOMap" type="com.pipihelper.project.feishu.entity.Deployee"
extends="EmployeeResultMap">
</resultMap>-->
<sql
id=
"Base_Column_List"
>
id,create_time,update_time,department,ding_id,job_no,name
</sql>
<select
id=
"findAll"
resultMap=
"ResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from t_rostering_staff
</select>
<select
id=
"findByNames"
resultMap=
"ResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from t_rostering_staff
where name in
<foreach
collection=
"names"
open=
"("
separator=
","
close=
")"
item=
"name"
>
#{name}
</foreach>
</select>
</mapper>
src/main/resources/templates/massage-msg-card.json
View file @
714b6e6
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
{
{
"tag"
:
"div"
,
"tag"
:
"div"
,
"text"
:
{
"text"
:
{
"content"
:
"1. 按摩时间15:00-17:30;
\n
2. 按摩时长每人15分钟,3人一组,按照图片顺序从上至下依次进行;
\n
3. 按完
请在自己的卡片上点击完成,系统会自动@下一位成员;4. 放弃请直接点击放弃,名额将会发送到大群秒杀,先到先得;
\n
5. 有事暂时来不了,可以推迟到最后;
\n
6. 轮到你的时候超过1分钟未确认,将自动调换至末尾,@下一位成员;
"
,
"content"
:
"1. 按摩时间15:00-17:30;
\n
2. 按摩时长每人15分钟,3人一组,按照图片顺序从上至下依次进行;
\n
3. 按完
记得在自己的卡片上点击完成哦,系统会自动通知下一位成员;4. 点击放弃,名额将会发送到大群秒杀,先到先得;
\n
5. 有事暂时来不了,可以推迟到队伍最后;
\n
"
,
"tag"
:
"lark_md"
"tag"
:
"lark_md"
}
}
},
},
...
...
src/test/java/CodeGenerator.java
View file @
714b6e6
...
@@ -27,15 +27,15 @@
...
@@ -27,15 +27,15 @@
// private static final String JAVA_PATH = "/src/main/java"; //java文件路径
// private static final String JAVA_PATH = "/src/main/java"; //java文件路径
// private static final String RESOURCES_PATH = "/src/main/resources";//资源文件路径
// private static final String RESOURCES_PATH = "/src/main/resources";//资源文件路径
//
//
//
//
private static final String PACKAGE_PATH_SERVICE = packageConvertPath(SERVICE_PACKAGE);//生成的Service存放路径
// private static final String PACKAGE_PATH_SERVICE = packageConvertPath(SERVICE_PACKAGE);//生成的Service存放路径
//
//
private static final String PACKAGE_PATH_SERVICE_IMPL = packageConvertPath(SERVICE_IMPL_PACKAGE);//生成的Service实现存放路径
// private static final String PACKAGE_PATH_SERVICE_IMPL = packageConvertPath(SERVICE_IMPL_PACKAGE);//生成的Service实现存放路径
//
//
private static final String PACKAGE_PATH_CONTROLLER = packageConvertPath(CONTROLLER_PACKAGE);//生成的Controller存放路径
// private static final String PACKAGE_PATH_CONTROLLER = packageConvertPath(CONTROLLER_PACKAGE);//生成的Controller存放路径
//
//
// private static final String AUTHOR = "CodeGenerator";//@author
// private static final String AUTHOR = "CodeGenerator";//@author
// private static final String DATE = new SimpleDateFormat("yyyy/MM/dd").format(new Date());//@date
// private static final String DATE = new SimpleDateFormat("yyyy/MM/dd").format(new Date());//@date
//
//
// public static void main(String[] args) {
// public static void main(String[] args) {
// genCode("t_
feishu_customer_feedback
");
// genCode("t_
rostering_staff
");
// //genCodeByCustomModelName("输入表名","输入自定义Model名称");
// //genCodeByCustomModelName("输入表名","输入自定义Model名称");
// }
// }
//
//
...
@@ -79,12 +79,12 @@
...
@@ -79,12 +79,12 @@
//
//
// PluginConfiguration pluginConfiguration = new PluginConfiguration();
// PluginConfiguration pluginConfiguration = new PluginConfiguration();
// pluginConfiguration.setConfigurationType("tk.mybatis.mapper.generator.MapperPlugin");
// pluginConfiguration.setConfigurationType("tk.mybatis.mapper.generator.MapperPlugin");
// pluginConfiguration.addProperty("mappers", MAPPER_INTERFACE_REFERENCE);
//
//
pluginConfiguration.addProperty("mappers", MAPPER_INTERFACE_REFERENCE);
// context.addPluginConfiguration(pluginConfiguration);
// context.addPluginConfiguration(pluginConfiguration);
//
//
// JavaModelGeneratorConfiguration javaModelGeneratorConfiguration = new JavaModelGeneratorConfiguration();
// JavaModelGeneratorConfiguration javaModelGeneratorConfiguration = new JavaModelGeneratorConfiguration();
// javaModelGeneratorConfiguration.setTargetProject(PROJECT_PATH + JAVA_PATH);
// javaModelGeneratorConfiguration.setTargetProject(PROJECT_PATH + JAVA_PATH);
// javaModelGeneratorConfiguration.setTargetPackage(MODEL_PACKAGE);
//
//
javaModelGeneratorConfiguration.setTargetPackage(MODEL_PACKAGE);
// context.setJavaModelGeneratorConfiguration(javaModelGeneratorConfiguration);
// context.setJavaModelGeneratorConfiguration(javaModelGeneratorConfiguration);
//
//
// SqlMapGeneratorConfiguration sqlMapGeneratorConfiguration = new SqlMapGeneratorConfiguration();
// SqlMapGeneratorConfiguration sqlMapGeneratorConfiguration = new SqlMapGeneratorConfiguration();
...
@@ -94,7 +94,7 @@
...
@@ -94,7 +94,7 @@
//
//
// JavaClientGeneratorConfiguration javaClientGeneratorConfiguration = new JavaClientGeneratorConfiguration();
// JavaClientGeneratorConfiguration javaClientGeneratorConfiguration = new JavaClientGeneratorConfiguration();
// javaClientGeneratorConfiguration.setTargetProject(PROJECT_PATH + JAVA_PATH);
// javaClientGeneratorConfiguration.setTargetProject(PROJECT_PATH + JAVA_PATH);
// javaClientGeneratorConfiguration.setTargetPackage(MAPPER_PACKAGE);
//
//
javaClientGeneratorConfiguration.setTargetPackage(MAPPER_PACKAGE);
// javaClientGeneratorConfiguration.setConfigurationType("XMLMAPPER");
// javaClientGeneratorConfiguration.setConfigurationType("XMLMAPPER");
// context.setJavaClientGeneratorConfiguration(javaClientGeneratorConfiguration);
// context.setJavaClientGeneratorConfiguration(javaClientGeneratorConfiguration);
//
//
...
@@ -139,7 +139,7 @@
...
@@ -139,7 +139,7 @@
// String modelNameUpperCamel = StringUtils.isEmpty(modelName) ? tableNameConvertUpperCamel(tableName) : modelName;
// String modelNameUpperCamel = StringUtils.isEmpty(modelName) ? tableNameConvertUpperCamel(tableName) : modelName;
// data.put("modelNameUpperCamel", modelNameUpperCamel);
// data.put("modelNameUpperCamel", modelNameUpperCamel);
// data.put("modelNameLowerCamel", tableNameConvertLowerCamel(tableName));
// data.put("modelNameLowerCamel", tableNameConvertLowerCamel(tableName));
// data.put("basePackage", BASE_PACKAGE);
//
//
data.put("basePackage", BASE_PACKAGE);
//
//
// File file = new File(PROJECT_PATH + JAVA_PATH + PACKAGE_PATH_SERVICE + modelNameUpperCamel + "Service.java");
// File file = new File(PROJECT_PATH + JAVA_PATH + PACKAGE_PATH_SERVICE + modelNameUpperCamel + "Service.java");
// if (!file.getParentFile().exists()) {
// if (!file.getParentFile().exists()) {
...
...
Write
Preview
Markdown
is supported
Attach a file
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 post a comment