Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
P
physical
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
alpha
physical
Commits
1a4522f1
Commit
1a4522f1
authored
Mar 19, 2019
by
lixiaofang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add
parent
7f7b0ddb
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
170 additions
and
21 deletions
+170
-21
workspace.xml
.idea/workspace.xml
+0
-0
pictorial.json
trans2es/mapping/pictorial.json
+18
-0
topic.json
trans2es/mapping/topic.json
+2
-1
pictorial.py
trans2es/models/pictorial.py
+76
-14
topic.py
trans2es/models/topic.py
+12
-3
type_info.py
trans2es/type_info.py
+14
-1
pictorial_transfer.py
trans2es/utils/pictorial_transfer.py
+40
-0
topic_transfer.py
trans2es/utils/topic_transfer.py
+8
-2
No files found.
.idea/workspace.xml
View file @
1a4522f1
This diff is collapsed.
Click to expand it.
trans2es/mapping/pictorial.json
0 → 100644
View file @
1a4522f1
{
"dynamic"
:
"strict"
,
"properties"
:
{
"id"
:{
"type"
:
"long"
},
"is_online"
:{
"type"
:
"boolean"
},
//上线
"is_deleted"
:{
"type"
:
"boolean"
},
"is_recommend"
:{
"type"
:
"boolean"
},
"name"
:{
"type"
:
"text"
,
"analyzer"
:
"gm_default_index"
,
"search_analyzer"
:
"gm_default_index"
},
"description"
:{
"type"
:
"text"
,
"analyzer"
:
"gm_default_index"
,
"search_analyzer"
:
"gm_default_index"
},
"topic_num"
:{
"type"
:
"long"
},
"creator_id"
:{
"type"
:
"long"
},
"icon"
:{
"type"
:
"text"
},
"high_quality_topic_num"
:{
"type"
:
"long"
},
//前一天该小组
4
&
5
星帖子数量
"create_time"
:{
"type"
:
"date"
,
"format"
:
"date_time_no_millis"
},
"update_time"
:{
"type"
:
"date"
,
"format"
:
"date_time_no_millis"
}
}
}
\ No newline at end of file
trans2es/mapping/topic.json
View file @
1a4522f1
...
@@ -11,7 +11,8 @@
...
@@ -11,7 +11,8 @@
"content"
:{
"type"
:
"text"
,
"analyzer"
:
"gm_default_index"
,
"search_analyzer"
:
"gm_default_index"
},
"content"
:{
"type"
:
"text"
,
"analyzer"
:
"gm_default_index"
,
"search_analyzer"
:
"gm_default_index"
},
"content_level"
:{
"type"
:
"text"
},
"content_level"
:{
"type"
:
"text"
},
"user_id"
:{
"type"
:
"long"
},
"user_id"
:{
"type"
:
"long"
},
"group_id"
:{
"type"
:
"long"
},
//所在组ID
//
"group_id"
:{
"type"
:
"long"
},
//所在组ID
"pictorial_id"
:{
"type"
:
"long"
},
//所在画报的ID
"tag_list"
:{
"type"
:
"long"
},
//标签属性
"tag_list"
:{
"type"
:
"long"
},
//标签属性
"edit_tag_list"
:{
"type"
:
"long"
},
//编辑标签
"edit_tag_list"
:{
"type"
:
"long"
},
//编辑标签
"tag_name_list"
:{
"type"
:
"text"
,
"analyzer"
:
"gm_default_index"
,
"search_analyzer"
:
"gm_default_index"
},
"tag_name_list"
:{
"type"
:
"text"
,
"analyzer"
:
"gm_default_index"
,
"search_analyzer"
:
"gm_default_index"
},
...
...
trans2es/models/pictorial.py
View file @
1a4522f1
# from django.db import models
from
django.db
import
models
import
datetime
from
.topic
import
Topic
import
logging
import
traceback
#
class PictorialTopic(models.Model):
class
PictorialTopic
(
models
.
Model
):
#
"""画报帖子关系"""
"""画报帖子关系"""
#
class Meta:
class
Meta
:
#
verbose_name = u'画报帖子关系'
verbose_name
=
u'画报帖子关系'
#
app_label = 'community'
app_label
=
'community'
#
db_table = 'community_pictorial_topic'
db_table
=
'community_pictorial_topic'
# id = models.IntegerField(verbose_name=u'日记ID', primary_key=True)
id
=
models
.
IntegerField
(
verbose_name
=
u'日记ID'
,
primary_key
=
True
)
# pictorial_id = models.BigIntegerField(verbose_name=u'画报ID')
pictorial_id
=
models
.
BigIntegerField
(
verbose_name
=
u'画报ID'
)
# topic_id = models.BigIntegerField(verbose_name=u'帖子ID')
topic_id
=
models
.
BigIntegerField
(
verbose_name
=
u'帖子ID'
)
# user_id = models.BigIntegerField(verbose_name=u'用户ID')
is_online
=
models
.
BooleanField
(
verbose_name
=
u"是否有效"
,
default
=
True
)
# is_online = models.BooleanField(verbose_name=u"是否有效", default=True)
is_online
=
models
.
BooleanField
(
verbose_name
=
u'是否上线'
)
# is_online = models.BooleanField(verbose_name=u'是否上线')
is_deleted
=
models
.
BooleanField
(
verbose_name
=
u'是否删除'
)
# is_deleted = models.BooleanField(verbose_name=u'是否删除')
class
PictorialFollow
(
models
.
Model
):
"""画报关注"""
class
Meta
:
verbose_name
=
u"画报用户关系"
app_label
=
"community"
db_table
=
"community_pictorial_follow"
id
=
models
.
IntegerField
(
verbose_name
=
u'关注ID'
,
primary_key
=
True
)
create_time
=
models
.
DateTimeField
(
verbose_name
=
u'创建时间'
,
default
=
datetime
.
datetime
.
fromtimestamp
(
0
))
update_time
=
models
.
DateTimeField
(
verbose_name
=
u'更新时间'
,
default
=
datetime
.
datetime
.
fromtimestamp
(
0
))
is_online
=
models
.
BooleanField
(
verbose_name
=
u'是否上线'
)
is_deleted
=
models
.
BooleanField
(
verbose_name
=
u'是否删除'
)
pictorial_id
=
models
.
BigIntegerField
(
verbose_name
=
u'画报ID'
)
user_id
=
models
.
BigIntegerField
(
verbose_name
=
u'用户ID'
)
class
Pictorial
(
models
.
Model
):
"""画报关注"""
class
Meta
:
verbose_name
=
u"画报"
app_label
=
"community"
db_table
=
"community_pictorial"
id
=
models
.
IntegerField
(
verbose_name
=
u'关注ID'
,
primary_key
=
True
)
create_time
=
models
.
DateTimeField
(
verbose_name
=
u'创建时间'
,
default
=
datetime
.
datetime
.
fromtimestamp
(
0
))
update_time
=
models
.
DateTimeField
(
verbose_name
=
u'更新时间'
,
default
=
datetime
.
datetime
.
fromtimestamp
(
0
))
is_online
=
models
.
BooleanField
(
verbose_name
=
u'是否上线'
)
is_deleted
=
models
.
BooleanField
(
verbose_name
=
u'是否删除'
)
is_recommend
=
models
.
BooleanField
(
verbose_name
=
u'推荐'
)
name
=
models
.
CharField
(
verbose_name
=
u'画报名称'
,
max_length
=
100
)
description
=
models
.
CharField
(
verbose_name
=
u'画报描述'
,
max_length
=
200
)
creator_id
=
models
.
BigIntegerField
(
verbose_name
=
u'画报用户ID'
)
pictorial_id
=
models
.
IntegerField
(
verbose_name
=
u'画报ID'
)
user_id
=
models
.
IntegerField
(
verbose_name
=
u'用户ID'
)
icon
=
models
.
CharField
(
verbose_name
=
u'画报名称'
,
max_length
=
255
)
topic_num
=
models
.
IntegerField
(
verbose_name
=
u'次数'
)
# 获取前一天4,5星发帖数
def
get_high_quality_topic_num
(
self
):
try
:
yesterday
=
datetime
.
datetime
.
now
()
-
datetime
.
timedelta
(
days
=
1
)
yesterday_begin_time
=
"
%
s-
%
s-
%
s 00:00:00"
%
(
yesterday
.
year
,
yesterday
.
month
,
yesterday
.
day
)
yesterday_end_time
=
"
%
s-
%
s-
%
s 23:59:59"
%
(
yesterday
.
year
,
yesterday
.
month
,
yesterday
.
day
)
topic_id_list
=
PictorialTopic
.
objects
.
filter
(
pictorial_id
=
self
.
pictorial_id
,
create_time__gte
=
yesterday_begin_time
,
create_time__lte
=
yesterday_end_time
)
topic_num
=
Topic
.
filter
(
content_level__in
=
(
"4"
,
"5"
),
create_time__gte
=
yesterday_begin_time
,
create_time__lte
=
yesterday_end_time
,
topic_id_in
=
topic_id_list
)
.
count
()
return
topic_num
except
:
logging
.
error
(
"catch exception,err_msg:
%
s"
%
traceback
.
format_exc
())
return
False
trans2es/models/topic.py
View file @
1a4522f1
...
@@ -16,6 +16,7 @@ from .pick_topic import PickTopic
...
@@ -16,6 +16,7 @@ from .pick_topic import PickTopic
from
.tag
import
TopicTag
,
Tag
from
.tag
import
TopicTag
,
Tag
from
.user_extra
import
UserExtra
from
.user_extra
import
UserExtra
from
.group
import
Group
from
.group
import
Group
from
.pictorial
import
Pictorial
,
PictorialFollow
,
PictorialTopic
class
ActionSumAboutTopic
(
models
.
Model
):
class
ActionSumAboutTopic
(
models
.
Model
):
...
@@ -53,9 +54,9 @@ class Topic(models.Model):
...
@@ -53,9 +54,9 @@ class Topic(models.Model):
id
=
models
.
IntegerField
(
verbose_name
=
u'日记ID'
,
primary_key
=
True
)
id
=
models
.
IntegerField
(
verbose_name
=
u'日记ID'
,
primary_key
=
True
)
name
=
models
.
CharField
(
verbose_name
=
u'日记名称'
,
max_length
=
100
)
name
=
models
.
CharField
(
verbose_name
=
u'日记名称'
,
max_length
=
100
)
# group_id = models.IntegerField(verbose_name='用户所在组ID',default=-1)
# group_id = models.IntegerField(verbose_name='用户所在组ID',default=-1)
group
=
models
.
ForeignKey
(
#
group = models.ForeignKey(
Group
,
verbose_name
=
u"关联的小组"
,
related_name
=
u"group_topics"
,
null
=
True
,
blank
=
True
,
default
=
None
,
#
Group, verbose_name=u"关联的小组", related_name=u"group_topics", null=True, blank=True, default=None,
on_delete
=
models
.
CASCADE
)
#
on_delete=models.CASCADE)
user_id
=
models
.
IntegerField
(
verbose_name
=
u'用户ID'
)
user_id
=
models
.
IntegerField
(
verbose_name
=
u'用户ID'
)
has_video
=
models
.
BooleanField
(
verbose_name
=
u'是否是视频日记'
)
has_video
=
models
.
BooleanField
(
verbose_name
=
u'是否是视频日记'
)
drop_score
=
models
.
IntegerField
(
verbose_name
=
u'人工赋分'
,
default
=
0
)
drop_score
=
models
.
IntegerField
(
verbose_name
=
u'人工赋分'
,
default
=
0
)
...
@@ -83,6 +84,14 @@ class Topic(models.Model):
...
@@ -83,6 +84,14 @@ class Topic(models.Model):
platform
=
models
.
IntegerField
(
verbose_name
=
u'平台来源'
,
choices
=
GRAP_PLATFORM
,
default
=
GRAP_PLATFORM
.
ALPHA
)
platform
=
models
.
IntegerField
(
verbose_name
=
u'平台来源'
,
choices
=
GRAP_PLATFORM
,
default
=
GRAP_PLATFORM
.
ALPHA
)
platform_id
=
models
.
BigIntegerField
(
verbose_name
=
'用平台ID'
,
null
=
True
)
platform_id
=
models
.
BigIntegerField
(
verbose_name
=
'用平台ID'
,
null
=
True
)
def
get_pictorial_id
(
self
):
try
:
pictorial_id
=
PictorialTopic
.
objects
.
filter
(
topic_id
=
self
.
id
)
return
pictorial_id
except
:
logging
.
error
(
"catch exception,err_msg:
%
s"
%
traceback
.
format_exc
())
return
False
@property
@property
def
is_complaint
(
self
):
def
is_complaint
(
self
):
"""是否被举报"""
"""是否被举报"""
...
...
trans2es/type_info.py
View file @
1a4522f1
...
@@ -12,11 +12,12 @@ import elasticsearch
...
@@ -12,11 +12,12 @@ import elasticsearch
import
elasticsearch.helpers
import
elasticsearch.helpers
import
sys
import
sys
from
trans2es.models
import
topic
,
user
,
pick_celebrity
,
group
,
celebrity
,
tag
,
contrast_similar
from
trans2es.models
import
topic
,
user
,
pick_celebrity
,
group
,
celebrity
,
tag
,
contrast_similar
,
pictorial
from
trans2es.utils.user_transfer
import
UserTransfer
from
trans2es.utils.user_transfer
import
UserTransfer
from
trans2es.utils.pick_celebrity_transfer
import
PickCelebrityTransfer
from
trans2es.utils.pick_celebrity_transfer
import
PickCelebrityTransfer
from
trans2es.utils.group_transfer
import
GroupTransfer
from
trans2es.utils.group_transfer
import
GroupTransfer
from
trans2es.utils.topic_transfer
import
TopicTransfer
from
trans2es.utils.topic_transfer
import
TopicTransfer
from
trans2es.utils.pictorial_transfer
import
PictorialTransfer
from
trans2es.utils.celebrity_transfer
import
CelebrityTransfer
from
trans2es.utils.celebrity_transfer
import
CelebrityTransfer
from
trans2es.utils.tag_transfer
import
TagTransfer
from
trans2es.utils.tag_transfer
import
TagTransfer
from
trans2es.utils.contrast_similar_transfer
import
Contrast_Similar_Transfer
from
trans2es.utils.contrast_similar_transfer
import
Contrast_Similar_Transfer
...
@@ -330,7 +331,18 @@ def get_type_info_map():
...
@@ -330,7 +331,18 @@ def get_type_info_map():
bulk_insert_chunk_size
=
100
,
bulk_insert_chunk_size
=
100
,
round_insert_chunk_size
=
5
,
round_insert_chunk_size
=
5
,
round_insert_period
=
2
round_insert_period
=
2
),
TypeInfo
(
name
=
"pictorial"
,
# 画报
type
=
"pictorial"
,
model
=
pictorial
.
Pictorial
,
query_deferred
=
lambda
:
pictorial
.
Pictorial
.
objects
.
all
()
.
query
,
get_data_func
=
PictorialTransfer
.
get_poctorial_data
,
bulk_insert_chunk_size
=
100
,
round_insert_chunk_size
=
5
,
round_insert_period
=
2
,
)
)
]
]
type_info_map
=
{
type_info_map
=
{
...
@@ -340,3 +352,4 @@ def get_type_info_map():
...
@@ -340,3 +352,4 @@ def get_type_info_map():
_get_type_info_map_result
=
type_info_map
_get_type_info_map_result
=
type_info_map
return
type_info_map
return
type_info_map
trans2es/utils/pictorial_transfer.py
0 → 100644
View file @
1a4522f1
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import
os
import
sys
import
logging
import
traceback
from
libs.tools
import
tzlc
class
PictorialTransfer
(
object
):
def
__init__
(
self
):
pass
@classmethod
def
get_poctorial_data
(
cls
,
instance
):
try
:
res
=
dict
()
res
[
"id"
]
=
instance
.
id
res
[
"is_online"
]
=
instance
.
is_online
res
[
"is_deleted"
]
=
instance
.
is_deleted
res
[
"is_recommend"
]
=
instance
.
is_recommend
res
[
"name"
]
=
instance
.
name
res
[
"description"
]
=
instance
.
description
res
[
"topic_num"
]
=
instance
.
topic_num
res
[
"creator_id"
]
=
instance
.
creator_id
res
[
"icon"
]
=
instance
.
icon
create_time
=
instance
.
create_time
tzlc_create_time
=
tzlc
(
create_time
)
res
[
"create_time"
]
=
tzlc_create_time
update_time
=
instance
.
update_time
tzlc_udpate_time
=
tzlc
(
update_time
)
res
[
"update_time"
]
=
tzlc_udpate_time
res
[
"high_quality_topic_num"
]
=
instance
.
get_high_quality_topic_num
()
return
res
except
:
logging
.
error
(
"catch exception,err_msg:
%
s"
%
traceback
.
format_exc
())
return
dict
()
\ No newline at end of file
trans2es/utils/topic_transfer.py
View file @
1a4522f1
...
@@ -28,10 +28,16 @@ class TopicTransfer(object):
...
@@ -28,10 +28,16 @@ class TopicTransfer(object):
res
[
"content_level"
]
=
instance
.
content_level
res
[
"content_level"
]
=
instance
.
content_level
res
[
"user_id"
]
=
instance
.
user_id
res
[
"user_id"
]
=
instance
.
user_id
# if instance.group:
# res["group_id"] = instance.group.id
# else:
# res["group_id"] = -1
if
instance
.
group
:
if
instance
.
group
:
res
[
"
group_id"
]
=
instance
.
group
.
id
res
[
"
pictorial_id"
]
=
instance
.
get_pictorial_id
()
else
:
else
:
res
[
"group_id"
]
=
-
1
res
[
"pictorial_id"
]
=
-
1
res
[
"share_num"
]
=
instance
.
share_num
res
[
"share_num"
]
=
instance
.
share_num
begin
=
time
.
time
()
begin
=
time
.
time
()
...
...
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