Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
A
Aidea
Project
Project
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
sa_aidea
Aidea
Commits
777d4661
Commit
777d4661
authored
Sep 27, 2020
by
黎聪聪
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
会员管理
parent
85cba2f2
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
646 additions
and
525 deletions
+646
-525
consultSheetlist.html
...n/webapp/WEB-INF/views/consultSheet/consultSheetlist.html
+44
-8
ConsultSheetController.java
...a/com/cftech/consultsheet/web/ConsultSheetController.java
+2
-4
memberlist.html
...-web/src/main/webapp/WEB-INF/views/member/memberlist.html
+65
-49
MemberMapper.xml
...dule/src/main/java/com/cftech/member/dao/MemberMapper.xml
+6
-9
MemberDto.java
...dule/src/main/java/com/cftech/member/model/MemberDto.java
+14
-14
MemberController.java
...src/main/java/com/cftech/member/web/MemberController.java
+57
-36
fansslist.html
...b/src/main/webapp/WEB-INF/views/managefans/fansslist.html
+84
-90
MpFanssController.java
...java/com/cftech/mp/fans/controller/MpFanssController.java
+333
-315
MpFanssVO.java
...ule/src/main/java/com/cftech/mp/fans/model/MpFanssVO.java
+41
-0
No files found.
aidea-modules/consult-module-web/src/main/webapp/WEB-INF/views/consultSheet/consultSheetlist.html
View file @
777d4661
...
...
@@ -262,15 +262,23 @@
"aTargets"
:
[
1
],
"mData"
:
"consultId"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
if
(
a
){
return
a
;
}
else
{
return
null
;
}
}
},
{
"aTargets"
:
[
2
],
"mData"
:
"userName"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
if
(
a
){
return
a
;
}
else
{
return
null
;
}
}
},
{
...
...
@@ -289,7 +297,11 @@
"aTargets"
:
[
4
],
"mData"
:
"iphone"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
if
(
a
){
return
a
;
}
else
{
return
null
;
}
}
},
...
...
@@ -297,7 +309,11 @@
"aTargets"
:
[
5
],
"mData"
:
"pastRecords"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
if
(
a
){
return
a
;
}
else
{
return
null
;
}
}
},
{
...
...
@@ -313,28 +329,44 @@
"aTargets"
:
[
7
],
"mData"
:
"illness"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
if
(
a
){
return
a
;
}
else
{
return
null
;
}
}
},
{
"aTargets"
:
[
8
],
"mData"
:
"allergy"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
if
(
a
){
return
a
;
}
else
{
return
null
;
}
}
},
{
"aTargets"
:
[
9
],
"mData"
:
"doctorName"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
if
(
a
){
return
a
;
}
else
{
return
null
;
}
}
},
{
"aTargets"
:
[
10
],
"mData"
:
"customerName"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
if
(
a
){
return
a
;
}
else
{
return
null
;
}
}
},
{
...
...
@@ -354,7 +386,11 @@
"aTargets"
:
[
12
],
"mData"
:
"description"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
if
(
a
){
return
a
;
}
else
{
return
null
;
}
}
},
{
...
...
aidea-modules/consult-module/src/main/java/com/cftech/consultsheet/web/ConsultSheetController.java
View file @
777d4661
...
...
@@ -12,16 +12,14 @@ import com.cftech.core.sql.Conds;
import
com.cftech.core.sql.Sort
;
import
com.cftech.core.util.Constants
;
import
com.cftech.sys.security.UserUtils
;
import
com.sun.deploy.util.StringUtils
;
import
jdk.nashorn.internal.ir.ReturnNode
;
import
org.springframework.util.StringUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.poi.util.SystemOutLogger
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.Model
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.multipart.MultipartFile
;
...
...
membercard-modules/member-module-web/src/main/webapp/WEB-INF/views/member/memberlist.html
View file @
777d4661
...
...
@@ -97,26 +97,26 @@
<form
id=
"seachTableForm"
action=
"#springUrl('/a/member/exportExcel')"
method=
"get"
onkeydown=
"if(event.keyCode==13){return false;}"
>
<div
class=
"col-xs-2"
>
<input
type=
"text"
class=
"form-control required"
name=
"
name"
placeholder=
"名
"
>
name=
"
phone"
placeholder=
"手机号
"
>
</div>
<div
class=
"col-xs-2"
>
<input
type=
"text"
class=
"form-control required"
name=
"compan"
placeholder=
"公司名称"
>
</div>
<div
class=
"col-xs-2"
>
<select
name=
"status"
class=
"form-control"
>
<option
value=
"0"
>
请选择会员状态
</option>
<option
value=
"1"
>
会员注册
</option>
<option
value=
"2"
>
虚拟会员
</option>
</select>
name=
"name"
placeholder=
"会员名称"
>
</div>
<!-- <div class="col-xs-2">-->
<!-- <select name="status" class="form-control">-->
<!-- <option value="0">请选择会员状态</option>-->
<!-- <option value="1">会员注册</option>-->
<!-- <option value="2">虚拟会员</option>-->
<!-- </select>-->
<!-- </div>-->
<div
class=
"col-xs-5"
>
<a
href=
"javascript:void(0)"
class=
"btn btn-primary search"
>
搜索
</a>
#if($shiro.hasPermission("qy:member:edit"))
<!-- <a href="#springUrl('/a/member/form')" class="btn btn-primary">新增</a>-->
#end
<button
class=
"btn btn-primary"
>
导出
</button>
<a
href=
"javascript:void(0)"
onclick=
"addMemer()"
class=
"btn btn-primary"
>
添加虚拟会员
</a
>
<!-- <a href="javascript:void(0)" onclick="addMemer()" class="btn btn-primary">添加虚拟会员</a>--
>
</div>
</form>
</div>
<!-- /.box-header -->
...
...
@@ -127,15 +127,16 @@
<td
hidden=
"true"
>
Id
</td>
<th>
头像
</th>
<th>
性别
</th>
<th>
姓
</th
>
<th>
名
</th
>
<!-- <th>姓</th>--
>
<!-- <th>名</th>--
>
<th>
微信OPENID
</th>
<th>
手机号码
</th>
<th>
公司名称
</th>
<th>
邀请码
</th>
<th>
客户分类
</th>
<th>
名片
</th>
<th>
状态
</th>
<th>
联系方式
</th>
<th>
会员名称
</th>
<th>
来源
</th>
<!-- <th>邀请码</th>-->
<!-- <th>客户分类</th>-->
<!-- <th>名片</th>-->
<th>
创建日期
</th>
</tr>
</thead>
<tbody
id=
"tablebody"
>
...
...
@@ -228,26 +229,23 @@
},
{
"mData"
:
"sex"
},{
"mData"
:
"surname"
},{
"mData"
:
"name"
},{
},
{
"mData"
:
"open_id"
},{
},
{
"mData"
:
"phone"
},{
"mData"
:
"compan"
},
{
"mData"
:
"invitcode"
},{
"mData"
:
"peopletype"
},{
"mData"
:
"storeid"
},{
"mData"
:
"status"
}],
"mData"
:
"name"
},
{
"mData"
:
"source"
},
{
"mData"
:
"createTime"
}
],
"aoColumnDefs"
:
[
{
// set default column settings
'visible'
:
false
,
...
...
@@ -282,34 +280,52 @@
return formatDates(a, "yyyy-MM-dd HH:mm:ss");
}
},*/
// {
// "aTargets": [3],
// "mData": "surname",
// "mRender": function (a, b, c, d) {
// return a;
// }
// },
{
"aTargets"
:
[
3
],
"mData"
:
"
surname
"
,
"mData"
:
"
open_id
"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
return
a
;
}
},
{
"aTargets"
:
[
4
],
"mData"
:
"surname"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
},{
"aTargets"
:[
4
],
"mData"
:
"phone"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
){
return
a
;
}
},{
"aTargets"
:[
10
],
"mData"
:
"
storeid
"
,
"aTargets"
:[
5
],
"mData"
:
"
name
"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
){
return
'<img src="'
+
a
+
'" style="width:80px;height:80px;">'
;
return
a
;
}
},{
"aTargets"
:[
11
],
"mData"
:
"s
tatus
"
,
"aTargets"
:[
6
],
"mData"
:
"s
ource
"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
){
if
(
a
==
1
){
return
"虚拟会员"
;
if
(
a
==
1
){
return
"普通关注"
;
}
else
if
(
a
==
2
){
return
"医师二维码"
;
}
else
if
(
a
==
3
){
return
"客服二维码"
;
}
else
{
return
"会员注册"
;
return
""
;
}
}
}
,{
"aTargets"
:[
7
],
"mData"
:
"createTime"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
){
return
formatDates
(
a
,
"yyyy-MM-dd HH:mm:ss"
);
}
}
...
...
membercard-modules/member-module/src/main/java/com/cftech/member/dao/MemberMapper.xml
View file @
777d4661
...
...
@@ -45,6 +45,8 @@
<result
column=
"open_id"
property=
"open_id"
/>
<result
column=
"storeid"
property=
"storeid"
/>
<result
column=
"status"
property=
"status"
/>
<result
column=
"create_time"
property=
"createTime"
/>
<result
column=
"source"
property=
"source"
/>
</resultMap>
<sql
id=
"sqlWhere"
>
...
...
@@ -327,20 +329,16 @@
<select
id=
"selectmemberDto"
parameterType=
"java.util.Map"
resultMap=
"resultMapDto"
>
SELECT
m.id,
m.imageurl,
m.sex,
m.surname,
m.`name`,
m.name,
m.phone,
m.compan,
m.invitcode,
m.open_id,
w.peopletype,
m.storeid,
m.status
m.create_time,
m.source
FROM
wx_mp_member m
LEFT JOIN wx_mp_workshop w ON w.invitcode = m.invitcode
<include
refid=
"sqlWhere"
/>
<if
test=
"sort!=null"
>
ORDER BY ${sort.param} ${sort.type}
</if>
<if
test=
"limit>0"
>
limit #{offset},#{limit}
</if>
...
...
@@ -350,7 +348,6 @@
COUNT(1)
FROM
wx_mp_member m
LEFT JOIN wx_mp_workshop w ON w.invitcode = m.invitcode
<include
refid=
"sqlWhere"
/>
</select>
</mapper>
\ No newline at end of file
membercard-modules/member-module/src/main/java/com/cftech/member/model/MemberDto.java
View file @
777d4661
package
com
.
cftech
.
member
.
model
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.cftech.core.poi.ExportConfig
;
import
lombok.Data
;
import
java.util.Date
;
/**
* Created by Ago on 2018/8/7.
*/
...
...
@@ -13,22 +16,19 @@ public class MemberDto {
private
String
imageurl
;
@ExportConfig
(
value
=
"会员性别"
,
width
=
100
)
private
String
sex
;
@ExportConfig
(
value
=
"
会员姓
"
,
width
=
100
)
private
String
surname
;
@ExportConfig
(
value
=
"
微信OPENID
"
,
width
=
100
)
private
String
open_id
;
@ExportConfig
(
value
=
"会员名"
,
width
=
100
)
private
String
name
;
@ExportConfig
(
value
=
"会员手机"
,
width
=
100
)
private
String
phone
;
@ExportConfig
(
value
=
"会员公司"
,
width
=
100
)
private
String
compan
;
@ExportConfig
(
value
=
"邀请码"
,
width
=
100
)
private
String
invitcode
;
@ExportConfig
(
value
=
"微信OPENID"
,
width
=
100
)
private
String
open_id
;
@ExportConfig
(
value
=
"客户分类"
,
width
=
100
)
private
String
peopletype
;
@ExportConfig
(
value
=
"名片"
,
width
=
100
)
private
String
storeid
;
@ExportConfig
(
value
=
"状态"
,
width
=
100
)
private
String
status
;
/* 来源 */
@ExportConfig
(
value
=
"会员手机"
,
width
=
100
)
private
String
source
;
/*创建时间*/
@ExportConfig
(
value
=
"创建时间"
,
width
=
100
)
private
String
createTime
;
}
membercard-modules/member-module/src/main/java/com/cftech/member/web/MemberController.java
View file @
777d4661
package
com
.
cftech
.
member
.
web
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.cftech.base.codingrule.utils.CodingruleUtils
;
import
com.cftech.core.annotation.CSRFTokenRef
;
...
...
@@ -35,6 +36,9 @@ import org.springframework.web.bind.annotation.ResponseBody;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.UUID
;
...
...
@@ -161,17 +165,21 @@ public class MemberController {
Conds
conds
=
new
Conds
();
conds
.
equal
(
"m.del_flag"
,
Constants
.
DEL_FLAG_0
);
conds
.
equal
(
"m.accounts_id"
,
accountsId
);
if
(
member
.
getStatus
().
equals
(
"1"
)){
//注册会员
conds
.
isNull
(
"m.status"
);
}
else
if
(
member
.
getStatus
().
equals
(
"2"
)){
//虚拟会员
conds
.
equal
(
"m.status"
,
1
);
}
if
(!
StringUtils
.
isEmpty
(
member
.
getCompan
()))
{
conds
.
like
(
"m.compan"
,
member
.
getCompan
());
}
// if(member.getStatus().equals("1")){ //注册会员
// conds.isNull("m.status");
// }else if(member.getStatus().equals("2")){ //虚拟会员
// conds.equal("m.status",1);
// }
// if (!StringUtils.isEmpty(member.getCompan())) {
// conds.like("m.compan", member.getCompan());
// }
if
(!
StringUtils
.
isEmpty
(
member
.
getName
()))
{
conds
.
like
(
"m.name"
,
member
.
getName
());
}
if
(!
StringUtils
.
isEmpty
(
member
.
getPhone
())){
conds
.
like
(
"m.phone"
,
member
.
getPhone
());
}
Sort
sort
=
new
Sort
(
"m.create_time"
,
OrderType
.
DESC
);
...
...
@@ -248,45 +256,58 @@ public class MemberController {
@RequestMapping
(
"/exportExcel"
)
@RequiresPermissions
(
value
=
MEMBER_VIEW
)
public
void
exportExcel
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Member
member
)
{
public
void
exportExcel
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Member
member
)
throws
ParseException
{
Long
accountsId
=
UserUtils
.
getmpaccounts
(
request
);
Conds
conds
=
new
Conds
();
conds
.
equal
(
"m.del_flag"
,
Constants
.
DEL_FLAG_0
);
conds
.
equal
(
"m.accounts_id"
,
accountsId
);
if
(
member
.
getStatus
().
equals
(
"1"
)){
//注册会员
conds
.
isNull
(
"m.status"
);
}
else
if
(
member
.
getStatus
().
equals
(
"2"
)){
//虚拟会员
conds
.
equal
(
"m.status"
,
1
);
}
if
(!
StringUtils
.
isEmpty
(
member
.
getCompan
()))
{
conds
.
like
(
"m.compan"
,
member
.
getCompan
());
}
if
(!
StringUtils
.
isEmpty
(
member
.
getName
()))
{
conds
.
like
(
"m.name"
,
member
.
getName
());
}
//
if(member.getStatus().equals("1")){ //注册会员
//
conds.isNull("m.status");
//
}else if(member.getStatus().equals("2")){ //虚拟会员
//
conds.equal("m.status",1);
//
}
//
if (!StringUtils.isEmpty(member.getCompan())) {
//
conds.like("m.compan", member.getCompan());
//
}
//
if (!StringUtils.isEmpty(member.getName())) {
//
conds.like("m.name", member.getName());
//
}
Sort
sort
=
new
Sort
(
"m.create_time"
,
OrderType
.
DESC
);
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
List
<
MemberDto
>
list
=
memberService
.
selectmemberDto
(
conds
,
sort
,
0
,
0
);
if
(
list
.
size
()>
0
){
for
(
MemberDto
memberDto:
list
){
if
(
memberDto
.
getStatus
()==
null
){
memberDto
.
setStatus
(
"注册会员"
);
if
(
memberDto
.
getSex
().
equals
(
"1"
)){
if
(
list
.
size
()
>
0
)
{
for
(
MemberDto
memberDto
:
list
)
{
// if(memberDto.get==null){
// memberDto.setStatus("注册会员");
// if(memberDto.getSex().equals("1")){
// memberDto.setSex("男");
// }else if(memberDto.getSex().equals("0")){
// memberDto.setSex("女");
// }
// }else{
// memberDto.setStatus("虚拟会员");
// }
if
(
"1"
.
equals
(
memberDto
.
getSex
()))
{
memberDto
.
setSex
(
"男"
);
}
else
if
(
memberDto
.
getSex
().
equals
(
"0"
))
{
}
else
if
(
"0"
.
equals
(
memberDto
.
getSex
()))
{
memberDto
.
setSex
(
"女"
);
}
}
else
{
memberDto
.
setStatus
(
"虚拟会员"
);
if
(
"1"
.
equals
(
memberDto
.
getSource
()))
{
memberDto
.
setSource
(
"普通关注"
);
}
else
if
(
"2"
.
equals
(
memberDto
.
getSource
()))
{
memberDto
.
setSource
(
"药师二维码"
);
}
else
if
(
"3"
.
equals
(
memberDto
.
getSource
()))
{
memberDto
.
setSource
(
"客服二维码"
);
}
Date
parse
=
simpleDateFormat
.
parse
(
memberDto
.
getCreateTime
());
memberDto
.
setCreateTime
(
simpleDateFormat
.
format
(
parse
));
}
}
// 生成Excel并使用浏览器下载
ExcelKit
.
$Export
(
MemberDto
.
class
,
response
).
toExcel
(
list
,
"会员信息"
);
}
}
}
mp-modules/mp-fanss-module-web/src/main/webapp/WEB-INF/views/managefans/fansslist.html
View file @
777d4661
...
...
@@ -146,7 +146,7 @@
onkeydown=
"if(event.keyCode==13){return false;}"
>
<div
class=
"col-xs-1"
>
<input
type=
"text"
class=
"form-control required"
placeholder=
"
粉丝
昵称"
name=
"nickname"
placeholder=
"昵称"
name=
"nickname"
value=
"$!{mpFanssEntity.nickname}"
>
</div>
<div
class=
"col-xs-1"
>
...
...
@@ -195,10 +195,10 @@
href=
"javascript:void(0)"
onclick=
"syn(this)"
class=
"btn bg-olive"
>
同步粉丝
</a>
#end
#if($shiro.hasPermission("mp:fanss:edit"))
<a
id=
"batchFanssTag"
href=
"javascript:void(0)"
class=
"btn bg-olive"
>
批量打标签
</a
>
#end
<!-- #if($shiro.hasPermission("mp:fanss:edit")) <a id="batchFanssTag"-->
<!-- href="javascript:void(0)"-->
<!-- class="btn bg-olive">批量打标签</a>--
>
<!-- #end-->
<button
style=
"width: 100px;"
type=
"submit"
class=
"btn btn-primary"
id=
"export"
>
导出
</button>
...
...
@@ -217,10 +217,10 @@
<th>
省份
</th>
<th>
城市
</th>
<th>
昵称
</th>
<th>
标签
</th
>
<!-- <th>标签</th>--
>
<th>
粉丝来源
</th>
<th>
关注日期
</th>
<th>
操作
</th
>
<!-- <th>操作</th>--
>
</tr>
</thead>
<tbody>
...
...
@@ -365,29 +365,31 @@
// $("#downloadtemplate").click(function(){//下载导入模板
// var host = "http://"+window.location.host;
// var url=host+"/cfwechat/static/batchfanss.xlsx";
// window.location.href=url;
// })
url
=
"#springUrl('/a/fanssgroup/fetchdata')"
;
$
.
ajax
({
"type"
:
"get"
,
"contentType"
:
"application/json"
,
"url"
:
url
,
"dataType"
:
"json"
,
"data"
:
{
iDisplayStart
:
0
,
iDisplayLength
:
0
},
"success"
:
function
(
data
)
{
data
=
data
.
aaData
;
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
)
{
$
(
"#addlabel"
).
append
(
'<option value="'
+
data
[
i
].
groupid
+
'" data-attr="">'
+
data
[
i
].
name
+
'</option>'
)
}
}
});
//
url = "#springUrl('/a/fanssgroup/fetchdata')";
//
$.ajax({
//
"type": "get",
//
"contentType": "application/json",
//
"url": url,
//
"dataType": "json",
//
"data": {
//
iDisplayStart: 0,
//
iDisplayLength: 0
//
},
//
"success": function (data) {
//
data = data.aaData;
//
for (var i = 0; i
<
data
.
length
;
i
++
)
{
//
$("#addlabel").append('
<
option
value
=
"' + data[i].groupid + '"
data
-
attr
=
""
>
' + data[i].name + '
<
/option>'
)
//
}
//
}
//
});
$
(
"#tagCacel"
).
click
(
function
()
{
$
(
"#addlabelModal"
).
modal
(
'hide'
);
...
...
@@ -404,18 +406,18 @@
var
importExcelUrl
=
"#springUrl('/a/managefanss/batchFanss')?_csrf_header="
+
csrfheader
.
value
+
"&_csrf="
+
csrftoken
.
value
;
Cfapp
.
importExcel
({
title
:
'批量打标签'
,
importurl
:
importExcelUrl
,
templateurl
:
templateExcelUrl
,
cancel
:
function
()
{
},
success
:
function
()
{
//alert(data.retJson.errorNo)
location
.
href
=
"#springUrl('/a/managefanss/fansslist')"
;
}
});
//
Cfapp.importExcel({
//
title: '批量打标签',
//
importurl: importExcelUrl,
//
templateurl: templateExcelUrl,
//
cancel: function () {
//
//
},
//
success: function () {
//
//alert(data.retJson.errorNo)
//
location.href = "#springUrl('/a/managefanss/fansslist')";
//
}
//
});
}
...
...
@@ -473,52 +475,13 @@
{
"mData"
:
"headimgurl"
},
{
"mData"
:
"sex"
},
{
"mData"
:
"openid"
},
{
"mData"
:
"province"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
//a表示id对应的值,c表示当前记录行对象
if
(
a
)
{
return
a
;
}
else
{
return
""
;
}
}
},
{
"mData"
:
"city"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
//a表示id对应的值,c表示当前记录行对象
if
(
a
)
{
return
a
;
}
else
{
return
""
;
}
}
},
{
"mData"
:
"province"
},
{
"mData"
:
"city"
},
{
"mData"
:
"nickname"
},
{
"mData"
:
"tags"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
//a表示id对应的值,c表示当前记录行对象
if
(
a
)
{
return
a
;
}
else
{
return
""
;
}
}
},
{
"mData"
:
"source"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
//a表示id对应的值,c表示当前记录行对象
if
(
a
==
'1'
)
{
return
"研讨会二维码"
;
}
else
if
(
a
==
'2'
)
{
return
"展会二维码"
;
}
else
if
(
a
==
'3'
)
{
return
"活动车辆"
;
}
else
{
return
"普通关注"
;
}
}
}
{
"mData"
:
"source"
},
{
"mData"
:
"subscribetime"
}
],
"aoColumnDefs"
:
[
{
// set default column settings
'visible'
:
false
,
...
...
@@ -527,7 +490,6 @@
{
"targets"
:
[
1
],
"mData"
:
"headimgurl"
,
"className"
:
"piccenter"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
//a表示id对应的值,c表示当前记录行对象
return
'<img width="45px" height="45px" src="'
+
a
+
'" />'
;
...
...
@@ -558,18 +520,50 @@
}
},
{
"aTargets"
:
[
9
],
"mData"
:
"subscribetime"
,
"targets"
:
[
3
],
"mData"
:
"openid"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
//a表示id对应的值,c表示当前记录行对象
return
a
;
}
},
{
"aTargets"
:
[
4
],
"mData"
:
"province"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
//a表示createtime对应的值,c表示当前记录行对象
return
formatDates
(
a
,
"yyyy-MM-dd hh:mm:ss"
)
;
return
a
;
}
},
{
"aTargets"
:
[
10
],
"mData"
:
"id"
,
"aTargets"
:
[
5
],
"mData"
:
"city"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
//a表示createtime对应的值,c表示当前记录行对象
return
a
;
}
}
,
{
"aTargets"
:
[
6
],
"mData"
:
"nickname"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
//a表示createtime对应的值,c表示当前记录行对象
return
a
;
}
}
,
{
"aTargets"
:
[
7
],
"mData"
:
"source"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
//a表示createtime对应的值,c表示当前记录行对象
if
(
a
==
1
){
return
"普通关注"
;
}
else
if
(
a
==
2
){
return
"医师二维码"
;
}
else
if
(
a
==
3
){
return
"客服二维码"
;
}
}
},
{
"aTargets"
:
[
8
],
"mData"
:
"subscribetime"
,
"mRender"
:
function
(
a
,
b
,
c
,
d
)
{
//a表示createtime对应的值,c表示当前记录行对象
console
.
log
(
c
);
return
'#if($shiro.hasPermission("mp:fanss:edit"))'
+
'<a href="javascript:void(0)"; data-attr="'
+
c
.
id
+
'" data-tag="'
+
c
.
taglist
+
'" onclick="addlabel(this)" class="btn red">修改标签</a>'
+
'#else <a href="javascript:void(0)"; data-attr="'
+
c
.
id
+
'" data-tag="'
+
c
.
taglist
+
'" class="btn red">修改标签</a>#end'
;
return
formatDates
(
a
,
"yyyy-MM-dd HH:mm:ss"
);
}
}]
//,
// {
...
...
mp-modules/mp-fanss-module/src/main/java/com/cftech/mp/fans/controller/MpFanssController.java
View file @
777d4661
package
com
.
cftech
.
mp
.
fans
.
controller
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.cftech.accounts.service.MpAccountsService
;
import
com.cftech.core.poi.ExcelKit
;
import
com.cftech.core.scope.OrderType
;
import
com.cftech.core.sql.Conds
;
import
com.cftech.core.sql.Sort
;
import
com.cftech.core.util.*
;
import
com.cftech.mp.fans.model.Fanssgroup
;
import
com.cftech.mp.fans.model.MpFanssEntity
;
import
com.cftech.mp.fans.model.MpFanssVO
;
import
com.cftech.mp.fans.service.FanssgroupService
;
import
com.cftech.mp.fans.service.MpFanssService
;
import
com.cftech.sys.security.PermissionSign
;
import
com.cftech.sys.security.UserUtils
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.apache.velocity.runtime.directive.Foreach
;
import
org.mp.api.core.exception.WexinReqException
;
import
org.mp.api.core.req.model.user.BatchUserTag
;
import
org.mp.api.wxuser.tag.JwTagAPI
;
...
...
@@ -31,12 +35,11 @@ import org.springframework.web.multipart.MultipartFile;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
/**
*
* @author lisw
*
*/
@Controller
@RequestMapping
(
value
=
"/a/managefanss"
)
...
...
@@ -58,7 +61,7 @@ public class MpFanssController {
// 管理后台用户列表
@RequestMapping
(
value
=
"/fansslist"
,
method
=
{
RequestMethod
.
POST
,
RequestMethod
.
GET
})
@RequestMapping
(
value
=
"/fansslist"
,
method
=
{
RequestMethod
.
POST
,
RequestMethod
.
GET
})
public
String
useradd
(
HttpServletRequest
request
,
HttpServletResponse
response
,
MpFanssEntity
mpFanssEntity
,
String
areaname
,
String
startTime
,
String
endTime
,
Model
model
)
{
...
...
@@ -71,14 +74,14 @@ public class MpFanssController {
}
// 管理后台用户列表
@RequestMapping
(
value
=
"/accountsaddform"
,
method
=
{
RequestMethod
.
POST
,
RequestMethod
.
GET
})
@RequestMapping
(
value
=
"/accountsaddform"
,
method
=
{
RequestMethod
.
POST
,
RequestMethod
.
GET
})
public
String
accountsaddform
(
HttpServletRequest
request
,
HttpServletResponse
response
)
{
return
"manageaccounts/accountsadd"
;
}
// 获取数据
@RequestMapping
(
value
=
"/fanss/fetchdata"
,
method
=
{
RequestMethod
.
POST
,
RequestMethod
.
GET
})
@RequestMapping
(
value
=
"/fanss/fetchdata"
,
method
=
{
RequestMethod
.
POST
,
RequestMethod
.
GET
})
@ResponseBody
public
JSONObject
getUsers
(
int
iDisplayStart
,
int
iDisplayLength
,
HttpServletResponse
response
,
HttpServletRequest
request
,
...
...
@@ -115,13 +118,13 @@ public class MpFanssController {
}
returnObj
.
put
(
"iTotalRecords"
,
userCounts
);
returnObj
.
put
(
"iTotalDisplayRecords"
,
userCounts
);
returnObj
.
put
(
"aaData"
,
users
);
returnObj
.
put
(
"aaData"
,
users
);
return
returnObj
;
// OutputJSONUtil.convertoJSONStream(response, returnObj.toString());
}
// 粉丝列表导出
@RequestMapping
(
value
=
"/fanss/export"
,
method
=
{
RequestMethod
.
POST
,
RequestMethod
.
GET
})
@RequestMapping
(
value
=
"/fanss/export"
,
method
=
{
RequestMethod
.
POST
,
RequestMethod
.
GET
})
public
void
export
(
HttpServletResponse
response
,
HttpServletRequest
request
,
MpFanssEntity
mpFanssEntity
,
String
areaname
,
String
startTime
,
String
endTime
)
{
...
...
@@ -140,25 +143,40 @@ public class MpFanssController {
conds
.
equal
(
"mpaccountid"
,
id
);
conds
.
equal
(
"delflag"
,
Constants
.
DEL_FLAG_0
);
try
{
List
<
MpFanssEntity
>
users
=
null
;
if
(
StringUtils
.
isNoneBlank
(
areaname
))
{
users
=
mpAccountsService
.
fetchSearchByPageStore
(
conds
,
sort
,
0
,
0
,
areaname
);
}
else
{
users
=
mpAccountsService
.
fetchSearchByPageStore
(
conds
,
sort
,
0
,
0
,
List
<
MpFanssEntity
>
users
=
mpAccountsService
.
fetchSearchByPageStore
(
conds
,
sort
,
0
,
0
,
null
);
LinkedList
<
MpFanssVO
>
list
=
new
LinkedList
<>();
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
for
(
MpFanssEntity
fanssEntity
:
users
)
{
MpFanssVO
mpFanssVO
=
new
MpFanssVO
();
mpFanssVO
.
setHeadimgurl
(
fanssEntity
.
getHeadimgurl
());
mpFanssVO
.
setSex
(
fanssEntity
.
getSex
().
equals
(
1
)
?
"男"
:
"女"
);
mpFanssVO
.
setOpenid
(
fanssEntity
.
getOpenid
());
mpFanssVO
.
setProvince
(
fanssEntity
.
getProvince
());
mpFanssVO
.
setCity
(
fanssEntity
.
getCity
());
mpFanssVO
.
setNickname
(
fanssEntity
.
getNickname
());
mpFanssVO
.
setSource
(
fanssEntity
.
getSource
().
equals
(
"1"
)
?
"普通关注"
:
fanssEntity
.
getSource
().
equals
(
"2"
)
?
"医师二维码"
:
"客服二维码"
);
mpFanssVO
.
setSubscribetime
(
simpleDateFormat
.
format
(
fanssEntity
.
getSubscribetime
()));
list
.
add
(
mpFanssVO
);
}
ExcelKit
.
$Export
(
MpFanssVO
.
class
,
response
).
toExcel
(
list
,
"粉丝列表"
);
// if (StringUtils.isNoneBlank(areaname)) {
// users = mpAccountsService.fetchSearchByPageStore(conds, sort, 0, 0,
// areaname);
// } else {
// users = mpAccountsService.fetchSearchByPageStore(conds, sort, 0, 0,
// null);
// }
// 参数
ExcelUtils
.
export
(
request
,
response
,
"粉丝列表-"
+
DateUtils
.
formatDate
(
new
Date
(),
"yyyy-MM-dd"
),
users
,
"fans"
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
// 修改账户
@RequestMapping
(
value
=
"/updateaccounts"
,
method
=
{
RequestMethod
.
POST
})
@RequestMapping
(
value
=
"/updateaccounts"
,
method
=
{
RequestMethod
.
POST
})
public
JSONObject
updateaccounts
(
MpFanssEntity
accounts
,
HttpServletResponse
response
)
{
JSONObject
returnObj
=
new
JSONObject
();
...
...
@@ -170,7 +188,7 @@ public class MpFanssController {
}
// 修改账户
@RequestMapping
(
value
=
"/deleteaccounts"
,
method
=
{
RequestMethod
.
POST
})
@RequestMapping
(
value
=
"/deleteaccounts"
,
method
=
{
RequestMethod
.
POST
})
public
JSONObject
deleteaccounts
(
MpFanssEntity
accounts
,
HttpServletResponse
response
)
{
JSONObject
returnObj
=
new
JSONObject
();
...
...
@@ -182,7 +200,7 @@ public class MpFanssController {
// 获取详细信息
@RequestMapping
(
value
=
"/getaccountdetail"
,
method
=
{
RequestMethod
.
POST
,
RequestMethod
.
GET
})
@RequestMapping
(
value
=
"/getaccountdetail"
,
method
=
{
RequestMethod
.
POST
,
RequestMethod
.
GET
})
public
String
getaccountdetail
(
Long
id
,
HttpServletResponse
response
,
Model
model
)
{
MpFanssEntity
accountsEntity
=
mpAccountsService
.
getDetail
(
id
);
...
...
@@ -192,7 +210,7 @@ public class MpFanssController {
// 根据当前微信公众号, 同步所有用户
@ResponseBody
@RequestMapping
(
value
=
"/synAllFans"
,
method
=
{
RequestMethod
.
POST
})
@RequestMapping
(
value
=
"/synAllFans"
,
method
=
{
RequestMethod
.
POST
})
public
JSONObject
synAllFans
(
HttpServletRequest
request
)
throws
WexinReqException
{
JSONObject
rtnJosn
=
new
JSONObject
();
...
...
@@ -220,8 +238,8 @@ public class MpFanssController {
.
parseLong
(
user
.
getSubscribe_time
())
*
1000
));
fannsEntity
.
setUnionid
(
user
.
getUnionid
());
String
tags
=
""
;
if
(
user
.
getTagid_list
()!=
null
&&
user
.
getTagid_list
().
size
()>
0
)
{
tags
=
StringUtils
.
join
(
user
.
getTagid_list
(),
","
)+
","
;
if
(
user
.
getTagid_list
()
!=
null
&&
user
.
getTagid_list
().
size
()
>
0
)
{
tags
=
StringUtils
.
join
(
user
.
getTagid_list
(),
","
)
+
","
;
}
fannsEntity
.
setTaglist
(
tags
);
fannsIsexits
=
mpAccountsService
.
getWxUser
(
user
.
getOpenid
());
...
...
@@ -253,97 +271,97 @@ public class MpFanssController {
return
rtnJosn
;
}
@RequestMapping
(
value
=
"/batchFanss"
,
method
=
RequestMethod
.
POST
)
@RequestMapping
(
value
=
"/batchFanss"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
public
JSONObject
batchFanss
(
MultipartFile
file
,
HttpServletRequest
request
)
{
public
JSONObject
batchFanss
(
MultipartFile
file
,
HttpServletRequest
request
)
{
JSONObject
rtnJson
=
new
JSONObject
();
StringBuffer
errorBuffer
=
new
StringBuffer
();
if
(
file
!=
null
)
{
if
(
file
!=
null
)
{
try
{
List
<
List
<
Object
>>
list
=
ImportExcelUtil
.
getBankListByExcel
(
file
.
getInputStream
(),
file
.
getOriginalFilename
());
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
List
<
List
<
Object
>>
list
=
ImportExcelUtil
.
getBankListByExcel
(
file
.
getInputStream
(),
file
.
getOriginalFilename
());
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
List
<
Object
>
objList
=
list
.
get
(
i
);
String
openId
=
null
;
String
tag
=
null
;
if
(
objList
==
null
||
objList
.
size
()==
0
)
errorBuffer
.
append
(
"第"
+(
i
+
1
)+
"条数据为空"
);
if
(
objList
.
get
(
0
)==
null
||
StringUtils
.
isBlank
(
objList
.
get
(
0
).
toString
()))
{
//openid为空
errorBuffer
.
append
(
"第"
+(
i
+
1
)+
"条数据,粉丝openId为空"
);
String
openId
=
null
;
String
tag
=
null
;
if
(
objList
==
null
||
objList
.
size
()
==
0
)
errorBuffer
.
append
(
"第"
+
(
i
+
1
)
+
"条数据为空"
);
if
(
objList
.
get
(
0
)
==
null
||
StringUtils
.
isBlank
(
objList
.
get
(
0
).
toString
()))
{
//openid为空
errorBuffer
.
append
(
"第"
+
(
i
+
1
)
+
"条数据,粉丝openId为空"
);
continue
;
}
else
{
openId
=
objList
.
get
(
0
).
toString
();
}
else
{
openId
=
objList
.
get
(
0
).
toString
();
}
if
(
objList
.
get
(
1
)==
null
||
StringUtils
.
isBlank
(
objList
.
get
(
1
).
toString
()))
{
//标签为空
errorBuffer
.
append
(
"第"
+(
i
+
1
)+
"条数据,标签为空"
);
if
(
objList
.
get
(
1
)
==
null
||
StringUtils
.
isBlank
(
objList
.
get
(
1
).
toString
()))
{
//标签为空
errorBuffer
.
append
(
"第"
+
(
i
+
1
)
+
"条数据,标签为空"
);
continue
;
}
else
{
tag
=
objList
.
get
(
1
).
toString
();
}
else
{
tag
=
objList
.
get
(
1
).
toString
();
}
String
[]
newtags
=
tag
.
split
(
","
);
//新标签
String
[]
newtags
=
tag
.
split
(
","
);
//新标签
Conds
fanssConds
=
new
Conds
();
fanssConds
.
equal
(
"delflag"
,
0
);
fanssConds
.
equal
(
"openid"
,
openId
);
fanssConds
.
equal
(
"mpaccountid"
,
UserUtils
.
getmpaccounts
(
request
));
MpFanssEntity
fanss
=
mpAccountsService
.
fetchSearchByConds
(
fanssConds
);
if
(
fanss
!=
null
)
{
if
(
fanss
.
getTaglist
()==
null
)
{
MpFanssEntity
fanss
=
mpAccountsService
.
fetchSearchByConds
(
fanssConds
);
if
(
fanss
!=
null
)
{
if
(
fanss
.
getTaglist
()
==
null
)
{
fanss
.
setTaglist
(
""
);
}
String
[]
tags
=
fanss
.
getTaglist
().
split
(
","
);
//此粉丝旧标签
String
[]
tags
=
fanss
.
getTaglist
().
split
(
","
);
//此粉丝旧标签
Conds
conds
=
new
Conds
();
conds
.
equal
(
"delflag"
,
0
);
conds
.
equal
(
"accountsid"
,
UserUtils
.
getmpaccounts
(
request
));
conds
.
in
(
"name"
,
newtags
);
List
<
Fanssgroup
>
groupList
=
fanssGroupService
.
fetchSearchByPage
(
conds
,
null
,
0
,
0
);
String
groups
=
""
;
for
(
Fanssgroup
g
:
groupList
)
{
groups
+=
g
.
getGroupid
()+
","
;
String
groups
=
""
;
for
(
Fanssgroup
g
:
groupList
)
{
groups
+=
g
.
getGroupid
()
+
","
;
}
if
((
tags
.
length
+
newtags
.
length
)>
20
)
{
if
((
tags
.
length
+
newtags
.
length
)
>
20
)
{
// fanss.setTaglist(groups);
errorBuffer
.
append
(
"第"
+(
i
+
1
)+
"条数据,粉丝标签超过20,openId为:"
+
openId
);
errorBuffer
.
append
(
"第"
+
(
i
+
1
)
+
"条数据,粉丝标签超过20,openId为:"
+
openId
);
continue
;
}
else
{
//如果此粉丝标签加上本次的新标签未超过20个,追加旧标签
groups
=
fanss
.
getTaglist
()+
groups
;
}
else
{
//如果此粉丝标签加上本次的新标签未超过20个,追加旧标签
groups
=
fanss
.
getTaglist
()
+
groups
;
}
List
<
String
>
result
=
Arrays
.
asList
(
groups
.
split
(
","
));
Set
<
String
>
set
=
new
HashSet
<
String
>();
set
.
addAll
(
result
);
groups
=
StringUtils
.
join
(
set
,
","
)+
","
;
groups
=
StringUtils
.
join
(
set
,
","
)
+
","
;
Map
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
Map
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
params
.
put
(
"openid"
,
openId
);
params
.
put
(
"taglist"
,
groups
);
params
.
put
(
"accountsId"
,
UserUtils
.
getmpaccounts
(
request
));
try
{
mpAccountsService
.
updateLabelByid
(
params
);
errorBuffer
.
append
(
"第"
+(
i
+
1
)+
"条数据导入成功,openId:"
+
openId
+
",标签:"
+
tag
);
errorBuffer
.
append
(
"第"
+
(
i
+
1
)
+
"条数据导入成功,openId:"
+
openId
+
",标签:"
+
tag
);
}
catch
(
Exception
e
)
{
errorBuffer
.
append
(
"第"
+(
i
+
1
)+
"条数据发生异常,异常信息:"
+
e
.
getMessage
());
errorBuffer
.
append
(
"第"
+
(
i
+
1
)
+
"条数据发生异常,异常信息:"
+
e
.
getMessage
());
continue
;
}
}
else
{
errorBuffer
.
append
(
"第"
+(
i
+
1
)+
"条数据,OpenId为找到粉丝信息"
);
}
else
{
errorBuffer
.
append
(
"第"
+
(
i
+
1
)
+
"条数据,OpenId为找到粉丝信息"
);
}
//fanssGroupService
}
System
.
out
.
println
(
list
);
}
catch
(
IOException
e
)
{
rtnJson
.
put
(
"errorNo"
,
"2"
);
//未找到文件
rtnJson
.
put
(
"errorNo"
,
"2"
);
//未找到文件
// TODO Auto-generated catch block
e
.
printStackTrace
();
return
rtnJson
;
}
catch
(
Exception
e
)
{
rtnJson
.
put
(
"errorNo"
,
"2"
);
//未找到文件
rtnJson
.
put
(
"errorNo"
,
"2"
);
//未找到文件
// TODO Auto-generated catch block
e
.
printStackTrace
();
return
rtnJson
;
}
}
else
{
rtnJson
.
put
(
"errorNo"
,
"2"
);
//未找到文件
}
else
{
rtnJson
.
put
(
"errorNo"
,
"2"
);
//未找到文件
return
rtnJson
;
}
rtnJson
.
put
(
"errorNo"
,
"0"
);
rtnJson
.
put
(
"errorNo"
,
"0"
);
rtnJson
.
put
(
"errorMsg"
,
"导入成功"
);
logger
.
info
(
errorBuffer
.
toString
());
return
rtnJson
;
...
...
@@ -432,16 +450,16 @@ public class MpFanssController {
// }
//改变粉丝标签
@RequestMapping
(
value
=
"/editlabel"
,
method
=
{
RequestMethod
.
POST
})
@RequestMapping
(
value
=
"/editlabel"
,
method
=
{
RequestMethod
.
POST
})
@RequiresPermissions
(
value
=
PermissionSign
.
FANSS_EDIT
)
@ResponseBody
public
JSONObject
addlabel
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Model
model
,
String
taglist
,
Long
id
)
{
HttpServletResponse
response
,
Model
model
,
String
taglist
,
Long
id
)
{
JSONObject
result
=
new
JSONObject
();
result
.
put
(
"errorNo"
,
1
);
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
result
.
put
(
"errorNo"
,
1
);
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
Long
accountsId
=
UserUtils
.
getmpaccounts
(
request
);
map
.
put
(
"taglist"
,
taglist
+
","
);
map
.
put
(
"taglist"
,
taglist
+
","
);
map
.
put
(
"accountsId"
,
accountsId
);
//String openid = mpAccountsService.findopenidById(id);
MpFanssEntity
fanssEntity
=
mpAccountsService
.
getDetail
(
id
);
...
...
@@ -458,15 +476,15 @@ public class MpFanssController {
// }
map
.
put
(
"openid"
,
fanssEntity
.
getOpenid
());
try
{
if
(
fanssEntity
.
getOpenid
()!=
null
)
{
if
(
fanssEntity
.
getOpenid
()
!=
null
)
{
boolean
flag
=
mpAccountsService
.
updateLabelByid
(
map
);
if
(
flag
)
{
result
.
put
(
"errorNo"
,
0
);
if
(
flag
)
{
result
.
put
(
"errorNo"
,
0
);
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
result
.
put
(
"errorNo"
,
1
);
result
.
put
(
"errorNo"
,
1
);
}
return
result
;
}
...
...
mp-modules/mp-fanss-module/src/main/java/com/cftech/mp/fans/model/MpFanssVO.java
0 → 100644
View file @
777d4661
package
com
.
cftech
.
mp
.
fans
.
model
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.cftech.core.poi.ExportConfig
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @author :licc
* @date :Created in 2020/9/25 17:07
* @description:
*/
@Data
public
class
MpFanssVO
{
/* 粉丝头像 */
@ExportConfig
(
value
=
"粉丝头像"
,
width
=
100
,
showLevel
=
1
)
private
String
headimgurl
;
/* 性别 */
@ExportConfig
(
value
=
"性别"
,
width
=
100
,
showLevel
=
1
)
private
String
sex
;
/* openid */
@ExportConfig
(
value
=
"openid"
,
width
=
100
,
showLevel
=
1
)
private
String
openid
;
/* 省份 */
@ExportConfig
(
value
=
"省份"
,
width
=
100
,
showLevel
=
1
)
private
String
province
;
/* 城市 */
@ExportConfig
(
value
=
"城市"
,
width
=
100
,
showLevel
=
1
)
private
String
city
;
/* 昵称 */
@ExportConfig
(
value
=
"昵称"
,
width
=
100
,
showLevel
=
1
)
private
String
nickname
;
/* 粉丝来源 */
@ExportConfig
(
value
=
"粉丝来源"
,
width
=
100
,
showLevel
=
1
)
private
String
source
;
/* 关注日期 */
@ExportConfig
(
value
=
"关注日期"
,
width
=
100
,
showLevel
=
1
)
private
String
subscribetime
;
}
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