Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
midjourney-proxy
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
徐少华
midjourney-proxy
Commits
46ce5d37
Commit
46ce5d37
authored
Dec 23, 2020
by
郑永强
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: [1004072] 小睿资源广场
parent
dbf9ab07
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
991 additions
and
13 deletions
+991
-13
AppletService.java
...in/java/com/pcloud/book/applet/service/AppletService.java
+20
-0
pom.xml
pcloud-service-book/pom.xml
+7
-0
BookApplication.java
...e-book/src/main/java/com/pcloud/book/BookApplication.java
+1
-1
AppletRecordAggrStatisBiz.java
...com/pcloud/book/applet/biz/AppletRecordAggrStatisBiz.java
+24
-0
AppletRecordBiz.java
...main/java/com/pcloud/book/applet/biz/AppletRecordBiz.java
+7
-2
AppletRecordAggrStatisBizImpl.java
...d/book/applet/biz/impl/AppletRecordAggrStatisBizImpl.java
+0
-0
AppletRecordBizImpl.java
.../com/pcloud/book/applet/biz/impl/AppletRecordBizImpl.java
+113
-3
AppletConstants.java
...java/com/pcloud/book/applet/contants/AppletConstants.java
+5
-0
AppletRecordDao.java
...main/java/com/pcloud/book/applet/dao/AppletRecordDao.java
+7
-0
AppletRecordDaoImpl.java
.../com/pcloud/book/applet/dao/impl/AppletRecordDaoImpl.java
+17
-0
AppletRecordDTO.java
...main/java/com/pcloud/book/applet/dto/AppletRecordDTO.java
+15
-0
AppletRankTypeEnum.java
...java/com/pcloud/book/applet/enums/AppletRankTypeEnum.java
+14
-0
AppletSourceTypeEnum.java
...va/com/pcloud/book/applet/enums/AppletSourceTypeEnum.java
+19
-0
AppletRecordAggrStatisFacade.java
...loud/book/applet/facade/AppletRecordAggrStatisFacade.java
+42
-0
AppletServiceImpl.java
...om/pcloud/book/applet/service/impl/AppletServiceImpl.java
+33
-0
CHDataSource.java
.../java/com/pcloud/book/config/datasource/CHDataSource.java
+51
-0
WeworkTeacherFriendRecordBiz.java
...m/pcloud/book/group/biz/WeworkTeacherFriendRecordBiz.java
+52
-0
WeworkTeacherFriendRecordBizImpl.java
...book/group/biz/impl/WeworkTeacherFriendRecordBizImpl.java
+73
-0
WeworkTeacherFriendRecordDao.java
...m/pcloud/book/group/dao/WeworkTeacherFriendRecordDao.java
+19
-0
WeworkTeacherFriendRecordDaoImpl.java
...book/group/dao/impl/WeworkTeacherFriendRecordDaoImpl.java
+25
-0
WxWorkTeacherDTO.java
...main/java/com/pcloud/book/group/dto/WxWorkTeacherDTO.java
+93
-0
WeworkTeacherFriendRecord.java
...m/pcloud/book/group/entity/WeworkTeacherFriendRecord.java
+38
-0
WeworkTeacherFriendRecordFacade.java
...ok/group/facade/impl/WeworkTeacherFriendRecordFacade.java
+74
-0
WeworkTeacherMapper.java
...ava/com/pcloud/book/group/mapper/WeworkTeacherMapper.java
+1
-2
AppletRecordCHMapper.java
...m/pcloud/book/mapper/clickhouse/AppletRecordCHMapper.java
+21
-0
AppletRecordCHMapper.xml
...main/resources/clickhouse/applet/AppletRecordCHMapper.xml
+78
-0
AppletRecord.Mapper.xml
.../src/main/resources/mapper/applet/AppletRecord.Mapper.xml
+40
-1
WeworkTeacherFriendRecord.Mapper.xml
...sources/mapper/group/WeworkTeacherFriendRecord.Mapper.xml
+99
-0
WeworkTeacherMapper.xml
...k/src/main/resources/mapper/group/WeworkTeacherMapper.xml
+3
-4
No files found.
pcloud-facade-book/src/main/java/com/pcloud/book/applet/service/AppletService.java
View file @
46ce5d37
...
@@ -99,4 +99,24 @@ public interface AppletService {
...
@@ -99,4 +99,24 @@ public interface AppletService {
ResponseEntity
<
ResponseDto
<
Map
<
Long
,
AppletAppOrProductDTO
>>>
getAppOrProductBrowseCount
(
@RequestParam
(
"recordType"
)
Integer
recordType
,
ResponseEntity
<
ResponseDto
<
Map
<
Long
,
AppletAppOrProductDTO
>>>
getAppOrProductBrowseCount
(
@RequestParam
(
"recordType"
)
Integer
recordType
,
@RequestBody
List
<
Long
>
serveIds
);
@RequestBody
List
<
Long
>
serveIds
);
@ApiOperation
(
"mySql 足迹数据同步到 clickHouse"
)
@GetMapping
(
"fixAppletRecordDataSync4CH"
)
void
fixAppletRecordDataSync4CH
(
@RequestParam
(
value
=
"createDate"
,
required
=
false
)
String
createDate
);
@ApiOperation
(
"并更新缓存"
)
@GetMapping
(
"updateAggrStatisCache"
)
void
updateAggrStatisCache
();
@ApiOperation
(
"mySql 足迹数据同步到 clickHouse,并更新缓存"
)
@GetMapping
(
"syncDataAndUpdateCache"
)
void
syncDataAndUpdateCache
(
@RequestParam
(
value
=
"createDate"
,
required
=
false
)
String
createDate
);
@ApiOperation
(
"更新 applet_record.type_code 旧数据"
)
@GetMapping
(
"handleAppletRecordTypeCode"
)
ResponseEntity
<
ResponseDto
<
Object
>>
handleAppletRecordTypeCode
(
@RequestParam
(
value
=
"lastAppletRecordId"
,
required
=
false
)
Long
lastAppletRecordId
);
@ApiOperation
(
"停止更新 applet_record.type_code 旧数据"
)
@GetMapping
(
"stopHandleAppletRecordTypeCode"
)
void
stopHandleAppletRecordTypeCode
();
}
}
pcloud-service-book/pom.xml
View file @
46ce5d37
...
@@ -230,6 +230,13 @@
...
@@ -230,6 +230,13 @@
<version>
${wxgroup-sdk.version}
</version>
<version>
${wxgroup-sdk.version}
</version>
</dependency>
</dependency>
<!-- clickHouse数据库 -->
<dependency>
<groupId>
ru.yandex.clickhouse
</groupId>
<artifactId>
clickhouse-jdbc
</artifactId>
<version>
0.2.1
</version>
</dependency>
<!--ES相关-->
<!--ES相关-->
<dependency>
<dependency>
<groupId>
org.springframework.data
</groupId>
<groupId>
org.springframework.data
</groupId>
...
...
pcloud-service-book/src/main/java/com/pcloud/book/BookApplication.java
View file @
46ce5d37
...
@@ -41,7 +41,7 @@ import java.util.Map;
...
@@ -41,7 +41,7 @@ import java.util.Map;
@PropertySource
({
"classpath:properties/book.properties"
,
"classpath:public_system.properties"
})
@PropertySource
({
"classpath:properties/book.properties"
,
"classpath:public_system.properties"
})
@Configuration
@Configuration
@EnableSwagger2
@EnableSwagger2
@MapperScan
(
basePackages
=
{
"com.pcloud.book.*.mapper"
})
@MapperScan
(
basePackages
=
{
"com.pcloud.book.*.mapper"
}
,
sqlSessionFactoryRef
=
"sqlSessionFactory"
)
public
class
BookApplication
{
public
class
BookApplication
{
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
...
...
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/AppletRecordAggrStatisBiz.java
0 → 100644
View file @
46ce5d37
package
com
.
pcloud
.
book
.
applet
.
biz
;
import
com.pcloud.common.page.PageBeanNew
;
public
interface
AppletRecordAggrStatisBiz
{
PageBeanNew
getAggrStatis
(
Long
wechatUserId
,
String
keyword
,
Integer
sourceType
,
Integer
rankType
,
Integer
currentPage
,
Integer
numPerPage
);
/**
* mySql 数据同步到 clickHouse
*/
void
fixAppletRecordDataSync4CH
(
String
createDate
);
/**
* 更新缓存
*/
void
updateAggrStatisCache
();
/**
* 同步数据并更新缓存
*/
void
syncDataAndUpdateCache
(
String
date
);
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/AppletRecordBiz.java
View file @
46ce5d37
...
@@ -74,4 +74,10 @@ public interface AppletRecordBiz {
...
@@ -74,4 +74,10 @@ public interface AppletRecordBiz {
* @return
* @return
*/
*/
Map
<
Long
,
AppletAppOrProductDTO
>
getAppOrProductBrowseCount
(
Integer
recordType
,
List
<
Long
>
serveIds
);
Map
<
Long
,
AppletAppOrProductDTO
>
getAppOrProductBrowseCount
(
Integer
recordType
,
List
<
Long
>
serveIds
);
}
\ No newline at end of file
void
fillAppletRecord
(
List
<
AppletRecordDTO
>
recordList
,
Integer
bookType
);
Object
handleAppletRecordTypeCode
(
Long
lastAppletRecordId
);
void
stopHandleAppletRecordTypeCode
();
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/impl/AppletRecordAggrStatisBizImpl.java
0 → 100644
View file @
46ce5d37
This diff is collapsed.
Click to expand it.
pcloud-service-book/src/main/java/com/pcloud/book/applet/biz/impl/AppletRecordBizImpl.java
View file @
46ce5d37
This diff is collapsed.
Click to expand it.
pcloud-service-book/src/main/java/com/pcloud/book/applet/contants/AppletConstants.java
View file @
46ce5d37
...
@@ -75,6 +75,11 @@ public class AppletConstants {
...
@@ -75,6 +75,11 @@ public class AppletConstants {
public
static
final
String
APPLET_RECORD_HISTORY_STATIS_REPORT_LAST_DATE
=
CacheConstant
.
BOOK
+
"APPLET:HISTORY_REPORT_LAST_DATE_"
;
public
static
final
String
APPLET_RECORD_HISTORY_STATIS_REPORT_LAST_DATE
=
CacheConstant
.
BOOK
+
"APPLET:HISTORY_REPORT_LAST_DATE_"
;
/**
/**
* 小睿资源广场统计
*/
public
static
final
String
APPLET_RESOURCE_AGGR_STATIS
=
CacheConstant
.
BOOK
+
"APPLET:getAggrStatis"
;
/**
* 未配置答案的书刊
* 未配置答案的书刊
*/
*/
public
static
final
List
<
Long
>
NO_ANSWER_BOOK
=
Arrays
.
asList
(
public
static
final
List
<
Long
>
NO_ANSWER_BOOK
=
Arrays
.
asList
(
...
...
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/AppletRecordDao.java
View file @
46ce5d37
...
@@ -7,6 +7,7 @@ import com.pcloud.book.applet.dto.AppletUserBookcaseDTO;
...
@@ -7,6 +7,7 @@ import com.pcloud.book.applet.dto.AppletUserBookcaseDTO;
import
com.pcloud.book.applet.dto.ReadBookDayStatisDTO
;
import
com.pcloud.book.applet.dto.ReadBookDayStatisDTO
;
import
com.pcloud.book.applet.entity.AppletRecord
;
import
com.pcloud.book.applet.entity.AppletRecord
;
import
com.pcloud.common.core.dao.BaseDao
;
import
com.pcloud.common.core.dao.BaseDao
;
import
org.apache.ibatis.session.ResultHandler
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
...
@@ -33,4 +34,10 @@ public interface AppletRecordDao extends BaseDao<AppletRecord> {
...
@@ -33,4 +34,10 @@ public interface AppletRecordDao extends BaseDao<AppletRecord> {
Long
getStatisUserCount
(
Date
prevMonday
,
Date
prevSunday
);
Long
getStatisUserCount
(
Date
prevMonday
,
Date
prevSunday
);
Map
<
Long
,
AppletAppOrProductDTO
>
getAppOrProductBrowseCount
(
Integer
recordType
,
List
<
Long
>
serveIds
);
Map
<
Long
,
AppletAppOrProductDTO
>
getAppOrProductBrowseCount
(
Integer
recordType
,
List
<
Long
>
serveIds
);
void
fixAppletRecordDataSync4CH
(
String
createDate
,
ResultHandler
<
AppletRecord
>
appletRecordResultHandler
);
List
<
AppletRecordDTO
>
getHandleAppletRecordTypeCode
(
Map
<
String
,
Object
>
paramMap
);
void
batchUpdateTypeCode
(
List
<
AppletRecordDTO
>
recordList
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dao/impl/AppletRecordDaoImpl.java
View file @
46ce5d37
...
@@ -9,6 +9,7 @@ import com.pcloud.book.applet.dto.AppletUserBookcaseDTO;
...
@@ -9,6 +9,7 @@ import com.pcloud.book.applet.dto.AppletUserBookcaseDTO;
import
com.pcloud.book.applet.dto.ReadBookDayStatisDTO
;
import
com.pcloud.book.applet.dto.ReadBookDayStatisDTO
;
import
com.pcloud.book.applet.entity.AppletRecord
;
import
com.pcloud.book.applet.entity.AppletRecord
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.apache.ibatis.session.ResultHandler
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
java.util.Date
;
import
java.util.Date
;
...
@@ -74,4 +75,20 @@ public class AppletRecordDaoImpl extends BaseDaoImpl<AppletRecord> implements Ap
...
@@ -74,4 +75,20 @@ public class AppletRecordDaoImpl extends BaseDaoImpl<AppletRecord> implements Ap
paramMap
.
put
(
"serveIds"
,
serveIds
);
paramMap
.
put
(
"serveIds"
,
serveIds
);
return
this
.
sqlSessionTemplate
.
selectMap
(
getStatement
(
"getAppOrProductBrowseCount"
),
paramMap
,
"serveId"
);
return
this
.
sqlSessionTemplate
.
selectMap
(
getStatement
(
"getAppOrProductBrowseCount"
),
paramMap
,
"serveId"
);
}
}
@Override
public
void
fixAppletRecordDataSync4CH
(
String
createDate
,
ResultHandler
<
AppletRecord
>
handler
)
{
Map
<
String
,
Object
>
params
=
MapUtil
.<
String
,
Object
>
builder
().
put
(
"createDate"
,
createDate
).
build
();
getSqlSession
().
select
(
getStatement
(
"fixAppletRecordDataSync4CH"
),
params
,
handler
);
}
@Override
public
List
<
AppletRecordDTO
>
getHandleAppletRecordTypeCode
(
Map
<
String
,
Object
>
paramMap
)
{
return
getSqlSession
().
selectList
(
getStatement
(
"getHandleAppletRecordTypeCode"
),
paramMap
);
}
@Override
public
void
batchUpdateTypeCode
(
List
<
AppletRecordDTO
>
recordList
)
{
getSqlSession
().
update
(
getStatement
(
"batchUpdateTypeCode"
),
recordList
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/dto/AppletRecordDTO.java
View file @
46ce5d37
package
com
.
pcloud
.
book
.
applet
.
dto
;
package
com
.
pcloud
.
book
.
applet
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.book.group.dto.WxWorkTeacherDTO
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -52,6 +53,9 @@ public class AppletRecordDTO {
...
@@ -52,6 +53,9 @@ public class AppletRecordDTO {
@ApiModelProperty
(
"书单推荐"
)
@ApiModelProperty
(
"书单推荐"
)
private
AppletOuterBooklistDTO
appletOuterBooklistDTO
;
private
AppletOuterBooklistDTO
appletOuterBooklistDTO
;
@ApiModelProperty
(
"企业微信客服"
)
private
WxWorkTeacherDTO
wxWorkTeacherDTO
;
@ApiModelProperty
(
"资源是否已经被删除 0 未删除,1 已删除"
)
@ApiModelProperty
(
"资源是否已经被删除 0 未删除,1 已删除"
)
private
Integer
sourceDelete
;
private
Integer
sourceDelete
;
...
@@ -73,4 +77,15 @@ public class AppletRecordDTO {
...
@@ -73,4 +77,15 @@ public class AppletRecordDTO {
@ApiModelProperty
(
"上下架状态"
)
@ApiModelProperty
(
"上下架状态"
)
private
Integer
showState
;
private
Integer
showState
;
@ApiModelProperty
(
"应用、作品类型"
)
private
String
typeCode
;
@ApiModelProperty
(
"用户量"
)
private
Integer
userCount
;
@ApiModelProperty
(
"点击量"
)
private
Integer
clickCount
;
@ApiModelProperty
(
"是否收藏"
)
private
Integer
isCollect
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/enums/AppletRankTypeEnum.java
0 → 100644
View file @
46ce5d37
package
com
.
pcloud
.
book
.
applet
.
enums
;
public
enum
AppletRankTypeEnum
{
ALL
(
1
),
// 总榜
MONTH
(
2
),
// 月榜
WEEK
(
3
);
// 周榜
public
Integer
value
;
AppletRankTypeEnum
(
Integer
value
)
{
this
.
value
=
value
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/enums/AppletSourceTypeEnum.java
0 → 100644
View file @
46ce5d37
package
com
.
pcloud
.
book
.
applet
.
enums
;
public
enum
AppletSourceTypeEnum
{
ONLINE_LESSON
(
1
),
// 线上课程
HOT_NEWS
(
2
),
// 热点资讯
LEARN_TOOL
(
3
),
// 学习工具
RECOMMEND_BOOK
(
4
),
// 推荐书单
RESOURCE_TOPIC
(
5
),
// 资源专题
LEARN_GROUP
(
6
),
// 学习交流群
ANSWER_1V1
(
7
),
// 1v1辅导答疑
LEARN_CLOCK
(
8
);
// 学习打卡
public
Integer
value
;
AppletSourceTypeEnum
(
Integer
value
)
{
this
.
value
=
value
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/facade/AppletRecordAggrStatisFacade.java
0 → 100644
View file @
46ce5d37
package
com
.
pcloud
.
book
.
applet
.
facade
;
import
com.pcloud.book.applet.biz.AppletRecordAggrStatisBiz
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.permission.PermissionException
;
import
com.pcloud.common.utils.cookie.Cookie
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.CookieValue
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* (AppletRecordAggrWeekStatis)表控制层
*
* @author makejava
* @since 2020-12-21 10:35:33
*/
@RestController
(
"appletRecordAggrStatisFacade"
)
@RequestMapping
(
"appletRecordAggrStatis"
)
public
class
AppletRecordAggrStatisFacade
{
@Autowired
private
AppletRecordAggrStatisBiz
appletRecordAggrStatisBiz
;
@ApiOperation
(
"分页查询"
)
@GetMapping
(
"getList"
)
public
ResponseDto
<?>
getAggrStatis
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestParam
(
value
=
"keyword"
,
required
=
false
)
String
keyword
,
@RequestParam
(
value
=
"sourceType"
,
defaultValue
=
"1"
)
Integer
sourceType
,
@RequestParam
(
value
=
"rankType"
,
required
=
false
,
defaultValue
=
"1"
)
Integer
rankType
,
@RequestParam
(
value
=
"currentPage"
,
defaultValue
=
"0"
)
Integer
currentPage
,
@RequestParam
(
value
=
"numPerPage"
,
defaultValue
=
"10"
)
Integer
numPerPage
)
throws
BizException
,
PermissionException
{
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
return
new
ResponseDto
<>(
appletRecordAggrStatisBiz
.
getAggrStatis
(
wechatUserId
,
keyword
,
sourceType
,
rankType
,
currentPage
,
numPerPage
));
}
}
pcloud-service-book/src/main/java/com/pcloud/book/applet/service/impl/AppletServiceImpl.java
View file @
46ce5d37
...
@@ -7,6 +7,7 @@ import com.pcloud.book.applet.biz.AppletBookClassifyBiz;
...
@@ -7,6 +7,7 @@ import com.pcloud.book.applet.biz.AppletBookClassifyBiz;
import
com.pcloud.book.applet.biz.AppletNewsBiz
;
import
com.pcloud.book.applet.biz.AppletNewsBiz
;
import
com.pcloud.book.applet.biz.AppletRecordBiz
;
import
com.pcloud.book.applet.biz.AppletRecordBiz
;
import
com.pcloud.book.applet.biz.AppletRecordStatisBiz
;
import
com.pcloud.book.applet.biz.AppletRecordStatisBiz
;
import
com.pcloud.book.applet.biz.AppletRecordAggrStatisBiz
;
import
com.pcloud.book.applet.biz.AppletThirdResourcesStaticBiz
;
import
com.pcloud.book.applet.biz.AppletThirdResourcesStaticBiz
;
import
com.pcloud.book.applet.biz.ServeCollectBiz
;
import
com.pcloud.book.applet.biz.ServeCollectBiz
;
import
com.pcloud.book.applet.dto.AppletAppOrProductDTO
;
import
com.pcloud.book.applet.dto.AppletAppOrProductDTO
;
...
@@ -75,6 +76,8 @@ public class AppletServiceImpl implements AppletService {
...
@@ -75,6 +76,8 @@ public class AppletServiceImpl implements AppletService {
private
AppletRecordStatisBiz
appletRecordStatisBiz
;
private
AppletRecordStatisBiz
appletRecordStatisBiz
;
@Autowired
@Autowired
private
AppletRecordBiz
appletRecordBiz
;
private
AppletRecordBiz
appletRecordBiz
;
@Autowired
private
AppletRecordAggrStatisBiz
appletRecordAggrStatisBiz
;
@Override
@Override
...
@@ -180,4 +183,34 @@ public class AppletServiceImpl implements AppletService {
...
@@ -180,4 +183,34 @@ public class AppletServiceImpl implements AppletService {
Map
<
Long
,
AppletAppOrProductDTO
>
appletAppOrProductDTOMap
=
appletRecordBiz
.
getAppOrProductBrowseCount
(
recordType
,
serveIds
);
Map
<
Long
,
AppletAppOrProductDTO
>
appletAppOrProductDTOMap
=
appletRecordBiz
.
getAppOrProductBrowseCount
(
recordType
,
serveIds
);
return
ResponseHandleUtil
.
toResponse
(
appletAppOrProductDTOMap
);
return
ResponseHandleUtil
.
toResponse
(
appletAppOrProductDTOMap
);
}
}
@Override
@GetMapping
(
"fixAppletRecordDataSync4CH"
)
public
void
fixAppletRecordDataSync4CH
(
@RequestParam
(
value
=
"createDate"
,
required
=
false
)
String
createDate
){
appletRecordAggrStatisBiz
.
fixAppletRecordDataSync4CH
(
createDate
);
}
@Override
@GetMapping
(
"updateAggrStatisCache"
)
public
void
updateAggrStatisCache
(){
appletRecordAggrStatisBiz
.
updateAggrStatisCache
();
}
@Override
@GetMapping
(
"syncDataAndUpdateCache"
)
public
void
syncDataAndUpdateCache
(
@RequestParam
(
value
=
"createDate"
,
required
=
false
)
String
createDate
){
appletRecordAggrStatisBiz
.
syncDataAndUpdateCache
(
createDate
);
}
@Override
@GetMapping
(
"handleAppletRecordTypeCode"
)
public
ResponseEntity
<
ResponseDto
<
Object
>>
handleAppletRecordTypeCode
(
@RequestParam
(
value
=
"lastAppletRecordId"
,
required
=
false
)
Long
lastAppletRecordId
){
return
ResponseHandleUtil
.
toResponse
(
appletRecordBiz
.
handleAppletRecordTypeCode
(
lastAppletRecordId
));
}
@Override
@GetMapping
(
"stopHandleAppletRecordTypeCode"
)
public
void
stopHandleAppletRecordTypeCode
(){
appletRecordBiz
.
stopHandleAppletRecordTypeCode
();
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/config/datasource/CHDataSource.java
0 → 100644
View file @
46ce5d37
package
com
.
pcloud
.
book
.
config
.
datasource
;
import
com.alibaba.druid.pool.DruidDataSource
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.ibatis.session.SqlSessionFactory
;
import
org.mybatis.spring.SqlSessionFactoryBean
;
import
org.mybatis.spring.SqlSessionTemplate
;
import
org.mybatis.spring.annotation.MapperScan
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.core.io.support.PathMatchingResourcePatternResolver
;
import
javax.sql.DataSource
;
/**
* clickhouse 数据源配置
*/
@Slf4j
@Configuration
@MapperScan
(
basePackages
=
"com.pcloud.book.mapper.clickhouse"
,
sqlSessionFactoryRef
=
"clickHouseSqlSessionFactory"
)
public
class
CHDataSource
{
@Bean
(
name
=
"clickHouseDataSource"
)
@ConfigurationProperties
(
prefix
=
"spring.datasourceCh"
)
public
DataSource
druidDataSource
()
{
log
.
info
(
"[初始化clickhouse数据源 - druidDataSource]"
);
return
new
DruidDataSource
();
}
@Bean
(
"clickHouseSqlSessionFactory"
)
public
SqlSessionFactory
clickHouseSqlSessionFactory
(
@Qualifier
(
"clickHouseDataSource"
)
DataSource
datasource
)
throws
Exception
{
SqlSessionFactoryBean
bean
=
new
SqlSessionFactoryBean
();
bean
.
setDataSource
(
datasource
);
bean
.
setMapperLocations
(
new
PathMatchingResourcePatternResolver
().
getResources
(
"classpath:/clickhouse/**/*Mapper.xml"
));
log
.
info
(
"[初始化clickhouse数据源 - clickHouseSqlSessionFactory]"
);
return
bean
.
getObject
();
}
@Bean
(
"clickHouseSqlSessionTemplate"
)
public
SqlSessionTemplate
clickHouseSqlSessionTemplate
(
@Qualifier
(
"clickHouseSqlSessionFactory"
)
SqlSessionFactory
sessionFactory
)
{
log
.
info
(
"[初始化clickhouse数据源 - clickHouseSqlSessionTemplate]"
);
return
new
SqlSessionTemplate
(
sessionFactory
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/WeworkTeacherFriendRecordBiz.java
0 → 100644
View file @
46ce5d37
package
com
.
pcloud
.
book
.
group
.
biz
;
import
com.pcloud.book.group.entity.WeworkTeacherFriendRecord
;
import
com.pcloud.common.page.PageBeanNew
;
import
java.util.List
;
/**
* 点击加老师好友记录表(WeworkTeacherFriendRecord)表服务接口
*
* @author makejava
* @since 2020-12-25 20:01:43
*/
public
interface
WeworkTeacherFriendRecordBiz
{
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
WeworkTeacherFriendRecord
getById
(
Long
id
);
/**
* 分页查询
*/
PageBeanNew
getList
(
Integer
currentPage
,
Integer
numPerPage
);
/**
* 新增数据
*
* @param weworkTeacherFriendRecord 实例对象
* @return 主键
*/
Long
insert
(
WeworkTeacherFriendRecord
weworkTeacherFriendRecord
);
/**
* 修改数据
*
* @param weworkTeacherFriendRecord 实例对象
*/
void
update
(
WeworkTeacherFriendRecord
weworkTeacherFriendRecord
);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
void
deleteById
(
Long
id
);
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/WeworkTeacherFriendRecordBizImpl.java
0 → 100644
View file @
46ce5d37
package
com
.
pcloud
.
book
.
group
.
biz
.
impl
;
import
com.pcloud.book.group.entity.WeworkTeacherFriendRecord
;
import
com.pcloud.book.group.dao.WeworkTeacherFriendRecordDao
;
import
com.pcloud.book.group.biz.WeworkTeacherFriendRecordBiz
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.NumberUtil
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* 点击加老师好友记录表(WeworkTeacherFriendRecord)表服务实现类
*
* @author makejava
* @since 2020-12-25 20:01:43
*/
@Service
(
"weworkTeacherFriendRecordBiz"
)
public
class
WeworkTeacherFriendRecordBizImpl
implements
WeworkTeacherFriendRecordBiz
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
WeworkTeacherFriendRecordBizImpl
.
class
);
@Autowired
private
WeworkTeacherFriendRecordDao
weworkTeacherFriendRecordDao
;
@Override
@ParamLog
(
"通过ID查询单条数据"
)
public
WeworkTeacherFriendRecord
getById
(
Long
id
)
{
return
weworkTeacherFriendRecordDao
.
getById
(
id
);
}
@Override
@ParamLog
(
"查询多条数据"
)
public
PageBeanNew
getList
(
Integer
currentPage
,
Integer
numPerPage
)
{
PageBeanNew
pageBeanNew
=
weworkTeacherFriendRecordDao
.
listPageNew
(
new
PageParam
(
currentPage
,
numPerPage
),
null
,
"getList"
);
List
recordList
=
pageBeanNew
.
getRecordList
();
if
(
ListUtils
.
isEmpty
(
recordList
)){
return
pageBeanNew
;
}
// 加载其它数据
return
pageBeanNew
;
}
@Override
@ParamLog
(
"新增"
)
public
Long
insert
(
WeworkTeacherFriendRecord
weworkTeacherFriendRecord
)
{
weworkTeacherFriendRecordDao
.
insert
(
weworkTeacherFriendRecord
);
return
weworkTeacherFriendRecord
.
getId
();
}
@Override
@ParamLog
(
"修改"
)
public
void
update
(
WeworkTeacherFriendRecord
weworkTeacherFriendRecord
)
{
if
(
weworkTeacherFriendRecord
==
null
||
!
NumberUtil
.
isNumber
(
weworkTeacherFriendRecord
.
getId
())){
throw
BizException
.
PARAM_IS_NULL
;
}
weworkTeacherFriendRecordDao
.
update
(
weworkTeacherFriendRecord
);
}
@Override
@ParamLog
(
"删除"
)
public
void
deleteById
(
Long
id
)
{
weworkTeacherFriendRecordDao
.
deleteById
(
id
);
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/WeworkTeacherFriendRecordDao.java
0 → 100644
View file @
46ce5d37
package
com
.
pcloud
.
book
.
group
.
dao
;
import
com.pcloud.book.applet.dto.AppletRecordDTO
;
import
com.pcloud.book.group.entity.WeworkTeacherFriendRecord
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.HashMap
;
import
java.util.List
;
/**
* 点击加老师好友记录表(WeworkTeacherFriendRecord)表数据库访问层
*
* @author makejava
* @since 2020-12-25 20:01:43
*/
public
interface
WeworkTeacherFriendRecordDao
extends
BaseDao
<
WeworkTeacherFriendRecord
>
{
List
<
AppletRecordDTO
>
getAggrStatis
(
HashMap
<
String
,
Object
>
paramMap
);
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/impl/WeworkTeacherFriendRecordDaoImpl.java
0 → 100644
View file @
46ce5d37
package
com
.
pcloud
.
book
.
group
.
dao
.
impl
;
import
com.pcloud.book.applet.dto.AppletRecordDTO
;
import
com.pcloud.book.group.entity.WeworkTeacherFriendRecord
;
import
com.pcloud.book.group.dao.WeworkTeacherFriendRecordDao
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Repository
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.HashMap
;
import
java.util.List
;
/**
* 点击加老师好友记录表(WeworkTeacherFriendRecord)表数据库访问层
*
* @author makejava
* @since 2020-12-25 20:01:43
*/
@Repository
(
"weworkTeacherFriendRecordDaoImpl"
)
public
class
WeworkTeacherFriendRecordDaoImpl
extends
BaseDaoImpl
<
WeworkTeacherFriendRecord
>
implements
WeworkTeacherFriendRecordDao
{
@Override
public
List
<
AppletRecordDTO
>
getAggrStatis
(
HashMap
<
String
,
Object
>
paramMap
)
{
return
this
.
sqlSessionTemplate
.
selectList
(
getStatement
(
"getAggrStatis"
),
paramMap
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dto/WxWorkTeacherDTO.java
0 → 100644
View file @
46ce5d37
package
com
.
pcloud
.
book
.
group
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
@Data
public
class
WxWorkTeacherDTO
{
@ApiModelProperty
(
"id"
)
private
Long
id
;
/**
* 企业微信二维码
*/
@ApiModelProperty
(
"企业微信二维码"
)
private
String
qrcode
;
/**
* 真实姓名
*/
@ApiModelProperty
(
"真实姓名"
)
private
String
realName
;
/**
* 昵称
*/
@ApiModelProperty
(
"昵称"
)
private
String
nickname
;
/**
* 头像地址
*/
@ApiModelProperty
(
"头像地址"
)
private
String
avatar
;
/**
* 描述
*/
@ApiModelProperty
(
"描述"
)
private
String
desc
;
/**
* 图文素材标题名称
*/
@ApiModelProperty
(
"图文素材标题名称"
)
private
String
title
;
/**
* 客服类型:1:苏老师 2:张哥哥
*/
@ApiModelProperty
(
"客服类型:1:苏老师 2:张哥哥"
)
private
Integer
teacherType
;
/**
* 开关状态
*/
@ApiModelProperty
(
"开关状态"
)
private
Integer
isOpen
;
/**
* 图文素材地址
*/
@ApiModelProperty
(
"图文素材地址"
)
private
String
materialUrl
;
/**
* 图文素材媒体ID
*/
@ApiModelProperty
(
"图文素材媒体ID"
)
private
String
mediaId
;
/**
* 公众号ID
*/
@ApiModelProperty
(
"公众号ID"
)
private
Long
accountId
;
/**
* 创建时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"创建时间"
)
private
Date
createTime
;
/**
* 更新时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"更新时间"
)
private
Date
updateTime
;
}
pcloud-service-book/src/main/java/com/pcloud/book/group/entity/WeworkTeacherFriendRecord.java
0 → 100644
View file @
46ce5d37
package
com
.
pcloud
.
book
.
group
.
entity
;
import
java.util.Date
;
import
java.math.BigDecimal
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 点击加老师好友记录表(WeworkTeacherFriendRecord)实体类
*
* @author makejava
* @since 2020-12-25 20:01:43
*/
@Data
public
class
WeworkTeacherFriendRecord
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
326531946857412022L
;
@ApiModelProperty
(
"点击加老师好友记录表id"
)
private
Long
id
;
@ApiModelProperty
(
"用户id"
)
private
Long
wechatUserId
;
@ApiModelProperty
(
"老师id"
)
private
Long
weworkTeacherId
;
@ApiModelProperty
(
"添加时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
createTime
;
@ApiModelProperty
(
"添加日期"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
createDate
;
}
pcloud-service-book/src/main/java/com/pcloud/book/group/facade/impl/WeworkTeacherFriendRecordFacade.java
0 → 100644
View file @
46ce5d37
package
com
.
pcloud
.
book
.
group
.
facade
.
impl
;
import
com.pcloud.book.group.entity.WeworkTeacherFriendRecord
;
import
com.pcloud.book.group.biz.WeworkTeacherFriendRecordBiz
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.permission.PermissionException
;
import
com.pcloud.common.utils.SessionUtil
;
import
com.pcloud.common.utils.cookie.Cookie
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
io.swagger.annotations.ApiOperation
;
/**
* 点击加老师好友记录表(WeworkTeacherFriendRecord)表控制层
*
* @author makejava
* @since 2020-12-25 20:01:43
*/
@RestController
(
"weworkTeacherFriendRecordFacade"
)
@RequestMapping
(
"weworkTeacherFriendRecord"
)
public
class
WeworkTeacherFriendRecordFacade
{
@Autowired
private
WeworkTeacherFriendRecordBiz
weworkTeacherFriendRecordBiz
;
@ApiOperation
(
"通过主键查询单条数据"
)
@GetMapping
(
"getById"
)
public
ResponseDto
<?>
getById
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
Long
id
)
throws
BizException
,
PermissionException
{
SessionUtil
.
getToken4Redis
(
token
);
return
new
ResponseDto
<>(
weworkTeacherFriendRecordBiz
.
getById
(
id
));
}
@ApiOperation
(
"分页查询"
)
@GetMapping
(
"getList"
)
public
ResponseDto
<?>
getList
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
(
value
=
"currentPage"
,
defaultValue
=
"0"
)
Integer
currentPage
,
@RequestParam
(
value
=
"numPerPage"
,
defaultValue
=
"10"
)
Integer
numPerPage
)
throws
BizException
,
PermissionException
{
SessionUtil
.
getToken4Redis
(
token
);
return
new
ResponseDto
<>(
weworkTeacherFriendRecordBiz
.
getList
(
currentPage
,
numPerPage
));
}
@ApiOperation
(
"新增"
)
@PostMapping
(
"insert"
)
public
ResponseDto
<?>
insert
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestBody
WeworkTeacherFriendRecord
weworkTeacherFriendRecord
)
throws
BizException
,
PermissionException
{
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
weworkTeacherFriendRecord
.
setWechatUserId
(
wechatUserId
);
return
new
ResponseDto
<>(
weworkTeacherFriendRecordBiz
.
insert
(
weworkTeacherFriendRecord
));
}
@ApiOperation
(
"更新"
)
@PostMapping
(
"update"
)
public
ResponseDto
<?>
update
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
WeworkTeacherFriendRecord
weworkTeacherFriendRecord
)
throws
BizException
,
PermissionException
{
SessionUtil
.
getToken4Redis
(
token
);
weworkTeacherFriendRecordBiz
.
update
(
weworkTeacherFriendRecord
);
return
new
ResponseDto
<>();
}
@ApiOperation
(
"删除"
)
@GetMapping
(
"deleteById"
)
public
ResponseDto
<?>
deleteById
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
Long
id
)
throws
BizException
,
PermissionException
{
SessionUtil
.
getToken4Redis
(
token
);
if
(
null
==
id
)
{
throw
BookBizException
.
PARAM_DELETION
;
}
weworkTeacherFriendRecordBiz
.
deleteById
(
id
);
return
new
ResponseDto
<>();
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/mapper/WeworkTeacherMapper.java
View file @
46ce5d37
...
@@ -42,4 +42,4 @@ public interface WeworkTeacherMapper {
...
@@ -42,4 +42,4 @@ public interface WeworkTeacherMapper {
@MapKey
(
"id"
)
@MapKey
(
"id"
)
Map
<
Long
,
WxWorkTeacherDTO
>
getWxWorkTeacherByIds
(
@Param
(
"ids"
)
List
<
Long
>
teacherIds
);
Map
<
Long
,
WxWorkTeacherDTO
>
getWxWorkTeacherByIds
(
@Param
(
"ids"
)
List
<
Long
>
teacherIds
);
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/mapper/clickhouse/AppletRecordCHMapper.java
0 → 100644
View file @
46ce5d37
package
com
.
pcloud
.
book
.
mapper
.
clickhouse
;
import
com.pcloud.book.applet.dto.AppletRecordDTO
;
import
com.pcloud.book.applet.entity.AppletRecord
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
import
java.util.Map
;
@Mapper
@Component
public
interface
AppletRecordCHMapper
{
void
batchInsert
(
List
<
AppletRecord
>
list
);
List
<
AppletRecordDTO
>
getAggrStatis
(
Map
<
String
,
Object
>
paramMap
);
void
optimize
();
}
pcloud-service-book/src/main/resources/clickhouse/applet/AppletRecordCHMapper.xml
0 → 100644
View file @
46ce5d37
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.pcloud.book.mapper.clickhouse.AppletRecordCHMapper"
>
<insert
id=
"batchInsert"
>
INSERT INTO applet_record (
id,
wechat_user_id,
record_type,
rights_setting_id,
book_id,
channel_id,
adviser_id,
from_id,
from_name,
type_code,
account_setting_id,
create_time,
create_date,
is_delete,
link_url
) VALUES
<foreach
collection=
"list"
item=
"item"
separator=
","
>
(
#{item.id},
#{item.wechatUserId},
#{item.recordType},
#{item.rightsSettingId},
#{item.bookId},
#{item.channelId},
#{item.adviserId},
#{item.fromId},
#{item.fromName},
#{item.typeCode},
#{item.accountSettingId},
#{item.createTime},
#{item.createDate},
#{item.isDelete},
#{item.linkUrl}
)
</foreach>
</insert>
<select
id=
"getAggrStatis"
resultType=
"com.pcloud.book.applet.dto.AppletRecordDTO"
>
SELECT record_type recordType, from_id fromId, any(from_name) fromName, any(link_url) linkUrl,
COUNT(id) clickCount, COUNT(DISTINCT wechat_user_id) userCount
FROM applet_record
<where>
<if
test=
"recordTypes != null and recordTypes.size() > 0"
>
(
</if>
<foreach
collection=
"recordTypes"
item=
"item"
separator=
" OR "
open=
"("
close=
")"
>
<if
test=
"item.recordType != null"
>
record_type = #{item.recordType}
</if>
<if
test=
"item.typeCodes != null and item.typeCodes.size() > 0"
>
AND type_code IN
<foreach
collection=
"item.typeCodes"
item=
"typeCode"
separator=
","
open=
"("
close=
")"
>
#{typeCode}
</foreach>
</if>
</foreach>
<if
test=
"recordTypes != null and recordTypes.size() > 0"
>
)
</if>
<if
test=
"beginDate != null"
>
AND creaete_time BETWEEN #{beginDate} AND #{endDate}
</if>
</where>
GROUP BY record_type, from_id
ORDER BY userCount DESC
LIMIT #{offset},#{limit}
</select>
<update
id=
"optimize"
>
optimize table applet_record
</update>
</mapper>
pcloud-service-book/src/main/resources/mapper/applet/AppletRecord.Mapper.xml
View file @
46ce5d37
...
@@ -12,6 +12,7 @@
...
@@ -12,6 +12,7 @@
<result
column=
"adviser_id"
property=
"adviserId"
jdbcType=
"BIGINT"
/>
<result
column=
"adviser_id"
property=
"adviserId"
jdbcType=
"BIGINT"
/>
<result
column=
"from_id"
property=
"fromId"
jdbcType=
"BIGINT"
/>
<result
column=
"from_id"
property=
"fromId"
jdbcType=
"BIGINT"
/>
<result
column=
"from_name"
property=
"fromName"
jdbcType=
"VARCHAR"
/>
<result
column=
"from_name"
property=
"fromName"
jdbcType=
"VARCHAR"
/>
<result
column=
"type_code"
property=
"typeCode"
jdbcType=
"VARCHAR"
/>
<result
column=
"account_setting_id"
property=
"accountSettingId"
jdbcType=
"BIGINT"
/>
<result
column=
"account_setting_id"
property=
"accountSettingId"
jdbcType=
"BIGINT"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"create_date"
property=
"createDate"
jdbcType=
"DATE"
/>
<result
column=
"create_date"
property=
"createDate"
jdbcType=
"DATE"
/>
...
@@ -29,6 +30,7 @@
...
@@ -29,6 +30,7 @@
<result
column=
"adviser_id"
property=
"adviserId"
jdbcType=
"BIGINT"
/>
<result
column=
"adviser_id"
property=
"adviserId"
jdbcType=
"BIGINT"
/>
<result
column=
"from_id"
property=
"fromId"
jdbcType=
"BIGINT"
/>
<result
column=
"from_id"
property=
"fromId"
jdbcType=
"BIGINT"
/>
<result
column=
"from_name"
property=
"fromName"
jdbcType=
"VARCHAR"
/>
<result
column=
"from_name"
property=
"fromName"
jdbcType=
"VARCHAR"
/>
<result
column=
"type_code"
property=
"typeCode"
jdbcType=
"VARCHAR"
/>
<result
column=
"account_setting_id"
property=
"accountSettingId"
jdbcType=
"BIGINT"
/>
<result
column=
"account_setting_id"
property=
"accountSettingId"
jdbcType=
"BIGINT"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"create_date"
property=
"createDate"
jdbcType=
"DATE"
/>
<result
column=
"create_date"
property=
"createDate"
jdbcType=
"DATE"
/>
...
@@ -37,7 +39,7 @@
...
@@ -37,7 +39,7 @@
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
id, wechat_user_id, record_type, rights_setting_id, book_id, channel_id, adviser_id, from_id, from_name, account_setting_id,
id, wechat_user_id, record_type, rights_setting_id, book_id, channel_id, adviser_id, from_id, from_name,
type_code,
account_setting_id,
create_time, create_date, is_delete, link_url
create_time, create_date, is_delete, link_url
</sql>
</sql>
...
@@ -335,4 +337,41 @@
...
@@ -335,4 +337,41 @@
from_id
from_id
</select>
</select>
<select
id=
"fixAppletRecordDataSync4CH"
parameterType=
"map"
resultMap=
"BaseResultMap"
>
SELECT * FROM applet_record WHERE create_date = #{createDate}
</select>
<select
id=
"getHandleAppletRecordTypeCode"
resultMap=
"BaseResultMap4DTO"
>
SELECT id, record_type, from_id
FROM applet_record
WHERE id > #{lastAppletRecordId}
<if
test=
"recordTypes != null and recordTypes.size() > 0"
>
AND record_type IN
<foreach
collection=
"recordTypes"
item=
"recordType"
open=
"("
close=
")"
separator=
","
>
#{recordType}
</foreach>
</if>
ORDER BY id
LIMIT #{offset},#{limit}
</select>
<update
id=
"batchUpdateTypeCode"
parameterType=
"list"
>
update
applet_record
<trim
prefix=
"set"
suffixOverrides=
","
>
<trim
prefix=
"type_code =case"
suffix=
"end,"
>
<foreach
collection=
"list"
item=
"item"
>
<if
test=
"item.typeCode!=null"
>
when id=#{item.id} then #{item.typeCode}
</if>
</foreach>
</trim>
</trim>
<where>
<foreach
collection=
"list"
separator=
"or"
item=
"item"
>
id = #{item.id}
</foreach>
</where>
</update>
</mapper>
</mapper>
pcloud-service-book/src/main/resources/mapper/group/WeworkTeacherFriendRecord.Mapper.xml
0 → 100644
View file @
46ce5d37
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.pcloud.book.group.dao.impl.WeworkTeacherFriendRecordDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.group.entity.WeworkTeacherFriendRecord"
>
<id
column=
"id"
property=
"id"
jdbcType=
"BIGINT"
/>
<result
column=
"wechat_user_id"
property=
"wechatUserId"
jdbcType=
"BIGINT"
/>
<result
column=
"wework_teacher_id"
property=
"weworkTeacherId"
jdbcType=
"BIGINT"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"create_date"
property=
"createDate"
jdbcType=
"DATE"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, wechat_user_id, wework_teacher_id, create_time, create_date
</sql>
<select
id=
"getById"
resultMap=
"BaseResultMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM wework_teacher_friend_record
WHERE id = #{id}
</select>
<select
id=
"getList"
resultMap=
"BaseResultMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM wework_teacher_friend_record
</select>
<select
id=
"getAggrStatis"
resultType=
"com.pcloud.book.applet.dto.AppletRecordDTO"
>
SELECT #{recordType} recordType, wework_teacher_id fromId, COUNT(id) clickCount, COUNT(DISTINCT wechat_user_id) userCount
FROM wework_teacher_friend_record
<where>
<if
test=
"beginDate != null"
>
create_date BETWEEN #{beginDate} AND #{endDate}
</if>
</where>
GROUP BY wework_teacher_id
ORDER BY clickCount DESC
LIMIT #{offset},#{limit}
</select>
<insert
id=
"insert"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
INSERT INTO wework_teacher_friend_record(
wechat_user_id,
wework_teacher_id,
create_time,
create_date
) VALUES (
#{wechatUserId, jdbcType=BIGINT},
#{weworkTeacherId, jdbcType=BIGINT},
NOW(),
NOW()
)
</insert>
<insert
id=
"batchInsert"
>
INSERT INTO wework_teacher_friend_record (
wechat_user_id,
wework_teacher_id,
create_time,
create_date
) VALUES
<foreach
collection=
"list"
item=
"item"
separator=
","
>
(
#{item.wechatUserId, jdbcType=BIGINT},
#{item.weworkTeacherId, jdbcType=BIGINT},
NOW(),
NOW()
)
</foreach>
</insert>
<!--通过主键修改数据-->
<update
id=
"update"
>
UPDATE wework_teacher_friend_record
<set>
<if
test=
"wechatUserId != null"
>
wechat_user_id = #{wechatUserId},
</if>
<if
test=
"weworkTeacherId != null"
>
wework_teacher_id = #{weworkTeacherId},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime},
</if>
<if
test=
"createDate != null"
>
create_date = #{createDate},
</if>
</set>
WHERE id = #{id}
</update>
<!--通过主键删除-->
<delete
id=
"deleteById"
>
DELETE FROM wework_teacher_friend_record where id = #{id}
</delete>
</mapper>
pcloud-service-book/src/main/resources/mapper/group/WeworkTeacherMapper.xml
View file @
46ce5d37
...
@@ -17,8 +17,8 @@
...
@@ -17,8 +17,8 @@
<result
column=
"create_time"
jdbcType=
"TIMESTAMP"
property=
"createTime"
/>
<result
column=
"create_time"
jdbcType=
"TIMESTAMP"
property=
"createTime"
/>
<result
column=
"update_time"
jdbcType=
"TIMESTAMP"
property=
"updateTime"
/>
<result
column=
"update_time"
jdbcType=
"TIMESTAMP"
property=
"updateTime"
/>
</resultMap>
</resultMap>
<resultMap
id=
"BaseResultMap4DTO"
type=
"com.pcloud.book.group.dto.WxWorkTeacherDTO"
extends=
"BaseResultMap"
>
<resultMap
id=
"BaseResultMap4DTO"
type=
"com.pcloud.book.group.dto.WxWorkTeacherDTO"
extends=
"BaseResultMap"
>
</resultMap>
</resultMap>
...
@@ -295,4 +295,4 @@
...
@@ -295,4 +295,4 @@
</foreach>
</foreach>
</select>
</select>
</mapper>
</mapper>
\ No newline at end of file
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