Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gdtel-gztel-school-center
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
吴学德
gdtel-gztel-school-center
Commits
dc440189
Commit
dc440189
authored
Apr 27, 2020
by
董有沛
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
活动管理和订单管理、学子公司院校管理
parent
146080ca
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
2076 additions
and
24 deletions
+2076
-24
common/src/main/java/com/winsun/bean/SalesOrder.java
+144
-0
common/src/main/java/com/winsun/bean/SysUser.java
+5
-0
common/src/main/java/com/winsun/bean/activity/HhrActivity.java
+87
-0
common/src/main/java/com/winsun/bean/activity/HhrActivityRecord.java
+75
-0
common/src/main/java/com/winsun/mapper/PartnerMapper.java
+0
-2
common/src/main/java/com/winsun/mapper/SalesOrderMapper.java
+37
-0
common/src/main/java/com/winsun/mapper/SchoolMapper.java
+15
-1
common/src/main/java/com/winsun/mapper/activity/ActivityMapper.java
+2
-3
common/src/main/java/com/winsun/mapper/activity/ActivityRecordMapper.java
+15
-0
common/src/main/java/com/winsun/utils/ImportExcel.java
+25
-12
service-manager/src/main/java/com/winsun/controller/ActivityController.java
+67
-4
service-manager/src/main/java/com/winsun/controller/ActivityRecordController.java
+553
-0
service-manager/src/main/java/com/winsun/controller/PartnerController.java
+1
-2
service-manager/src/main/java/com/winsun/controller/SalesOrderController.java
+876
-0
service-manager/src/main/java/com/winsun/controller/SchoolManagementController.java
+1
-0
service-manager/src/main/java/com/winsun/controller/WeixinAuthController.java
+18
-0
service-manager/src/main/java/com/winsun/controller/school/SchoolAllocationController.java
+155
-0
No files found.
common/src/main/java/com/winsun/bean/SalesOrder.java
0 → 100644
View file @
dc440189
package
com
.
winsun
.
bean
;
import
java.util.Date
;
import
com.baomidou.mybatisplus.annotations.TableName
;
import
lombok.Data
;
@Data
@TableName
(
"hhr_sales_order"
)
public
class
SalesOrder
{
/**
* 主键
*/
private
int
id
;
/**
* 订单号码
*/
private
String
orderPhone
;
/**
* 用户id
*/
private
String
userId
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 审核状态 1:未审核 2:系统审核不通过 3:充值审核通过 4、 充值审核不通过
*/
private
String
status
;
/**
* 审核备注
*/
private
String
remark
;
/**
* 销售县分
*/
private
String
salesSubst
;
/**
* 销售学校
*/
private
String
salesSchool
;
/**
* 审核时间
*/
private
Date
auditTime
;
/**
* 佣金状态
*/
private
String
bonusStatus
;
/**
* 订单类型
*/
private
String
orderType
;
/**
* 订单编码
*/
private
String
orderNum
;
/**
* 升级套餐
*/
private
String
upgradeCombo
;
/**
* 原套餐
*/
private
String
oldCombo
;
/**
* 删除标价 0:未删除 1:已删除
*/
private
String
delFlag
;
/**
* 号码激活时间
*/
private
Date
activateTime
;
/**
* 网点编码
*/
private
String
networkCode
;
/**
* 网点名称
*/
private
String
networkName
;
/**
* 总激励
*/
private
double
allBonus
;
/**
* 未发放激励
*/
private
double
nonSendBonus
;
/**
* 已发放激励
*/
private
double
sendBonus
;
/**
* 最近充值金额
*/
private
double
recentlyAmount
;
/**
* 最近充值激励
*/
private
double
recentlyBonus
;
/**
* 累计充值金额
*/
private
double
monthAmount
;
/**
* 累计充值激励
*/
private
double
monthBonus
;
/**
* 本金激励
*/
private
double
capitalBonus
;
}
common/src/main/java/com/winsun/bean/SysUser.java
View file @
dc440189
...
...
@@ -9,6 +9,8 @@ import lombok.Data;
import
java.io.Serializable
;
import
java.util.Date
;
import
org.apache.commons.io.filefilter.FalseFileFilter
;
@TableName
(
"sys_user"
)
@Data
public
class
SysUser
implements
Serializable
{
...
...
@@ -132,4 +134,7 @@ public class SysUser implements Serializable {
private
String
deptidBelong
;
private
String
oldPassward
;
@TableField
(
exist
=
false
)
private
String
schoolName
;
}
common/src/main/java/com/winsun/bean/activity/HhrActivity.java
0 → 100644
View file @
dc440189
package
com
.
winsun
.
bean
.
activity
;
import
java.io.Serializable
;
import
java.util.Date
;
import
com.baomidou.mybatisplus.annotations.TableId
;
import
com.baomidou.mybatisplus.annotations.TableName
;
import
com.baomidou.mybatisplus.enums.IdType
;
import
lombok.Data
;
@SuppressWarnings
(
"serial"
)
@TableName
(
"hhr_activity"
)
@Data
public
class
HhrActivity
implements
Serializable
{
/**
* 主键
*/
@TableId
(
type
=
IdType
.
AUTO
)
private
String
id
;
/**
* 活动标题
*/
private
String
title
;
/**
* 活动详情
*/
private
String
desc
;
/**
* 活动积分
*/
private
int
integral
;
/**
* 活动封面图片
*/
private
String
imageUrl
;
/**
* 活动类型
*/
private
String
activityType
;
/**
* 活动小类
*/
private
String
subclass
;
/**
* 学生证照片
*/
private
String
range
;
/**
* 状态
*/
private
String
status
;
/**
* 排序号
*/
private
int
sort
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 创建人
*/
private
String
creator
;
/**
* 修改时间
*/
private
Date
updateTime
;
/**
* 删除标记
*/
private
int
delFlag
;
}
common/src/main/java/com/winsun/bean/activity/HhrActivityRecord.java
0 → 100644
View file @
dc440189
package
com
.
winsun
.
bean
.
activity
;
import
java.io.Serializable
;
import
java.util.Date
;
import
com.baomidou.mybatisplus.annotations.TableId
;
import
com.baomidou.mybatisplus.annotations.TableName
;
import
com.baomidou.mybatisplus.enums.IdType
;
import
lombok.Data
;
@SuppressWarnings
(
"serial"
)
@TableName
(
"hhr_activity_record"
)
@Data
public
class
HhrActivityRecord
implements
Serializable
{
/**
* 主键
*/
@TableId
(
type
=
IdType
.
AUTO
)
private
String
id
;
/**
* 活动ID
*/
private
String
activityId
;
/**
* 活动积分
*/
private
int
recordIntegral
;
/**
* 活动记录审核状态
*/
private
String
status
;
/**
* 审核意见
*/
private
String
remark
;
/**
* 活动记录参与图片
*/
private
String
imageUrl
;
/**
* 活动留言
*/
private
String
message
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 创建人id
*/
private
String
createId
;
/**
* 创建人
*/
private
String
creator
;
/**
* 修改时间
*/
private
Date
updateTime
;
}
common/src/main/java/com/winsun/mapper/PartnerMapper.java
View file @
dc440189
...
...
@@ -33,7 +33,5 @@ public interface PartnerMapper extends BaseMapper<Partner> {
@Insert
(
" replace into hhr_user_school(user_id,school_id) VALUES(#{userId},#{schoolId})"
)
int
saveSchoolRef
(
@Param
(
"userId"
)
String
userId
,
@Param
(
"schoolId"
)
String
schoolId
);
@Select
(
" select * from hhr_user_school"
)
List
<
Map
<
String
,
Object
>>
getSchoolRef
();
}
common/src/main/java/com/winsun/mapper/SalesOrderMapper.java
0 → 100644
View file @
dc440189
package
com
.
winsun
.
mapper
;
import
java.util.List
;
import
java.util.Map
;
import
org.apache.ibatis.annotations.Delete
;
import
org.apache.ibatis.annotations.Insert
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
org.apache.ibatis.annotations.Update
;
import
org.springframework.stereotype.Component
;
import
com.baomidou.mybatisplus.mapper.BaseMapper
;
import
com.winsun.bean.SalesOrder
;
@Mapper
@Component
public
interface
SalesOrderMapper
extends
BaseMapper
<
SalesOrder
>
{
@Select
(
" select * from hhr_phone_school "
)
List
<
Map
<
String
,
Object
>>
getPhoneSchool
();
@Insert
(
" replace into hhr_phone_school(order_phone,school) VALUES(#{orderPhone},#{school})"
)
int
updatePhoneSchool
(
@Param
(
"orderPhone"
)
String
orderPhone
,
@Param
(
"school"
)
String
school
);
@Update
(
" update hhr_sales_order set status = #{status}, remark = #{remark} where order_phone = #{orderPhone} and del_flag = 0"
+
" and order_type = 1 and send_bonus = 0 "
)
int
updateRepealOrder
(
@Param
(
"status"
)
String
status
,
@Param
(
"remark"
)
String
remark
,
@Param
(
"orderPhone"
)
String
orderPhone
);
@Select
(
" select * from hhr_phone_school where order_phone = #{orderPhone} "
)
List
<
Map
<
String
,
Object
>>
getPhoneSchoolByPhone
(
@Param
(
"orderPhone"
)
String
orderPhone
);
@Delete
(
"delete from hhr_phone_school where order_phone = #{orderPhone} "
)
int
deletePhoneSchool
(
@Param
(
"orderPhone"
)
String
orderPhone
);
}
common/src/main/java/com/winsun/mapper/SchoolMapper.java
View file @
dc440189
...
...
@@ -2,6 +2,9 @@ package com.winsun.mapper;
import
com.baomidou.mybatisplus.mapper.BaseMapper
;
import
com.winsun.bean.School
;
import
org.apache.ibatis.annotations.Delete
;
import
org.apache.ibatis.annotations.Insert
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
...
...
@@ -29,5 +32,16 @@ public interface SchoolMapper extends BaseMapper<School> {
@Update
(
"insert into hhr_user_school (school_id,user_id) values (#{schoolId},#{userId})"
)
Integer
insertUserSchool
(
@Param
(
"userId"
)
String
usrId
,
@Param
(
"schoolId"
)
String
schoolId
);
@Select
(
"select * from `hhr_user_school` "
)
List
<
Map
<
String
,
Object
>>
getSchoolRef
();
@Select
(
"select * from `hhr_supervisor_school` "
)
List
<
Map
<
String
,
Object
>>
getSupervisorSchoolRef
();
@Insert
(
" replace into hhr_supervisor_school(user_id,school) values(#{userId},#{school}) "
)
int
addSupervisorSchool
(
@Param
(
"userId"
)
String
userId
,
@Param
(
"school"
)
String
school
);
@Delete
(
" delete from hhr_supervisor_school where id = #{id} "
)
int
deleteSupervisorSchool
(
@Param
(
"id"
)
String
id
);
}
common/src/main/java/com/winsun/mapper/ActivityMapper.java
→
common/src/main/java/com/winsun/mapper/
activity/
ActivityMapper.java
View file @
dc440189
package
com
.
winsun
.
mapper
;
package
com
.
winsun
.
mapper
.
activity
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.springframework.stereotype.Component
;
import
com.baomidou.mybatisplus.mapper.BaseMapper
;
import
com.winsun.bean.HhrActivity
;
import
com.winsun.bean.HhrUser
;
import
com.winsun.bean.activity.HhrActivity
;
/**
* 合伙人用户表的Mapper
...
...
common/src/main/java/com/winsun/mapper/activity/ActivityRecordMapper.java
0 → 100644
View file @
dc440189
package
com
.
winsun
.
mapper
.
activity
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.springframework.stereotype.Component
;
import
com.baomidou.mybatisplus.mapper.BaseMapper
;
import
com.winsun.bean.activity.HhrActivityRecord
;
/**
* 合伙人用户表的Mapper
*/
@Mapper
@Component
public
interface
ActivityRecordMapper
extends
BaseMapper
<
HhrActivityRecord
>
{
}
common/src/main/java/com/winsun/utils/ImportExcel.java
View file @
dc440189
package
com
.
winsun
.
utils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.hssf.usermodel.HSSFWorkbook
;
import
org.apache.poi.openxml4j.exceptions.InvalidFormatException
;
import
org.apache.poi.ss.usermodel.*
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.hssf.usermodel.HSSFDateUtil
;
import
org.apache.poi.hssf.usermodel.HSSFWorkbook
;
import
org.apache.poi.openxml4j.exceptions.InvalidFormatException
;
import
org.apache.poi.ss.usermodel.Cell
;
import
org.apache.poi.ss.usermodel.CellType
;
import
org.apache.poi.ss.usermodel.Row
;
import
org.apache.poi.ss.usermodel.Sheet
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.web.multipart.MultipartFile
;
/**
* 导入Excel文件(支持“XLS”和“XLSX”格式)
* @author
...
...
@@ -168,13 +174,20 @@ public class ImportExcel {
*/
public
Object
getCellValue
(
Row
row
,
int
column
){
Object
val
=
""
;
SimpleDateFormat
sFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
try
{
Cell
cell
=
row
.
getCell
(
column
);
if
(
cell
!=
null
){
if
(
cell
.
getCellType
()
==
CellType
.
NUMERIC
){
val
=
cell
.
getNumericCellValue
();
// DecimalFormat df = new DecimalFormat("0");
// val = df.format(cell.getNumericCellValue());
//val = cell.getNumericCellValue();
if
(
HSSFDateUtil
.
isCellDateFormatted
(
cell
))
{
val
=
sFormat
.
format
(
cell
.
getDateCellValue
());
}
else
{
cell
.
setCellType
(
CellType
.
STRING
);
val
=
cell
.
getStringCellValue
()
+
""
;
}
}
else
if
(
cell
.
getCellType
()
==
CellType
.
STRING
){
val
=
cell
.
getStringCellValue
();
}
else
if
(
cell
.
getCellType
()
==
CellType
.
FORMULA
){
...
...
service-manager/src/main/java/com/winsun/controller/ActivityController.java
View file @
dc440189
...
...
@@ -2,34 +2,44 @@ package com.winsun.controller;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.UUID
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.enums.SqlLike
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.google.common.util.concurrent.Service.State
;
import
com.itextpdf.text.pdf.PdfStructTreeController.returnType
;
import
com.winsun.auth.core.annotion.Permission
;
import
com.winsun.auth.core.base.controller.BaseController
;
import
com.winsun.auth.core.common.model.ResponseData
;
import
com.winsun.auth.core.shiro.ShiroUser
;
import
com.winsun.bean.HhrActivity
;
import
com.winsun.mapper.ActivityMapper
;
import
com.winsun.bean.QRCode
;
import
com.winsun.bean.activity.HhrActivity
;
import
com.winsun.bean.activity.HhrActivityRecord
;
import
com.winsun.mapper.activity.ActivityMapper
;
import
com.winsun.utils.PicturesUtil
;
/**
* @Author:
chancy
* @Date: 2020/
2/12 17:26
* @Author:
dongyp
* @Date: 2020/
4/9
*/
@RestController
@RequestMapping
(
"/activity"
)
public
class
ActivityController
extends
BaseController
{
private
static
ActivityMapper
activityMapper
;
private
static
String
PATH_TYPE
=
"activity"
;
@Autowired
public
ActivityController
(
ActivityMapper
activityMapper
)
{
...
...
@@ -48,6 +58,7 @@ public class ActivityController extends BaseController {
wrapper
.
like
(
StringUtils
.
isNotBlank
(
title
),
"title"
,
title
,
SqlLike
.
DEFAULT
);
wrapper
.
eq
(
StringUtils
.
isNotBlank
(
activityType
),
"activity_type"
,
activityType
);
wrapper
.
eq
(
StringUtils
.
isNotBlank
(
subclass
),
"subclass"
,
subclass
);
wrapper
.
eq
(
"del_flag"
,
0
);
Page
<
HhrActivity
>
page
=
new
Page
<>(
pageIndex
,
pageSize
);
List
<
HhrActivity
>
list
=
activityMapper
.
selectPage
(
page
,
wrapper
);
...
...
@@ -125,4 +136,56 @@ public class ActivityController extends BaseController {
return
ResponseData
.
error
(
"删除失败"
);
}
/**
* 查询活动列表
*
* @param pageNo 查询页码 默认首页
* @param pageSize 查询每页数量 默认10
* @param activityType 查询条件-活动类型
* @param subclass 查询条件-活动小类
* @return
*/
@ResponseBody
@RequestMapping
(
value
=
"getActivityList"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
Map
<
String
,
Object
>>
getActivityList
(
Integer
pageNo
,
Integer
pageSize
,
String
activityType
,
String
subclass
)
{
Wrapper
<
HhrActivity
>
wrapper
=
new
EntityWrapper
<
HhrActivity
>();
wrapper
.
eq
(
StringUtils
.
isNotBlank
(
activityType
),
"activity_type"
,
activityType
);
wrapper
.
eq
(
StringUtils
.
isNotBlank
(
subclass
),
"subclass"
,
subclass
);
wrapper
.
eq
(
"del_flag"
,
0
);
Page
<
HhrActivity
>
page
=
new
Page
<>(
pageNo
==
null
?
1
:
pageNo
,
pageSize
==
null
?
10
:
pageSize
);
List
<
HhrActivity
>
list
=
activityMapper
.
selectPage
(
page
,
wrapper
);
page
.
setRecords
(
list
);
resultMap
.
put
(
"activityList"
,
list
);
return
ResponseData
.
success
(
resultMap
,
"查询成功"
);
}
/**
* 获取活动信息
*
* @return
*/
@ResponseBody
@RequestMapping
(
value
=
"getActivityInfo"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
Map
<
String
,
Object
>>
getActivityInfo
(
String
id
)
{
HhrActivity
activity
=
activityMapper
.
selectById
(
id
);
Map
<
String
,
Object
>
activityMap
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
activity
),
Map
.
class
);
return
ResponseData
.
success
(
activityMap
,
"查询成功"
);
}
@Permission
(
menuname
=
"上传图片"
,
value
=
"uploadImg"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
uploadImg
(
@RequestParam
(
"picture"
)
String
picture
)
{
ShiroUser
user
=
getShiroUser
();
Integer
userId
=
user
.
getId
();
String
path
=
PicturesUtil
.
uploadPictures
(
picture
,
userId
.
toString
(),
PATH_TYPE
);
if
(
StringUtils
.
isNoneBlank
(
path
)){
return
ResponseData
.
success
(
path
,
"上传成功"
);
}
return
ResponseData
.
error
(
"上传图片失败!"
);
}
}
service-manager/src/main/java/com/winsun/controller/ActivityRecordController.java
0 → 100644
View file @
dc440189
package
com
.
winsun
.
controller
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.net.URLEncoder
;
import
java.time.LocalDate
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletResponse
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.xssf.usermodel.XSSFCell
;
import
org.apache.poi.xssf.usermodel.XSSFRow
;
import
org.apache.poi.xssf.usermodel.XSSFSheet
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.ExcelWriter
;
import
com.alibaba.excel.support.ExcelTypeEnum
;
import
com.alibaba.excel.write.metadata.WriteSheet
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.enums.SqlLike
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.winsun.auth.core.annotion.Permission
;
import
com.winsun.auth.core.base.controller.BaseController
;
import
com.winsun.auth.core.common.model.ResponseData
;
import
com.winsun.auth.core.shiro.ShiroUser
;
import
com.winsun.auth.core.util.IOUtils
;
import
com.winsun.bean.OrderView
;
import
com.winsun.bean.School
;
import
com.winsun.bean.SysUser
;
import
com.winsun.bean.YrymReport
;
import
com.winsun.bean.activity.HhrActivity
;
import
com.winsun.bean.activity.HhrActivityRecord
;
import
com.winsun.constant.OrderStatus
;
import
com.winsun.mapper.OrderViewMapper
;
import
com.winsun.mapper.PartnerMapper
;
import
com.winsun.mapper.SchoolMapper
;
import
com.winsun.mapper.SysUserMapper
;
import
com.winsun.mapper.activity.ActivityMapper
;
import
com.winsun.mapper.activity.ActivityRecordMapper
;
import
com.winsun.utils.MapUtil
;
import
lombok.extern.slf4j.Slf4j
;
/**
* 活动参与记录 controller
* @Author: dongyp
* @Date: 2020/4/14
*/
@Slf4j
@RestController
@RequestMapping
(
"/activityRecord"
)
public
class
ActivityRecordController
extends
BaseController
{
private
static
ActivityRecordMapper
activityRecordMapper
;
private
static
ActivityMapper
activityMapper
;
private
static
SysUserMapper
sysUserMapper
;
private
static
SchoolMapper
schoolMapper
;
@Autowired
private
PartnerMapper
partnerMapper
;
@Autowired
private
OrderViewMapper
orderViewMapper
;
@Autowired
public
ActivityRecordController
(
ActivityRecordMapper
activityRecordMapper
,
ActivityMapper
activityMapper
,
SysUserMapper
sysUserMapper
,
SchoolMapper
schoolMapper
)
{
ActivityRecordController
.
activityRecordMapper
=
activityRecordMapper
;
ActivityRecordController
.
activityMapper
=
activityMapper
;
ActivityRecordController
.
sysUserMapper
=
sysUserMapper
;
ActivityRecordController
.
schoolMapper
=
schoolMapper
;
}
@Permission
(
menuname
=
"查询活动参与信息"
,
value
=
"list"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
Page
<
Map
<
String
,
Object
>>>
list
(
@RequestParam
(
"title"
)
String
title
,
@RequestParam
(
"activityType"
)
String
activityType
,
@RequestParam
(
"subclass"
)
String
subclass
,
@RequestParam
(
name
=
"status"
,
required
=
false
)
String
status
,
@RequestParam
(
name
=
"creator"
,
required
=
false
)
String
creator
,
@RequestParam
(
name
=
"createTimeStart"
,
required
=
false
)
String
createTimeStart
,
@RequestParam
(
name
=
"createTimeEnd"
,
required
=
false
)
String
createTimeEnd
,
@RequestParam
(
name
=
"pageNo"
,
required
=
false
)
int
pageIndex
,
@RequestParam
(
name
=
"pageSize"
,
required
=
false
)
int
pageSize
)
{
Wrapper
<
HhrActivity
>
wrapperActivity
=
new
EntityWrapper
<
HhrActivity
>();
wrapperActivity
.
like
(
StringUtils
.
isNotBlank
(
title
),
"title"
,
title
,
SqlLike
.
DEFAULT
);
wrapperActivity
.
eq
(
StringUtils
.
isNotBlank
(
activityType
),
"activity_type"
,
activityType
);
wrapperActivity
.
eq
(
StringUtils
.
isNotBlank
(
subclass
),
"subclass"
,
subclass
);
wrapperActivity
.
eq
(
"del_flag"
,
0
);
List
<
HhrActivity
>
listActivity
=
activityMapper
.
selectList
(
wrapperActivity
);
Wrapper
<
HhrActivityRecord
>
wrapperRecord
=
new
EntityWrapper
<
HhrActivityRecord
>();
wrapperRecord
.
like
(
StringUtils
.
isNotBlank
(
creator
),
"creator"
,
creator
,
SqlLike
.
DEFAULT
);
wrapperRecord
.
eq
(
StringUtils
.
isNotBlank
(
status
),
"status"
,
status
);
List
<
HhrActivityRecord
>
listRecord
=
activityRecordMapper
.
selectList
(
wrapperRecord
);
Page
<
Map
<
String
,
Object
>>
page
=
new
Page
<>(
pageIndex
,
pageSize
);
List
<
Map
<
String
,
Object
>>
newList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
for
(
HhrActivityRecord
activityRecord
:
listRecord
)
{
String
activityId
=
activityRecord
.
getActivityId
();
for
(
HhrActivity
activity
:
listActivity
)
{
if
(
activityId
.
equals
(
activity
.
getId
()))
{
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
map
.
put
(
"title"
,
activity
.
getTitle
());
map
.
put
(
"desc"
,
activity
.
getDesc
());
map
.
put
(
"integral"
,
activity
.
getIntegral
());
map
.
put
(
"activityType"
,
activity
.
getActivityType
());
map
.
put
(
"subclass"
,
activity
.
getSubclass
());
map
.
put
(
"id"
,
activityRecord
.
getId
());
map
.
put
(
"status"
,
activityRecord
.
getStatus
());
map
.
put
(
"remark"
,
activityRecord
.
getRemark
());
map
.
put
(
"recordIntegral"
,
activityRecord
.
getRecordIntegral
());
map
.
put
(
"creator"
,
activityRecord
.
getCreator
());
map
.
put
(
"message"
,
activityRecord
.
getMessage
());
map
.
put
(
"createTime"
,
activityRecord
.
getCreateTime
());
newList
.
add
(
map
);
}
}
}
List
<
Map
<
String
,
Object
>>
dataList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
if
(
newList
.
size
()
<
pageSize
)
{
dataList
=
newList
;
}
else
{
dataList
=
newList
.
subList
((
pageIndex
-
1
)*
pageSize
,
pageIndex
*
pageSize
);
}
page
.
setRecords
(
dataList
);
page
.
setTotal
(
newList
.
size
());
return
ResponseData
.
success
(
page
,
"查询完毕!"
);
}
@Permission
(
menuname
=
"审核活动参与记录"
,
value
=
"auditActivityRecord"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
auditActivityRecord
(
@RequestParam
(
"id"
)
String
id
,
@RequestParam
(
"status"
)
String
status
,
@RequestParam
(
"integral"
)
String
integral
,
@RequestParam
(
"remark"
)
String
remark
){
HhrActivityRecord
activityRecord
=
new
HhrActivityRecord
();
activityRecord
.
setId
(
id
);
activityRecord
.
setStatus
(
status
);
activityRecord
.
setRecordIntegral
(
Integer
.
parseInt
(
integral
));
activityRecord
.
setRemark
(
remark
);
activityRecord
.
setUpdateTime
(
new
Date
());
int
num
=
activityRecordMapper
.
updateById
(
activityRecord
);
if
(
num
>
0
)
{
return
ResponseData
.
success
(
"审核完毕!"
);
}
return
ResponseData
.
error
(
"审核失败"
);
}
@Permission
(
menuname
=
"查询积分记录信息"
,
value
=
"getIntegralList"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
Page
<
Map
<
String
,
Object
>>>
getIntegralList
(
@RequestParam
(
"title"
)
String
title
,
@RequestParam
(
"activityType"
)
String
activityType
,
@RequestParam
(
"subclass"
)
String
subclass
,
@RequestParam
(
name
=
"account"
,
required
=
false
)
String
account
,
@RequestParam
(
name
=
"name"
,
required
=
false
)
String
name
,
@RequestParam
(
name
=
"createTimeStart"
,
required
=
false
)
String
createTimeStart
,
@RequestParam
(
name
=
"createTimeEnd"
,
required
=
false
)
String
createTimeEnd
,
@RequestParam
(
name
=
"pageNo"
,
required
=
false
)
int
pageIndex
,
@RequestParam
(
name
=
"pageSize"
,
required
=
false
)
int
pageSize
)
{
Wrapper
<
HhrActivity
>
wrapperActivity
=
new
EntityWrapper
<
HhrActivity
>();
wrapperActivity
.
like
(
StringUtils
.
isNotBlank
(
title
),
"title"
,
title
,
SqlLike
.
DEFAULT
);
wrapperActivity
.
eq
(
StringUtils
.
isNotBlank
(
activityType
),
"activity_type"
,
activityType
);
wrapperActivity
.
eq
(
StringUtils
.
isNotBlank
(
subclass
),
"subclass"
,
subclass
);
wrapperActivity
.
eq
(
"del_flag"
,
0
);
List
<
HhrActivity
>
listActivity
=
activityMapper
.
selectList
(
wrapperActivity
);
Wrapper
<
HhrActivityRecord
>
wrapperRecord
=
new
EntityWrapper
<
HhrActivityRecord
>();
List
<
HhrActivityRecord
>
listRecord
=
activityRecordMapper
.
selectList
(
wrapperRecord
);
Wrapper
<
SysUser
>
wrapperUser
=
new
EntityWrapper
<
SysUser
>();
wrapperUser
.
like
(
StringUtils
.
isNotBlank
(
name
),
"name"
,
name
,
SqlLike
.
DEFAULT
);
wrapperUser
.
eq
(
StringUtils
.
isNotBlank
(
account
),
"account"
,
account
);
List
<
SysUser
>
userList
=
sysUserMapper
.
selectList
(
wrapperUser
);
Wrapper
<
School
>
wrapperSchool
=
new
EntityWrapper
<
School
>();
List
<
School
>
schoolList
=
schoolMapper
.
selectList
(
wrapperSchool
);
Map
<
String
,
Object
>
refMap
=
MapUtil
.
listToMap
(
schoolMapper
.
getSchoolRef
(),
"user_id"
,
"school_id"
);
for
(
SysUser
sysUser
:
userList
)
{
String
userId
=
sysUser
.
getId
();
if
(
null
!=
refMap
.
get
(
userId
))
{
for
(
School
school
:
schoolList
)
{
if
(
refMap
.
get
(
userId
).
toString
().
equals
(
school
.
getId
()))
{
sysUser
.
setSubstName
(
school
.
getSubName
());
sysUser
.
setSchoolName
(
school
.
getSubName
());
}
}
}
}
Page
<
Map
<
String
,
Object
>>
page
=
new
Page
<>(
pageIndex
,
pageSize
);
List
<
Map
<
String
,
Object
>>
newList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
for
(
HhrActivityRecord
activityRecord
:
listRecord
)
{
String
activityId
=
activityRecord
.
getActivityId
();
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
int
num
=
0
;
for
(
HhrActivity
activity
:
listActivity
)
{
if
(
activityId
.
equals
(
activity
.
getId
()))
{
map
.
put
(
"title"
,
activity
.
getTitle
());
map
.
put
(
"desc"
,
activity
.
getDesc
());
map
.
put
(
"integral"
,
activity
.
getIntegral
());
map
.
put
(
"activityType"
,
activity
.
getActivityType
());
map
.
put
(
"subclass"
,
activity
.
getSubclass
());
map
.
put
(
"id"
,
activityRecord
.
getId
());
map
.
put
(
"status"
,
activityRecord
.
getStatus
());
map
.
put
(
"remark"
,
activityRecord
.
getRemark
());
map
.
put
(
"recordIntegral"
,
activityRecord
.
getRecordIntegral
());
map
.
put
(
"creator"
,
activityRecord
.
getCreator
());
map
.
put
(
"message"
,
activityRecord
.
getMessage
());
map
.
put
(
"createTime"
,
activityRecord
.
getCreateTime
());
num
++;
break
;
}
}
for
(
SysUser
sysUser
:
userList
)
{
if
(
sysUser
.
getId
().
equals
(
activityRecord
.
getCreateId
()))
{
map
.
put
(
"account"
,
sysUser
.
getAccount
());
map
.
put
(
"name"
,
sysUser
.
getName
());
map
.
put
(
"substName"
,
sysUser
.
getSubstName
());
map
.
put
(
"schoolName"
,
sysUser
.
getSchoolName
());
num
++;
break
;
}
}
if
(
num
==
2
)
{
newList
.
add
(
map
);
}
}
List
<
Map
<
String
,
Object
>>
dataList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
if
(
newList
.
size
()
<
pageSize
)
{
dataList
=
newList
;
}
else
{
dataList
=
newList
.
subList
((
pageIndex
-
1
)*
pageSize
,
pageIndex
*
pageSize
);
}
page
.
setRecords
(
dataList
);
page
.
setTotal
(
newList
.
size
());
return
ResponseData
.
success
(
page
,
"查询完毕!"
);
}
@Permission
(
menuname
=
"导出活动积分记录"
,
value
=
"exportIntegralRecord"
,
method
=
RequestMethod
.
POST
)
public
void
exportIntegralRecord
(
@RequestParam
(
"title"
)
String
title
,
@RequestParam
(
"activityType"
)
String
activityType
,
@RequestParam
(
"subclass"
)
String
subclass
,
@RequestParam
(
name
=
"status"
,
required
=
false
)
String
status
,
@RequestParam
(
name
=
"creator"
,
required
=
false
)
String
creator
,
@RequestParam
(
name
=
"createTimeStart"
,
required
=
false
)
String
createTimeStart
,
@RequestParam
(
name
=
"createTimeEnd"
,
required
=
false
)
String
createTimeEnd
)
throws
IOException
{
Wrapper
<
HhrActivity
>
wrapperActivity
=
new
EntityWrapper
<
HhrActivity
>();
wrapperActivity
.
like
(
StringUtils
.
isNotBlank
(
title
),
"title"
,
title
,
SqlLike
.
DEFAULT
);
wrapperActivity
.
eq
(
StringUtils
.
isNotBlank
(
activityType
),
"activity_type"
,
activityType
);
wrapperActivity
.
eq
(
StringUtils
.
isNotBlank
(
subclass
),
"subclass"
,
subclass
);
wrapperActivity
.
eq
(
"del_flag"
,
0
);
List
<
HhrActivity
>
listActivity
=
activityMapper
.
selectList
(
wrapperActivity
);
Wrapper
<
HhrActivityRecord
>
wrapperRecord
=
new
EntityWrapper
<
HhrActivityRecord
>();
wrapperRecord
.
like
(
StringUtils
.
isNotBlank
(
creator
),
"creator"
,
creator
,
SqlLike
.
DEFAULT
);
wrapperRecord
.
eq
(
StringUtils
.
isNotBlank
(
status
),
"status"
,
status
);
List
<
HhrActivityRecord
>
listRecord
=
activityRecordMapper
.
selectList
(
wrapperRecord
);
Wrapper
<
SysUser
>
wrapperUser
=
new
EntityWrapper
<
SysUser
>();
wrapperUser
.
like
(
StringUtils
.
isNotBlank
(
creator
),
"creator"
,
creator
,
SqlLike
.
DEFAULT
);
wrapperUser
.
eq
(
StringUtils
.
isNotBlank
(
status
),
"status"
,
status
);
List
<
SysUser
>
userList
=
sysUserMapper
.
selectList
(
wrapperUser
);
Wrapper
<
School
>
wrapperSchool
=
new
EntityWrapper
<
School
>();
wrapperSchool
.
like
(
StringUtils
.
isNotBlank
(
creator
),
"creator"
,
creator
,
SqlLike
.
DEFAULT
);
wrapperSchool
.
eq
(
StringUtils
.
isNotBlank
(
status
),
"status"
,
status
);
List
<
School
>
schoolList
=
schoolMapper
.
selectList
(
wrapperSchool
);
Map
<
String
,
Object
>
refMap
=
MapUtil
.
listToMap
(
schoolMapper
.
getSchoolRef
(),
"user_id"
,
"school_id"
);
for
(
SysUser
sysUser
:
userList
)
{
String
userId
=
sysUser
.
getId
();
if
(
null
!=
refMap
.
get
(
userId
))
{
for
(
School
school
:
schoolList
)
{
if
(
refMap
.
get
(
userId
).
toString
().
equals
(
school
.
getId
()))
{
sysUser
.
setSubstName
(
school
.
getSubName
());
sysUser
.
setSchoolName
(
school
.
getSubName
());
}
}
}
}
List
<
Map
<
String
,
Object
>>
newList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
for
(
HhrActivityRecord
activityRecord
:
listRecord
)
{
String
activityId
=
activityRecord
.
getActivityId
();
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
int
num
=
0
;
for
(
HhrActivity
activity
:
listActivity
)
{
if
(
activityId
.
equals
(
activity
.
getId
()))
{
map
.
put
(
"title"
,
activity
.
getTitle
());
map
.
put
(
"desc"
,
activity
.
getDesc
());
map
.
put
(
"integral"
,
activity
.
getIntegral
());
map
.
put
(
"activityType"
,
activity
.
getActivityType
());
map
.
put
(
"subclass"
,
activity
.
getSubclass
());
map
.
put
(
"id"
,
activityRecord
.
getId
());
map
.
put
(
"status"
,
activityRecord
.
getStatus
());
map
.
put
(
"remark"
,
activityRecord
.
getRemark
());
map
.
put
(
"recordIntegral"
,
activityRecord
.
getRecordIntegral
());
map
.
put
(
"creator"
,
activityRecord
.
getCreator
());
map
.
put
(
"message"
,
activityRecord
.
getMessage
());
map
.
put
(
"createTime"
,
activityRecord
.
getCreateTime
());
num
++;
}
}
for
(
SysUser
sysUser
:
userList
)
{
if
(
sysUser
.
getId
().
equals
(
activityRecord
.
getCreateId
()))
{
map
.
put
(
"account"
,
sysUser
.
getAccount
());
map
.
put
(
"name"
,
sysUser
.
getName
());
map
.
put
(
"substName"
,
sysUser
.
getSubstName
());
map
.
put
(
"schoolName"
,
sysUser
.
getSchoolName
());
num
++;
}
}
if
(
num
==
2
)
{
newList
.
add
(
map
);
}
}
List
<
String
>
tops
=
new
ArrayList
<>();
tops
.
add
(
"姓名"
);
tops
.
add
(
"账号"
);
tops
.
add
(
"所得积分"
);
tops
.
add
(
"积分类型"
);
tops
.
add
(
"积分小类"
);
tops
.
add
(
"县分"
);
tops
.
add
(
"学校"
);
tops
.
add
(
"创建时间"
);
List
<
String
>
columns
=
new
ArrayList
<>();
columns
.
add
(
"name"
);
columns
.
add
(
"account"
);
columns
.
add
(
"recordIntegral"
);
columns
.
add
(
"activityType"
);
columns
.
add
(
"subclass"
);
columns
.
add
(
"substName"
);
columns
.
add
(
"schoolName"
);
ServletOutputStream
os
=
null
;
XSSFWorkbook
workbook
=
new
XSSFWorkbook
();
try
{
//创建工作表
XSSFSheet
sheet
=
workbook
.
createSheet
(
"积分记录清单"
);
//添加表头
final
XSSFRow
row
=
sheet
.
createRow
(
0
);
//设置列宽度
sheet
.
setColumnWidth
(
1
,
6500
);
sheet
.
setColumnWidth
(
2
,
6500
);
sheet
.
setColumnWidth
(
3
,
6500
);
sheet
.
setColumnWidth
(
4
,
6500
);
sheet
.
setColumnWidth
(
5
,
7000
);
sheet
.
setColumnWidth
(
6
,
4000
);
sheet
.
setColumnWidth
(
7
,
4000
);
//第一行字段名称
tops
.
forEach
(
column
->
{
XSSFCell
cell
=
row
.
createCell
(
Math
.
max
(
row
.
getLastCellNum
(),
0
));
cell
.
setCellValue
(
column
);
});
//数据
int
rowIndex
=
row
.
getRowNum
();
for
(
Map
<
String
,
Object
>
maps:
newList
)
{
final
XSSFRow
rowdata
=
sheet
.
createRow
(++
rowIndex
);
for
(
String
column
:
columns
)
{
XSSFCell
cell
=
rowdata
.
createCell
(
Math
.
max
(
rowdata
.
getLastCellNum
(),
0
));
if
(
maps
.
get
(
column
)
!=
null
)
{
cell
.
setCellValue
(
maps
.
get
(
column
).
toString
());
}
}
}
HttpServletResponse
response
=
getHttpServletResponse
();
response
.
reset
();
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setContentType
(
"application/octet-stream"
);
os
=
response
.
getOutputStream
();
workbook
.
write
(
os
);
os
.
flush
();
}
catch
(
Exception
e
)
{
log
.
error
(
"文件出错!"
+
e
.
getMessage
(),
e
);
}
finally
{
IOUtils
.
closeQuite
(
workbook
,
os
);
}
}
@Permission
(
menuname
=
"导出宽带订单"
,
value
=
"download"
,
method
=
RequestMethod
.
POST
)
public
void
downloadOrderView
(
@RequestParam
(
"startTime"
)
String
startTime
,
@RequestParam
(
"endTime"
)
String
endTime
,
@RequestParam
(
"orderseq"
)
String
orderseq
,
@RequestParam
(
"orderUniversityName"
)
String
orderUniversityName
,
@RequestParam
(
"status"
)
String
status
,
@RequestParam
(
"ordername"
)
String
ordername
)
{
String
dateFormat
=
"YYYY-MM-DD"
;
if
(
StringUtils
.
isNotBlank
(
startTime
)
&&
StringUtils
.
isNotBlank
(
endTime
))
{
startTime
=
startTime
.
substring
(
0
,
dateFormat
.
length
())
+
" 00:00:00"
;
endTime
=
endTime
.
substring
(
0
,
dateFormat
.
length
())
+
" 23:59:59"
;
}
else
{
startTime
=
null
;
endTime
=
null
;
}
String
state
=
null
;
if
(
StringUtils
.
isNotBlank
(
status
)){
state
=
OrderStatus
.
findById
(
status
).
getId
();
}
Wrapper
<
OrderView
>
wrapper
=
new
EntityWrapper
();
wrapper
.
like
(
StringUtils
.
isNotBlank
(
orderseq
),
"orderSeq"
,
orderseq
,
SqlLike
.
DEFAULT
);
wrapper
.
like
(
StringUtils
.
isNotBlank
(
ordername
),
"orderName"
,
ordername
,
SqlLike
.
DEFAULT
);
wrapper
.
like
(
StringUtils
.
isNotBlank
(
orderUniversityName
),
"order_university_name"
,
orderUniversityName
,
SqlLike
.
DEFAULT
);
wrapper
.
eq
(
StringUtils
.
isNotBlank
(
status
),
"status"
,
state
);
wrapper
.
ge
(
StringUtils
.
isNotBlank
(
startTime
),
"orderDate"
,
startTime
);
wrapper
.
le
(
StringUtils
.
isNotBlank
(
endTime
),
"orderDate"
,
endTime
);
List
<
Map
<
String
,
Object
>>
OrderViews
=
orderViewMapper
.
downloadOrderView
(
wrapper
);
List
<
String
>
tops
=
new
ArrayList
<>();
tops
.
add
(
"订单id"
);
tops
.
add
(
"订单编号"
);
tops
.
add
(
"产品名称"
);
tops
.
add
(
"产品价格"
);
tops
.
add
(
"套餐"
);
tops
.
add
(
"学校"
);
tops
.
add
(
"区域"
);
tops
.
add
(
"客户姓名"
);
tops
.
add
(
"联系电话"
);
tops
.
add
(
"订单状态"
);
tops
.
add
(
"备注"
);
tops
.
add
(
"创建时间"
);
tops
.
add
(
"支付平台"
);
tops
.
add
(
"支付方式"
);
tops
.
add
(
"支付时间"
);
tops
.
add
(
"穗易付订单号"
);
tops
.
add
(
"接入商"
);
tops
.
add
(
"支付平台流水号"
);
tops
.
add
(
"智能平台订单号"
);
List
<
String
>
columns
=
new
ArrayList
<>();
columns
.
add
(
"order_id"
);
columns
.
add
(
"orderSeq"
);
columns
.
add
(
"productName"
);
columns
.
add
(
"webOrderAmount"
);
columns
.
add
(
"order_set_meal"
);
columns
.
add
(
"order_university_name"
);
columns
.
add
(
"order_region"
);
columns
.
add
(
"orderName"
);
columns
.
add
(
"orderPhone"
);
columns
.
add
(
"status"
);
columns
.
add
(
"order_customer_remarks"
);
columns
.
add
(
"orderDate"
);
columns
.
add
(
"ipay"
);
columns
.
add
(
"payType"
);
columns
.
add
(
"order_payment_time"
);
columns
.
add
(
"orderReqtranSeq"
);
columns
.
add
(
"customeRid"
);
columns
.
add
(
"uptranseq"
);
columns
.
add
(
"orderSeqTHD"
);
ServletOutputStream
os
=
null
;
XSSFWorkbook
workbook
=
new
XSSFWorkbook
();
try
{
//创建工作表
XSSFSheet
sheet
=
workbook
.
createSheet
(
"宽带订单清单"
);
//添加表头
final
XSSFRow
row
=
sheet
.
createRow
(
0
);
//设置列宽度
sheet
.
setColumnWidth
(
1
,
6500
);
sheet
.
setColumnWidth
(
2
,
6500
);
sheet
.
setColumnWidth
(
5
,
7000
);
sheet
.
setColumnWidth
(
8
,
4000
);
sheet
.
setColumnWidth
(
10
,
6500
);
sheet
.
setColumnWidth
(
11
,
6500
);
sheet
.
setColumnWidth
(
14
,
6500
);
sheet
.
setColumnWidth
(
15
,
7000
);
sheet
.
setColumnWidth
(
17
,
7500
);
sheet
.
setColumnWidth
(
18
,
600
);
//第一行字段名称
tops
.
forEach
(
column
->
{
XSSFCell
cell
=
row
.
createCell
(
Math
.
max
(
row
.
getLastCellNum
(),
0
));
cell
.
setCellValue
(
column
);
});
//数据
int
rowIndex
=
row
.
getRowNum
();
for
(
Map
<
String
,
Object
>
maps:
OrderViews
)
{
final
XSSFRow
rowdata
=
sheet
.
createRow
(++
rowIndex
);
for
(
String
column
:
columns
)
{
XSSFCell
cell
=
rowdata
.
createCell
(
Math
.
max
(
rowdata
.
getLastCellNum
(),
0
));
if
(
maps
.
get
(
column
)
!=
null
)
{
cell
.
setCellValue
(
maps
.
get
(
column
).
toString
());
}
}
}
HttpServletResponse
response
=
getHttpServletResponse
();
response
.
reset
();
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setContentType
(
"application/octet-stream"
);
os
=
response
.
getOutputStream
();
workbook
.
write
(
os
);
os
.
flush
();
}
catch
(
Exception
e
)
{
log
.
error
(
"文件出错!"
+
e
.
getMessage
(),
e
);
}
finally
{
IOUtils
.
closeQuite
(
workbook
,
os
);
}
}
/**
* 保存活动参与记录(微信端)
*
* @return
*/
@ResponseBody
@RequestMapping
(
value
=
"addActivityRecord"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
getActivityInfo
(
String
id
,
String
message
,
String
imageUrl
)
{
ShiroUser
user
=
getShiroUser
();
HhrActivityRecord
activityRecord
=
new
HhrActivityRecord
();
activityRecord
.
setActivityId
(
id
);
activityRecord
.
setMessage
(
message
);
activityRecord
.
setImageUrl
(
imageUrl
);
activityRecord
.
setCreateId
(
Integer
.
toString
(
user
.
getId
()));
activityRecord
.
setCreator
(
user
.
getName
());
activityRecord
.
setCreateTime
(
new
Date
());
int
num
=
activityRecordMapper
.
insert
(
activityRecord
);
if
(
num
>
0
)
{
return
ResponseData
.
success
(
"提交成功!"
);
}
return
ResponseData
.
error
(
"提交失败!"
);
}
}
service-manager/src/main/java/com/winsun/controller/PartnerController.java
View file @
dc440189
...
...
@@ -21,7 +21,6 @@ import com.winsun.auth.core.annotion.Permission;
import
com.winsun.auth.core.base.controller.BaseController
;
import
com.winsun.auth.core.common.model.ResponseData
;
import
com.winsun.auth.core.shiro.ShiroUser
;
import
com.winsun.bean.HhrActivity
;
import
com.winsun.bean.HhrUser
;
import
com.winsun.bean.Partner
;
import
com.winsun.bean.School
;
...
...
@@ -96,7 +95,7 @@ public class PartnerController extends BaseController {
// wrapperSchool.like(StringUtils.isNotBlank(name), "name", name, SqlLike.DEFAULT);
List
<
School
>
schoolList
=
schoolMapper
.
selectList
(
wrapperSchool
);
Map
<
String
,
Object
>
refMap
=
MapUtil
.
listToMap
(
partner
Mapper
.
getSchoolRef
(),
"user_id"
,
"school_id"
);
Map
<
String
,
Object
>
refMap
=
MapUtil
.
listToMap
(
school
Mapper
.
getSchoolRef
(),
"user_id"
,
"school_id"
);
List
<
Map
<
String
,
Object
>>
newList
=
new
ArrayList
<>();
// List<Map<String, Object>> sysList = new ArrayList<>();
...
...
service-manager/src/main/java/com/winsun/controller/SalesOrderController.java
0 → 100644
View file @
dc440189
package
com
.
winsun
.
controller
;
import
java.io.IOException
;
import
java.sql.Timestamp
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletResponse
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.ss.usermodel.HorizontalAlignment
;
import
org.apache.poi.xssf.usermodel.XSSFCell
;
import
org.apache.poi.xssf.usermodel.XSSFCellStyle
;
import
org.apache.poi.xssf.usermodel.XSSFRow
;
import
org.apache.poi.xssf.usermodel.XSSFSheet
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.multipart.MultipartFile
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.winsun.auth.core.annotion.Permission
;
import
com.winsun.auth.core.base.controller.BaseController
;
import
com.winsun.auth.core.common.model.ResponseData
;
import
com.winsun.auth.core.shiro.ShiroUser
;
import
com.winsun.auth.core.util.IOUtils
;
import
com.winsun.bean.SalesOrder
;
import
com.winsun.bean.School
;
import
com.winsun.bean.SysUser
;
import
com.winsun.bean.YrymReport
;
import
com.winsun.mapper.SalesOrderMapper
;
import
com.winsun.mapper.SchoolMapper
;
import
com.winsun.mapper.SysUserMapper
;
import
com.winsun.utils.ImportExcel
;
import
com.winsun.utils.MapUtil
;
import
lombok.extern.slf4j.Slf4j
;
/**
* 销售订单
* @author Warden
*
*/
@Slf4j
@RestController
@RequestMapping
(
"/salesOrder"
)
public
class
SalesOrderController
extends
BaseController
{
/**
* 导入
*/
private
static
final
int
HEADER_NUM
=
-
1
;
private
static
final
int
SHEET_INDEX
=
0
;
/**
* 放号上传模板列名
*/
private
static
String
FH_SORT
=
"序号"
;
private
static
String
FH_ORDER_PHONE
=
"放号号码(必填)"
;
private
static
String
FH_NAME
=
"销售员(必填,填合伙人注册姓名)"
;
private
static
String
FH_ACCOUNT
=
"销售员账号(必填,系统注册手机号,重要)"
;
private
static
String
FH_SALES_SCHOOL
=
"销售学校"
;
private
static
String
FH_SALES_SUBST
=
"销售县分"
;
/**
* 充值审核模板列名
*/
private
static
String
CZ_ORDER_PHONE
=
"电信激活号码"
;
private
static
String
CZ_ACTIVATE_TIME
=
"激活时间"
;
private
static
String
CZ_NETWORK_CODE
=
"所属网点编码"
;
private
static
String
CZ_NETWORK_NAME
=
"所属网点"
;
private
static
String
CZ_AMOUNT
=
"充值金额"
;
private
static
SalesOrderMapper
salesOrderMapper
;
private
static
SysUserMapper
sysUserMapper
;
private
static
SchoolMapper
schoolMapper
;
private
List
<
Map
<
String
,
Object
>>
exportList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
private
SimpleDateFormat
sFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
@Autowired
public
SalesOrderController
(
SalesOrderMapper
salesOrderMapper
,
SysUserMapper
sysUserMapper
,
SchoolMapper
schoolMapper
)
{
SalesOrderController
.
salesOrderMapper
=
salesOrderMapper
;
SalesOrderController
.
sysUserMapper
=
sysUserMapper
;
SalesOrderController
.
schoolMapper
=
schoolMapper
;
}
@Permission
(
menuname
=
"获取销售订单列表"
,
value
=
"/list"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
Page
<
SalesOrder
>>
getList
(
@RequestParam
(
"orderPhone"
)
String
orderPhone
,
@RequestParam
(
"name"
)
String
name
,
@RequestParam
(
"account"
)
String
account
,
@RequestParam
(
"status"
)
String
status
,
@RequestParam
(
"orderType"
)
String
orderType
,
@RequestParam
(
"createTimeStart"
)
String
createTimeStart
,
@RequestParam
(
"createTimeEnd"
)
String
createTimeEnd
,
@RequestParam
(
"activateTimeStart"
)
String
activateTimeStart
,
@RequestParam
(
"activateTimeEnd"
)
String
activateTimeEnd
,
@RequestParam
(
name
=
"pageNo"
,
required
=
false
)
int
pageIndex
,
@RequestParam
(
name
=
"pageSize"
,
required
=
false
)
int
pageSize
){
Page
<
SalesOrder
>
page
=
new
Page
<>(
pageIndex
,
pageSize
);
Wrapper
<
SalesOrder
>
wrapperOrder
=
new
EntityWrapper
<
SalesOrder
>();
wrapperOrder
.
eq
(
StringUtils
.
isNotBlank
(
orderPhone
),
"order_phone"
,
orderPhone
);
wrapperOrder
.
eq
(
StringUtils
.
isNotBlank
(
orderType
),
"order_type"
,
orderType
);
wrapperOrder
.
eq
(
StringUtils
.
isNotBlank
(
status
),
"status"
,
status
);
wrapperOrder
.
eq
(
StringUtils
.
isNotBlank
(
name
),
"name"
,
name
);
wrapperOrder
.
eq
(
StringUtils
.
isNotBlank
(
account
),
"account"
,
account
);
wrapperOrder
.
eq
(
"del_flag"
,
0
);
List
<
SalesOrder
>
orderList
=
salesOrderMapper
.
selectPage
(
page
,
wrapperOrder
);
page
.
setRecords
(
orderList
);
return
ResponseData
.
success
(
page
,
"查询完毕!"
);
}
@Permission
(
menuname
=
"删除销售订单"
,
value
=
"/deleteOrder"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
deleteOrder
(
@RequestParam
(
"id"
)
String
id
){
SalesOrder
salesOrder
=
salesOrderMapper
.
selectById
(
id
);
String
status
=
salesOrder
.
getStatus
();
String
orderPhone
=
salesOrder
.
getOrderPhone
();
String
salesSchool
=
salesOrder
.
getSalesSchool
();
salesOrder
.
setDelFlag
(
"1"
);
int
num
=
salesOrderMapper
.
updateById
(
salesOrder
);
if
(
num
>
0
)
{
if
(
"0"
.
equals
(
status
))
{
// 重复订单删除后,重置对其它重复订单的影响
List
<
Map
<
String
,
Object
>>
phoneSchoolList
=
salesOrderMapper
.
getPhoneSchoolByPhone
(
orderPhone
);
Map
<
String
,
Object
>
phoneSchoolMap
=
phoneSchoolList
.
get
(
0
);
String
phoneSchool
=
(
String
)
phoneSchoolMap
.
get
(
"school"
);
String
remark
=
""
;
if
(
phoneSchool
.
indexOf
(
salesSchool
+
","
)
>
-
1
)
{
phoneSchool
=
phoneSchool
.
replace
(
salesSchool
+
","
,
""
);
}
else
{
phoneSchool
=
phoneSchool
.
replace
(
","
+
salesSchool
,
""
);
}
if
(
phoneSchool
.
split
(
","
).
length
>
1
)
{
remark
=
"放号号码"
+
phoneSchool
+
"学校有重复记录,请后期进行核对"
;
}
else
{
status
=
"1"
;
}
// 更新号码所属学校
phoneSchoolMap
.
put
(
"phoneSchool"
,
phoneSchool
);
phoneSchoolMap
.
put
(
"orderPhone"
,
orderPhone
);
List
<
Map
<
String
,
Object
>>
updateSchoolList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
updateSchoolList
.
add
(
phoneSchoolMap
);
updatePhoneSchool
(
updateSchoolList
);
salesOrderMapper
.
updateRepealOrder
(
status
,
remark
,
orderPhone
);
}
else
{
salesOrderMapper
.
deletePhoneSchool
(
orderPhone
);
}
return
ResponseData
.
success
(
"删除成功"
);
}
return
ResponseData
.
error
(
"删除失败"
);
}
@Permission
(
menuname
=
"导出订单清单"
,
value
=
"exportList"
,
method
=
RequestMethod
.
POST
)
public
void
downloadHhrOrder
(
HttpServletResponse
response
,
@RequestParam
(
"orderPhone"
)
String
orderPhone
,
@RequestParam
(
"name"
)
String
name
,
@RequestParam
(
"account"
)
String
account
,
@RequestParam
(
"status"
)
String
status
,
@RequestParam
(
"orderType"
)
String
orderType
,
@RequestParam
(
"createTimeStart"
)
String
createTimeStart
,
@RequestParam
(
"createTimeEnd"
)
String
createTimeEnd
,
@RequestParam
(
"activateTimeStart"
)
String
activateTimeStart
,
@RequestParam
(
"activateTimeEnd"
)
String
activateTimeEnd
)
throws
IOException
{
//获取数据
/*
* List<YrymReport> reportNum = getReportNum(startTime, endTime);
*
* InputStream in = null; ExcelWriter excelWriter = null; ServletOutputStream
* outputStream = null; try {
* response.setContentType("application/vnd.ms-excel");
* response.setCharacterEncoding("utf-8"); //防止中文乱码 String fileName =
* URLEncoder.encode("销售清单", "UTF-8"); response.setHeader("Content-disposition",
* "attachment;filename=" + fileName + ".xlsx"); in =
* this.getClass().getResourceAsStream("/static/销售清单模板.xlsx"); outputStream =
* response.getOutputStream(); excelWriter =
* EasyExcel.write(outputStream).withTemplate(in).excelType(ExcelTypeEnum.XLSX).
* build(); WriteSheet writeSheet = EasyExcel.writerSheet().build();
* excelWriter.fill(reportNum, writeSheet); Map<String, Object> map = new
* HashMap<String, Object>(); LocalDate nowTime = LocalDate.now();
* map.put("month", nowTime.getMonthValue()); map.put("date",
* nowTime.getDayOfMonth()); excelWriter.fill(map, writeSheet); } catch
* (Exception e) { // 重置response response.reset();
* response.setContentType("application/json");
* response.setCharacterEncoding("utf-8"); Map<String, String> map = new
* HashMap<String, String>(); map.put("status", "failure"); map.put("message",
* "下载文件失败" + e.getMessage());
* response.getWriter().println(JSON.toJSONString(map)); log.error("销售清单下载文件失败",
* e.getMessage()); } finally { //关闭资源 if (excelWriter != null) {
* excelWriter.finish(); } if (outputStream != null) { outputStream.flush(); }
* if (in != null) { in.close(); } }
*/
}
/**
* 根据县分名称获取一人一码发展统计表数据
*
* @param startTime 开始时间
* @param endTime 结束时间
* @return
*/
private
List
<
YrymReport
>
getReportNum
(
String
startTime
,
String
endTime
)
{
List
<
YrymReport
>
resultList
=
new
ArrayList
<>();
return
resultList
;
}
/**
* 受理订单
*
* @param file 上传的数据文件
* @return
*/
@Permission
(
menuname
=
"上传订单数据"
,
value
=
"importOrder"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
importOrder
(
@RequestParam
(
name
=
"file"
)
MultipartFile
file
)
{
StringBuffer
info
=
new
StringBuffer
();
if
(!
StringUtils
.
endsWithAny
(
file
.
getOriginalFilename
(),
"xlsx"
,
"xls"
))
{
return
ResponseData
.
error
(
"手工上传数据仅支持Excel文件,其他格式不支持!"
);
}
ShiroUser
user
=
getShiroUser
();
// 当前是否有数据权限
boolean
hasDataPermission
=
user
.
getRoleNames
().
stream
().
anyMatch
(
data
->
StringUtils
.
equalsAny
(
data
,
"活动上单员"
,
"数据管理员"
,
"超级管理员"
));
if
(!
hasDataPermission
)
{
return
ResponseData
.
error
(
"无数据权限!"
);
}
ImportExcel
importExcel
=
null
;
try
{
importExcel
=
new
ImportExcel
(
file
,
HEADER_NUM
,
SHEET_INDEX
);
}
catch
(
Exception
e
)
{
log
.
error
(
"受理单导入异常"
,
e
.
getMessage
());
return
ResponseData
.
error
(
"导入异常!"
);
}
List
<
Map
<
String
,
Object
>>
listMap
=
importExcel
.
getDataListMap
();
if
(
listMap
.
size
()
==
1
)
{
return
ResponseData
.
error
(
"文件不能为空"
);
}
if
(!
listMap
.
get
(
0
).
get
(
"b"
).
toString
().
equals
(
FH_ORDER_PHONE
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if
(!
listMap
.
get
(
0
).
get
(
"c"
).
toString
().
equals
(
FH_NAME
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if
(!
listMap
.
get
(
0
).
get
(
"d"
).
toString
().
equals
(
FH_ACCOUNT
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if
(!
listMap
.
get
(
0
).
get
(
"e"
).
toString
().
equals
(
FH_SALES_SCHOOL
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if
(!
listMap
.
get
(
0
).
get
(
"f"
).
toString
().
equals
(
FH_SALES_SUBST
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if
(
listMap
.
get
(
0
).
size
()
!=
6
)
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
//校验数据
try
{
//校验数据
for
(
int
i
=
1
;
i
<
listMap
.
size
();
i
++)
{
Map
<
String
,
Object
>
temp
=
listMap
.
get
(
i
);
if
(!
temp
.
containsKey
(
"b"
))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的放号号码不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"d"
).
toString
()))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的放号人账号不能为空"
);
}
}
//检查excel表中是否有重复人员编号
int
size
=
listMap
.
size
();
Set
<
String
>
accountSet
=
new
HashSet
<>(
size
);
for
(
int
i
=
0
;
i
<
size
;
i
++)
{
Map
<
String
,
Object
>
temp
=
listMap
.
get
(
i
);
accountSet
.
add
((
String
)
temp
.
get
(
"b"
));
}
if
(
accountSet
.
size
()
!=
size
)
{
return
ResponseData
.
error
(
"上传清单包含重复号码,请删除重复号码再上传!"
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"放号清单导入异常"
+
e
.
getMessage
(),
e
);
return
ResponseData
.
error
(
"导入异常!"
);
}
// 去掉首行标题
listMap
.
remove
(
0
);
Map
<
String
,
Object
>
resultMap
=
dealUploadData
(
listMap
);
int
num
=
(
int
)
resultMap
.
get
(
"num"
);
exportList
=
(
List
<
Map
<
String
,
Object
>>)
resultMap
.
get
(
"infoList"
);
info
.
append
(
"导入"
+
num
+
"条数据!"
);
if
(
exportList
.
size
()
>
0
)
{
info
.
append
(
"返回导入结果清单!"
);
}
return
ResponseData
.
success
(
info
.
toString
(),
"导入完成"
);
}
public
Map
<
String
,
Object
>
dealUploadData
(
List
<
Map
<
String
,
Object
>>
list
){
Map
<
String
,
Object
>
resultMap
=
new
HashMap
<
String
,
Object
>();
// 处理放号清单号码的销售学校清单,用于重复判断
Map
<
String
,
Object
>
phoneSchoolMap
=
MapUtil
.
listToMap
(
salesOrderMapper
.
getPhoneSchool
(),
"order_phone"
,
"school"
);
// 处理用户清单
Wrapper
<
SysUser
>
wrapperUser
=
new
EntityWrapper
<
SysUser
>();
wrapperUser
.
setSqlSelect
(
" account,id "
);
wrapperUser
.
eq
(
"status"
,
1
);
List
<
Map
<
String
,
Object
>>
userList
=
sysUserMapper
.
selectMaps
(
wrapperUser
);
Map
<
String
,
Object
>
userMaps
=
MapUtil
.
listToMap
(
userList
,
"account"
,
"id"
);
List
<
Map
<
String
,
Object
>>
insertList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
List
<
Map
<
String
,
Object
>>
phoneSchoolList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
List
<
Map
<
String
,
Object
>>
updateList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
List
<
Map
<
String
,
Object
>>
infoList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
for
(
Map
<
String
,
Object
>
map
:
list
)
{
String
sortNo
=
(
String
)
map
.
get
(
"a"
);
String
orderPhone
=
(
String
)
map
.
get
(
"b"
);
String
name
=
(
String
)
map
.
get
(
"c"
);
String
account
=
(
String
)
map
.
get
(
"d"
);
String
salesSchool
=
(
String
)
map
.
get
(
"e"
);
String
salesSubst
=
(
String
)
map
.
get
(
"f"
);
Map
<
String
,
Object
>
theMap
=
new
HashMap
<
String
,
Object
>();
theMap
.
put
(
"sortNo"
,
sortNo
);
theMap
.
put
(
"orderPhone"
,
orderPhone
);
theMap
.
put
(
"name"
,
name
);
theMap
.
put
(
"account"
,
account
);
theMap
.
put
(
"salesSchool"
,
salesSchool
);
theMap
.
put
(
"salesSubst"
,
salesSubst
);
if
(
null
==
userMaps
.
get
(
account
))
{
theMap
.
put
(
"desc"
,
"账号不存在"
);
infoList
.
add
(
theMap
);
continue
;
}
else
{
theMap
.
put
(
"userId"
,
userMaps
.
get
(
account
));
}
if
(
null
!=
phoneSchoolMap
.
get
(
orderPhone
))
{
String
phoneSchool
=
(
String
)
phoneSchoolMap
.
get
(
orderPhone
);
if
(
phoneSchool
.
indexOf
(
salesSchool
)
>
-
1
)
{
theMap
.
put
(
"desc"
,
"放号号码该销售学校有重复记录,请去重后重新上传"
);
infoList
.
add
(
theMap
);
}
else
{
theMap
.
put
(
"desc"
,
"放号号码"
+
phoneSchool
+
","
+
salesSchool
+
"学校有重复记录,请后期进行核对;"
);
theMap
.
put
(
"phoneSchool"
,
phoneSchool
+
","
+
salesSchool
);
updateList
.
add
(
theMap
);
insertList
.
add
(
theMap
);
phoneSchoolList
.
add
(
theMap
);
infoList
.
add
(
theMap
);
}
}
else
{
theMap
.
put
(
"phoneSchool"
,
salesSchool
);
insertList
.
add
(
theMap
);
phoneSchoolList
.
add
(
theMap
);
}
}
int
num
=
addSalesOrder
(
insertList
);
updatePhoneSchool
(
phoneSchoolList
);
updateRepealOrder
(
updateList
);
resultMap
.
put
(
"num"
,
num
);
resultMap
.
put
(
"infoList"
,
infoList
);
return
resultMap
;
}
// 插入销售订单表
public
int
addSalesOrder
(
List
<
Map
<
String
,
Object
>>
list
)
{
int
num
=
0
;
for
(
Map
<
String
,
Object
>
map
:
list
)
{
SalesOrder
order
=
new
SalesOrder
();
order
.
setOrderPhone
((
String
)
map
.
get
(
"orderPhone"
));
order
.
setUserId
(
Integer
.
toString
((
int
)
map
.
get
(
"userId"
)));
order
.
setCreateTime
(
new
Date
());
order
.
setSalesSubst
((
String
)
map
.
get
(
"salesSubst"
));
order
.
setSalesSchool
((
String
)
map
.
get
(
"salesSchool"
));
order
.
setOrderType
(
"1"
);
num
+=
salesOrderMapper
.
insert
(
order
);
}
return
num
;
}
// 更新号码销售学校表
public
void
updatePhoneSchool
(
List
<
Map
<
String
,
Object
>>
list
)
{
for
(
Map
<
String
,
Object
>
map
:
list
)
{
salesOrderMapper
.
updatePhoneSchool
((
String
)
map
.
get
(
"orderPhone"
),
(
String
)
map
.
get
(
"phoneSchool"
));
}
}
// 更新重复订单的备注说明
public
void
updateRepealOrder
(
List
<
Map
<
String
,
Object
>>
list
)
{
for
(
Map
<
String
,
Object
>
map
:
list
)
{
String
orderPhone
=
(
String
)
map
.
get
(
"orderPhone"
);
// 0 重复上传
String
status
=
"0"
;
String
phoneSchool
=
(
String
)
map
.
get
(
"phoneSchool"
);
String
remark
=
"放号号码在"
+
phoneSchool
+
"重复上传"
;
salesOrderMapper
.
updateRepealOrder
(
status
,
remark
,
orderPhone
);
}
}
/**
* 充值审核
*
* @param file 上传的数据文件
* @return
*/
@Permission
(
menuname
=
"充值审核"
,
value
=
"importRechargeData"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
importRechargeData
(
@RequestParam
(
name
=
"file"
)
MultipartFile
file
)
{
StringBuffer
info
=
new
StringBuffer
();
if
(!
StringUtils
.
endsWithAny
(
file
.
getOriginalFilename
(),
"xlsx"
,
"xls"
))
{
return
ResponseData
.
error
(
"手工上传数据仅支持Excel文件,其他格式不支持!"
);
}
ShiroUser
user
=
getShiroUser
();
// 当前是否有数据权限
boolean
hasDataPermission
=
user
.
getRoleNames
().
stream
().
anyMatch
(
data
->
StringUtils
.
equalsAny
(
data
,
"活动上单员"
,
"数据管理员"
,
"超级管理员"
));
if
(!
hasDataPermission
)
{
return
ResponseData
.
error
(
"无数据权限!"
);
}
ImportExcel
importExcel
=
null
;
try
{
importExcel
=
new
ImportExcel
(
file
,
HEADER_NUM
,
SHEET_INDEX
);
}
catch
(
Exception
e
)
{
log
.
error
(
"充值审核导入异常"
,
e
.
getMessage
());
return
ResponseData
.
error
(
"导入异常!"
);
}
List
<
Map
<
String
,
Object
>>
listMap
=
importExcel
.
getDataListMap
();
if
(
listMap
.
size
()
==
1
)
{
return
ResponseData
.
error
(
"文件不能为空"
);
}
if
(!
listMap
.
get
(
0
).
get
(
"a"
).
toString
().
equals
(
CZ_ORDER_PHONE
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if
(!
listMap
.
get
(
0
).
get
(
"b"
).
toString
().
equals
(
CZ_ACTIVATE_TIME
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if
(!
listMap
.
get
(
0
).
get
(
"c"
).
toString
().
equals
(
CZ_NETWORK_CODE
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if
(!
listMap
.
get
(
0
).
get
(
"d"
).
toString
().
equals
(
CZ_NETWORK_NAME
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if
(!
listMap
.
get
(
0
).
get
(
"e"
).
toString
().
equals
(
CZ_AMOUNT
))
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
if
(
listMap
.
get
(
0
).
size
()
!=
5
)
{
return
ResponseData
.
error
(
"模板不对,请选择正确的模板!"
);
}
//校验数据
try
{
//校验数据
for
(
int
i
=
1
;
i
<
listMap
.
size
();
i
++)
{
Map
<
String
,
Object
>
temp
=
listMap
.
get
(
i
);
if
(!
temp
.
containsKey
(
"a"
))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的激活号码不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"b"
).
toString
()))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的激活时间不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"d"
).
toString
()))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的系统所属网点编码不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"c"
).
toString
()))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的系统所属网点名称不能为空"
);
}
if
(
StringUtils
.
isBlank
(
temp
.
get
(
"d"
).
toString
()))
{
return
ResponseData
.
error
(
"第"
+
(
i
+
1
)
+
"行的充值金额不能为空"
);
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"充值审核导入异常"
+
e
.
getMessage
(),
e
);
return
ResponseData
.
error
(
"导入异常!"
);
}
// 去掉首行标题
listMap
.
remove
(
0
);
int
num
=
dealRechargeData
(
listMap
);
return
ResponseData
.
success
(
"审核完成,审核"
+
num
+
"条订单!"
);
}
// 处理充值审核数据
public
int
dealRechargeData
(
List
<
Map
<
String
,
Object
>>
list
){
Map
<
String
,
Object
>
resultMap
=
new
HashMap
<
String
,
Object
>();
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
add
(
Calendar
.
MONTH
,
-
7
);
String
date
=
simpleDateFormat
.
format
(
calendar
.
getTime
());
// 获取半年上传内的订单
Wrapper
<
SalesOrder
>
wrapperOrder
=
new
EntityWrapper
<
SalesOrder
>();
wrapperOrder
.
ge
(
"create_time"
,
date
);
wrapperOrder
.
eq
(
"order_type"
,
1
);
wrapperOrder
.
eq
(
"del_flag"
,
0
);
wrapperOrder
.
eq
(
"send_bonus"
,
0
);
wrapperOrder
.
ne
(
"status"
,
"0"
);
List
<
Map
<
String
,
Object
>>
orderList
=
salesOrderMapper
.
selectMaps
(
wrapperOrder
);
Map
<
String
,
Object
>
orderMaps
=
MapUtil
.
listToMap
(
orderList
,
"orderPhone"
);
// 获取学校清单比较网点
Wrapper
<
School
>
wrapperSchool
=
new
EntityWrapper
<
School
>();
wrapperSchool
.
setSqlSelect
(
" school_name as schoolName,network_name as networkName,network_code as networkCode "
);
List
<
Map
<
String
,
Object
>>
schoolList
=
schoolMapper
.
selectMaps
(
wrapperSchool
);
Map
<
String
,
Object
>
schoolMaps
=
MapUtil
.
listToMap
(
schoolList
,
"schoolName"
);
List
<
Map
<
String
,
Object
>>
updateList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
for
(
Map
<
String
,
Object
>
map
:
list
)
{
String
orderPhone
=
(
String
)
map
.
get
(
"a"
);
String
activateTime
=
(
String
)
map
.
get
(
"b"
);
String
networkCode
=
(
String
)
map
.
get
(
"c"
);
String
networkName
=
(
String
)
map
.
get
(
"d"
);
double
amount
=
Double
.
parseDouble
((
String
)
map
.
get
(
"e"
));
boolean
isSkip
=
false
;
if
(
null
!=
orderMaps
.
get
(
orderPhone
))
{
Map
<
String
,
Object
>
orderMap
=
(
Map
<
String
,
Object
>)
orderMaps
.
get
(
orderPhone
);
String
status
=
"2"
;
String
remark
=
"激活号码所属学校与上报学校不一致"
;
if
(
null
==
networkName
)
{
isSkip
=
true
;
}
Map
<
String
,
Object
>
schoolMap
=
(
Map
<
String
,
Object
>)
schoolMaps
.
get
(
orderMap
.
get
(
"salesSchool"
));
if
(
null
!=
schoolMap
.
get
(
"networkCode"
))
{
if
(
networkCode
.
equals
(
schoolMap
.
get
(
"networkCode"
)))
{
double
bonus
=
0
;
double
allBonus
=
0
;
double
nonSendBonus
=
0
;
if
(
amount
>=
50
&&
amount
<
100
)
{
bonus
=
20
;
}
else
if
(
amount
>=
100
)
{
bonus
=
40
;
}
if
(
"广州美术学院(大学城)"
.
equals
(
orderMap
.
get
(
"sales_school"
))
&&
bonus
>=
20
){
bonus
=
10
;
}
allBonus
=
bonus
;
nonSendBonus
=
bonus
;
if
(
bonus
==
0
)
{
status
=
"4"
;
remark
=
"充值金额小于50元"
;
}
else
{
status
=
"3"
;
remark
=
""
;
}
orderMap
.
put
(
"allBonus"
,
allBonus
);
orderMap
.
put
(
"nonSendBonus"
,
nonSendBonus
);
orderMap
.
put
(
"recentlyAmount"
,
amount
);
orderMap
.
put
(
"recentlyBonus"
,
bonus
);
}
}
else
{
remark
=
"该学校的网点信息未添加"
;
}
orderMap
.
put
(
"status"
,
status
);
orderMap
.
put
(
"remark"
,
remark
);
orderMap
.
put
(
"activateTime"
,
activateTime
);
orderMap
.
put
(
"networkCode"
,
networkCode
);
orderMap
.
put
(
"networkName"
,
networkName
);
updateList
.
add
(
orderMap
);
}
}
int
num
=
updateAuditResult
(
updateList
);
return
num
;
}
// 更新审核结果到销售订单
public
int
updateAuditResult
(
List
<
Map
<
String
,
Object
>>
list
)
{
int
num
=
0
;
try
{
for
(
Map
<
String
,
Object
>
map
:
list
)
{
SalesOrder
order
=
new
SalesOrder
();
order
.
setId
((
int
)
map
.
get
(
"id"
));
order
.
setStatus
((
String
)
map
.
get
(
"status"
));
order
.
setRemark
((
String
)
map
.
get
(
"remark"
));
order
.
setAuditTime
(
new
Date
());
if
(!
"1"
.
equals
((
String
)
map
.
get
(
"status"
)))
{
order
.
setAllBonus
((
double
)
map
.
get
(
"allBonus"
));
order
.
setNonSendBonus
((
double
)
map
.
get
(
"nonSendBonus"
));
order
.
setRecentlyAmount
((
double
)
map
.
get
(
"recentlyAmount"
));
order
.
setRecentlyBonus
((
double
)
map
.
get
(
"nonSendBonus"
));
order
.
setActivateTime
(
sFormat
.
parse
((
String
)
map
.
get
(
"activateTime"
)));
order
.
setNetworkCode
((
String
)
map
.
get
(
"networkCode"
));
order
.
setNetworkName
((
String
)
map
.
get
(
"networkName"
));
}
num
+=
salesOrderMapper
.
updateById
(
order
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"更新审核结果到销售订单异常"
+
e
.
getMessage
(),
e
);
}
return
num
;
}
@Permission
(
menuname
=
"放号上传模板"
,
method
=
RequestMethod
.
POST
,
value
=
"downloadTemplateFH"
)
public
ResponseData
downloadTemplateFH
()
{
ArrayList
<
String
>
columns
=
new
ArrayList
<>();
columns
.
add
(
FH_SORT
);
columns
.
add
(
FH_ORDER_PHONE
);
columns
.
add
(
FH_NAME
);
columns
.
add
(
FH_ACCOUNT
);
columns
.
add
(
FH_SALES_SCHOOL
);
columns
.
add
(
FH_SALES_SUBST
);
ServletOutputStream
os
=
null
;
XSSFWorkbook
workbook
=
new
XSSFWorkbook
();
try
{
//创建工作表
XSSFSheet
sheet
=
workbook
.
createSheet
(
"放号上传清单"
);
sheet
.
setColumnWidth
(
0
,
3000
);
sheet
.
setColumnWidth
(
1
,
5000
);
sheet
.
setColumnWidth
(
2
,
5000
);
sheet
.
setColumnWidth
(
3
,
4000
);
sheet
.
setColumnWidth
(
4
,
4000
);
sheet
.
setColumnWidth
(
5
,
4000
);
//添加表头
final
XSSFRow
row
=
sheet
.
createRow
(
0
);
XSSFCellStyle
cellStyle
=
workbook
.
createCellStyle
();
cellStyle
.
setAlignment
(
HorizontalAlignment
.
CENTER
);
columns
.
forEach
(
val
->
{
XSSFCell
cell
=
row
.
createCell
(
Math
.
max
(
row
.
getLastCellNum
(),
0
));
cell
.
setCellValue
(
val
);
});
HttpServletResponse
response
=
getHttpServletResponse
();
response
.
reset
();
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setContentType
(
"application/vnd.ms-excel"
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment;fileName=data.xlsx"
);
os
=
response
.
getOutputStream
();
workbook
.
write
(
os
);
os
.
flush
();
}
catch
(
IOException
e
)
{
log
.
error
(
"放号上传清单模板文件出错!"
+
e
.
getMessage
(),
e
);
}
finally
{
IOUtils
.
closeQuite
(
workbook
,
os
);
}
return
ResponseData
.
error
(
"放号上传清单模板出错"
);
}
@Permission
(
menuname
=
"充值审核模板"
,
method
=
RequestMethod
.
POST
,
value
=
"downloadTemplateCZ"
)
public
ResponseData
downloadTemplateCZ
()
{
ArrayList
<
String
>
columns
=
new
ArrayList
<>();
columns
.
add
(
CZ_ORDER_PHONE
);
columns
.
add
(
CZ_ACTIVATE_TIME
);
columns
.
add
(
CZ_NETWORK_CODE
);
columns
.
add
(
CZ_NETWORK_NAME
);
columns
.
add
(
CZ_AMOUNT
);
ServletOutputStream
os
=
null
;
XSSFWorkbook
workbook
=
new
XSSFWorkbook
();
try
{
//创建工作表
XSSFSheet
sheet
=
workbook
.
createSheet
(
"充值审核清单"
);
sheet
.
setColumnWidth
(
0
,
5000
);
sheet
.
setColumnWidth
(
2
,
9000
);
sheet
.
setColumnWidth
(
1
,
4000
);
sheet
.
setColumnWidth
(
3
,
9000
);
//添加表头
final
XSSFRow
row
=
sheet
.
createRow
(
0
);
XSSFCellStyle
cellStyle
=
workbook
.
createCellStyle
();
cellStyle
.
setAlignment
(
HorizontalAlignment
.
CENTER
);
columns
.
forEach
(
val
->
{
XSSFCell
cell
=
row
.
createCell
(
Math
.
max
(
row
.
getLastCellNum
(),
0
));
cell
.
setCellValue
(
val
);
});
HttpServletResponse
response
=
getHttpServletResponse
();
response
.
reset
();
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setContentType
(
"application/vnd.ms-excel"
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment;fileName=data.xlsx"
);
os
=
response
.
getOutputStream
();
workbook
.
write
(
os
);
os
.
flush
();
}
catch
(
IOException
e
)
{
log
.
error
(
"充值审核清单模板文件出错!"
+
e
.
getMessage
(),
e
);
}
finally
{
IOUtils
.
closeQuite
(
workbook
,
os
);
}
return
ResponseData
.
error
(
"充值审核清单模板出错"
);
}
@Permission
(
menuname
=
"导出导入结果"
,
value
=
"exportResult"
,
method
=
RequestMethod
.
POST
)
public
void
exportResult
(
)
throws
IOException
{
List
<
String
>
tops
=
new
ArrayList
<>();
tops
.
add
(
FH_SORT
);
tops
.
add
(
FH_ORDER_PHONE
);
tops
.
add
(
FH_NAME
);
tops
.
add
(
FH_ACCOUNT
);
tops
.
add
(
FH_SALES_SCHOOL
);
tops
.
add
(
FH_SALES_SUBST
);
tops
.
add
(
"导入结果"
);
List
<
String
>
columns
=
new
ArrayList
<>();
columns
.
add
(
"sortNo"
);
columns
.
add
(
"orderPhone"
);
columns
.
add
(
"name"
);
columns
.
add
(
"account"
);
columns
.
add
(
"salesSchool"
);
columns
.
add
(
"salesSubst"
);
columns
.
add
(
"desc"
);
ServletOutputStream
os
=
null
;
XSSFWorkbook
workbook
=
new
XSSFWorkbook
();
try
{
//创建工作表
XSSFSheet
sheet
=
workbook
.
createSheet
(
"导入结果返回清单"
);
//添加表头
final
XSSFRow
row
=
sheet
.
createRow
(
0
);
//设置列宽度
sheet
.
setColumnWidth
(
1
,
3000
);
//第一行字段名称
tops
.
forEach
(
column
->
{
XSSFCell
cell
=
row
.
createCell
(
Math
.
max
(
row
.
getLastCellNum
(),
0
));
cell
.
setCellValue
(
column
);
});
//数据
int
rowIndex
=
row
.
getRowNum
();
for
(
Map
<
String
,
Object
>
maps:
exportList
)
{
final
XSSFRow
rowdata
=
sheet
.
createRow
(++
rowIndex
);
for
(
String
column
:
columns
)
{
XSSFCell
cell
=
rowdata
.
createCell
(
Math
.
max
(
rowdata
.
getLastCellNum
(),
0
));
if
(
maps
.
get
(
column
)
!=
null
)
{
cell
.
setCellValue
(
maps
.
get
(
column
).
toString
());
}
}
}
HttpServletResponse
response
=
getHttpServletResponse
();
response
.
reset
();
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setContentType
(
"application/octet-stream"
);
os
=
response
.
getOutputStream
();
workbook
.
write
(
os
);
os
.
flush
();
exportList
=
null
;
}
catch
(
Exception
e
)
{
log
.
error
(
"文件出错!"
+
e
.
getMessage
(),
e
);
}
finally
{
IOUtils
.
closeQuite
(
workbook
,
os
);
}
}
public
static
String
timeStamp2Date
(
String
seconds
,
String
format
)
{
if
(
seconds
==
null
||
seconds
.
isEmpty
()
||
seconds
.
equals
(
"null"
)){
return
""
;
}
if
(
format
==
null
||
format
.
isEmpty
()){
format
=
"yyyy-MM-dd HH:mm:ss"
;
}
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
format
);
return
sdf
.
format
(
new
Date
(
Long
.
valueOf
(
seconds
+
"000"
)));
}
@Permission
(
menuname
=
"导出销售清单"
,
value
=
"exportOrderList"
,
method
=
RequestMethod
.
POST
)
public
void
exportOrderList
(
@RequestParam
(
"orderPhone"
)
String
orderPhone
,
@RequestParam
(
"name"
)
String
name
,
@RequestParam
(
"account"
)
String
account
,
@RequestParam
(
"status"
)
String
status
,
@RequestParam
(
"orderType"
)
String
orderType
,
@RequestParam
(
"createTimeStart"
)
String
createTimeStart
,
@RequestParam
(
"createTimeEnd"
)
String
createTimeEnd
,
@RequestParam
(
"activateTimeStart"
)
String
activateTimeStart
,
@RequestParam
(
"activateTimeEnd"
)
String
activateTimeEnd
)
throws
IOException
{
Wrapper
<
SalesOrder
>
wrapperOrder
=
new
EntityWrapper
<
SalesOrder
>();
wrapperOrder
.
eq
(
StringUtils
.
isNotBlank
(
orderPhone
),
"order_phone"
,
orderPhone
);
wrapperOrder
.
eq
(
StringUtils
.
isNotBlank
(
orderType
),
"order_type"
,
orderType
);
wrapperOrder
.
eq
(
StringUtils
.
isNotBlank
(
status
),
"status"
,
status
);
wrapperOrder
.
eq
(
StringUtils
.
isNotBlank
(
name
),
"name"
,
name
);
wrapperOrder
.
eq
(
StringUtils
.
isNotBlank
(
account
),
"account"
,
account
);
List
<
Map
<
String
,
Object
>>
orderList
=
salesOrderMapper
.
selectMaps
(
wrapperOrder
);
List
<
String
>
tops
=
new
ArrayList
<>();
tops
.
add
(
"销售学校"
);
tops
.
add
(
"销售县分"
);
tops
.
add
(
"激活号码"
);
tops
.
add
(
"放号人"
);
tops
.
add
(
"放号人账号"
);
tops
.
add
(
"创建时间"
);
List
<
String
>
columns
=
new
ArrayList
<>();
columns
.
add
(
"salesSubst"
);
columns
.
add
(
"salesSchool"
);
columns
.
add
(
"orderPhone"
);
columns
.
add
(
"name"
);
columns
.
add
(
"account"
);
columns
.
add
(
"createTime"
);
ServletOutputStream
os
=
null
;
XSSFWorkbook
workbook
=
new
XSSFWorkbook
();
try
{
//创建工作表
XSSFSheet
sheet
=
workbook
.
createSheet
(
"积分记录清单"
);
//添加表头
final
XSSFRow
row
=
sheet
.
createRow
(
0
);
//设置列宽度
sheet
.
setColumnWidth
(
1
,
6500
);
sheet
.
setColumnWidth
(
2
,
6500
);
sheet
.
setColumnWidth
(
3
,
6500
);
sheet
.
setColumnWidth
(
4
,
6500
);
sheet
.
setColumnWidth
(
5
,
7000
);
sheet
.
setColumnWidth
(
6
,
4000
);
//第一行字段名称
tops
.
forEach
(
column
->
{
XSSFCell
cell
=
row
.
createCell
(
Math
.
max
(
row
.
getLastCellNum
(),
0
));
cell
.
setCellValue
(
column
);
});
//数据
int
rowIndex
=
row
.
getRowNum
();
for
(
Map
<
String
,
Object
>
maps:
orderList
)
{
final
XSSFRow
rowdata
=
sheet
.
createRow
(++
rowIndex
);
for
(
String
column
:
columns
)
{
XSSFCell
cell
=
rowdata
.
createCell
(
Math
.
max
(
rowdata
.
getLastCellNum
(),
0
));
if
(
maps
.
get
(
column
)
!=
null
)
{
cell
.
setCellValue
(
maps
.
get
(
column
).
toString
());
}
}
}
HttpServletResponse
response
=
getHttpServletResponse
();
response
.
reset
();
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setContentType
(
"application/octet-stream"
);
os
=
response
.
getOutputStream
();
workbook
.
write
(
os
);
os
.
flush
();
}
catch
(
Exception
e
)
{
log
.
error
(
"文件出错!"
+
e
.
getMessage
(),
e
);
}
finally
{
IOUtils
.
closeQuite
(
workbook
,
os
);
}
}
}
service-manager/src/main/java/com/winsun/controller/SchoolManagementController.java
View file @
dc440189
...
...
@@ -205,6 +205,7 @@ public class SchoolManagementController extends BaseController {
wrapper
.
eq
(
StringUtils
.
isNotBlank
(
status
),
"status"
,
status
);
Page
<
Map
<
String
,
Object
>>
page
=
new
Page
<>(
pageIndex
,
pageSize
);
List
<
Map
<
String
,
Object
>>
maps
=
schoolMapper
.
selectMapsPage
(
page
,
wrapper
);
//查询县分列表
Wrapper
<
School
>
wrapperSubName
=
new
EntityWrapper
();
wrapperSubName
.
setSqlSelect
(
"sub_name as subNameList"
).
groupBy
(
"sub_name"
);
...
...
service-manager/src/main/java/com/winsun/controller/WeixinAuthController.java
0 → 100644
View file @
dc440189
package
com
.
winsun
.
controller
;
import
java.io.IOException
;
import
javax.servlet.http.HttpServletResponse
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.RequestMapping
;
@Controller
public
class
WeixinAuthController
{
@RequestMapping
(
"/MP_verify_oYaGTxvtIJXLOkXB.txt"
)
public
void
auth
(
HttpServletResponse
response
)
throws
IOException
{
response
.
getWriter
().
print
(
"oYaGTxvtIJXLOkXB"
);
}
}
service-manager/src/main/java/com/winsun/controller/school/SchoolAllocationController.java
0 → 100644
View file @
dc440189
package
com
.
winsun
.
controller
.
school
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.baomidou.mybatisplus.enums.SqlLike
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.winsun.auth.core.annotion.Permission
;
import
com.winsun.auth.core.base.controller.BaseController
;
import
com.winsun.auth.core.common.model.ResponseData
;
import
com.winsun.bean.School
;
import
com.winsun.bean.SysUser
;
import
com.winsun.mapper.PackageMapper
;
import
com.winsun.mapper.ProductMapper
;
import
com.winsun.mapper.SchoolMapper
;
import
com.winsun.mapper.SchoolPackageMapper
;
import
com.winsun.mapper.SysUserMapper
;
import
com.winsun.utils.MapUtil
;
import
lombok.extern.slf4j.Slf4j
;
/**
* @Author: chancy
* @Date: 2020/2/12 17:25 学校管理
*/
@Slf4j
@RestController
@RequestMapping
(
"/school/schoolAllocation"
)
public
class
SchoolAllocationController
extends
BaseController
{
private
static
SchoolMapper
schoolMapper
;
private
static
SysUserMapper
sysUserMapper
;
@Autowired
public
SchoolAllocationController
(
SchoolMapper
schoolMapper
,
SysUserMapper
sysUserMapper
)
{
SchoolAllocationController
.
schoolMapper
=
schoolMapper
;
SchoolAllocationController
.
sysUserMapper
=
sysUserMapper
;
}
@Permission
(
menuname
=
"添加学校分配信息"
,
value
=
"addSchoolAllocation"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
insertSchool
(
@RequestParam
(
"account"
)
String
account
,
@RequestParam
(
"schoolId"
)
String
schoolId
)
{
Wrapper
<
SysUser
>
wrapperUser
=
new
EntityWrapper
<
SysUser
>();
wrapperUser
.
eq
(
"account"
,
account
);
//wrapperUser.eq(column, params);
List
<
SysUser
>
userList
=
sysUserMapper
.
selectList
(
wrapperUser
);
if
(
userList
.
size
()
>
0
){
schoolMapper
.
addSupervisorSchool
(
userList
.
get
(
0
).
getId
(),
schoolId
);
return
ResponseData
.
success
(
"添加成功!"
);
}
return
ResponseData
.
error
(
"账号不存在!!"
);
}
@Permission
(
menuname
=
"删除学校分配信息"
,
value
=
"deleteSchoolAllocation"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
String
>
deleteSchool
(
@RequestParam
(
"id"
)
String
id
)
{
int
num
=
schoolMapper
.
deleteSupervisorSchool
(
id
);
if
(
num
==
1
){
return
ResponseData
.
success
(
"删除成功!"
);
}
return
ResponseData
.
error
(
"删除失败"
);
}
/**
*
* @param account
* @param name
* @param substName
* @param schoolName
* @param pageIndex
* @param pageSize
* @return
*/
@Permission
(
menuname
=
"查询学校分配"
,
value
=
"findByList"
,
method
=
RequestMethod
.
POST
)
public
ResponseData
<
Page
<
Map
<
String
,
Object
>>>
listSchool
(
@RequestParam
(
"account"
)
String
account
,
@RequestParam
(
"name"
)
String
name
,
@RequestParam
(
"substName"
)
String
substName
,
@RequestParam
(
"schoolName"
)
String
schoolName
,
@RequestParam
(
name
=
"pageNo"
,
required
=
false
)
int
pageIndex
,
@RequestParam
(
name
=
"pageSize"
,
required
=
false
)
int
pageSize
)
{
Wrapper
<
SysUser
>
wrapperUser
=
new
EntityWrapper
();
wrapperUser
.
like
(
StringUtils
.
isNotBlank
(
name
),
"name"
,
name
,
SqlLike
.
DEFAULT
);
wrapperUser
.
eq
(
StringUtils
.
isNotBlank
(
account
),
"account"
,
account
);
List
<
SysUser
>
userList
=
sysUserMapper
.
selectList
(
wrapperUser
);
Wrapper
<
School
>
wrapperSchool
=
new
EntityWrapper
();
wrapperSchool
.
eq
(
StringUtils
.
isNotBlank
(
schoolName
),
"school_name"
,
schoolName
);
wrapperSchool
.
like
(
StringUtils
.
isNotBlank
(
substName
),
"sub_name"
,
substName
,
SqlLike
.
DEFAULT
);
List
<
School
>
schoolList
=
schoolMapper
.
selectList
(
wrapperSchool
);
Map
<
String
,
Object
>
schoolMap
=
MapUtil
.
listToMap
(
schoolMapper
.
getSchoolRef
(),
"user_id"
,
"school_id"
);
List
<
Map
<
String
,
Object
>>
schoolAllocationList
=
schoolMapper
.
getSupervisorSchoolRef
();
List
<
Map
<
String
,
Object
>>
dataList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
for
(
Map
<
String
,
Object
>
schoolAllocation
:
schoolAllocationList
)
{
String
theUserId
=
Integer
.
toString
((
Integer
)
schoolAllocation
.
get
(
"user_id"
));
String
theSchoolId
=
(
String
)
schoolAllocation
.
get
(
"school"
);
for
(
SysUser
sysUser
:
userList
)
{
if
(
sysUser
.
getId
().
equals
(
theUserId
))
{
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
map
.
put
(
"account"
,
sysUser
.
getAccount
());
map
.
put
(
"name"
,
sysUser
.
getName
());
map
.
put
(
"schoolId"
,
theSchoolId
);
map
.
put
(
"userId"
,
sysUser
.
getId
());
map
.
put
(
"id"
,
schoolAllocation
.
get
(
"id"
));
dataList
.
add
(
map
);
}
}
}
for
(
Map
<
String
,
Object
>
map
:
dataList
)
{
int
theSchoolId
=
Integer
.
parseInt
((
String
)
map
.
get
(
"schoolId"
));
for
(
School
school
:
schoolList
)
{
if
(
school
.
getId
()
==
theSchoolId
)
{
map
.
put
(
"substName"
,
school
.
getSubName
());
map
.
put
(
"schoolName"
,
school
.
getSchoolName
());
}
}
}
Page
<
Map
<
String
,
Object
>>
page
=
new
Page
<>(
pageIndex
,
pageSize
);
List
<
Map
<
String
,
Object
>>
newList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
if
(
pageIndex
*
pageSize
>
dataList
.
size
())
{
newList
=
dataList
.
subList
((
pageIndex
-
1
)*
pageSize
,
dataList
.
size
());
}
else
{
newList
=
dataList
.
subList
((
pageIndex
-
1
)*
pageSize
,
pageIndex
*
pageSize
);
}
page
.
setRecords
(
newList
);
page
.
setTotal
(
dataList
.
size
());
return
ResponseData
.
success
(
page
,
"查询完毕!"
);
}
}
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