Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zjxcxServer
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
node_server
zjxcxServer
Commits
afee3a4e
Commit
afee3a4e
authored
Jul 08, 2025
by
lixinming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
49792b7c
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
262 additions
and
10 deletions
+262
-10
keynote.ts
src/biz/mobileFuHuaQi/enterprise/keynote.ts
+131
-0
enum.ts
src/config/enum.ts
+8
-0
dynamics.ts
src/data/enterprise/dynamics.ts
+58
-0
tableInit.ts
src/db/mongo/tableInit.ts
+4
-0
business.ts
src/routers/mobileClient/business.ts
+0
-10
myEnterprise.ts
src/routers/mobileClient/myEnterprise.ts
+61
-0
No files found.
src/biz/mobileFuHuaQi/enterprise/keynote.ts
0 → 100644
View file @
afee3a4e
/**
* 重点企业
*/
import
moment
=
require
(
"moment"
);
import
{
ENTERPRISECHANGETYPE
}
from
"../../../config/enum"
;
import
*
as
dynamicsData
from
"../../../data/enterprise/dynamics"
;
import
*
as
enterpriseData
from
"../../../data/enterprise/enterprise"
;
import
*
as
labelData
from
"../../../data/label"
;
import
{
changeEnumValue
}
from
"../../../util/verificationEnum"
;
import
{
LABELGOAL
}
from
"../../../config/enum/labelEnum"
;
import
{
BizError
}
from
"../../../util/bizError"
;
import
{
ERRORENUM
}
from
"../../../config/errorEnum"
;
export
async
function
keynoteDynamicsHomeList
(
fuHuaQiUscc
:
string
)
{
let
notRedCount
=
await
dynamicsData
.
findCountByParam
({
fuHuaQiUscc
,
isRead
:
false
});
let
dbList
=
await
dynamicsData
.
findByParam
({
fuHuaQiUscc
});
let
dataList
=
[];
dbList
.
forEach
(
item
=>
{
let
addInfo
=
{
changeType
:
changeEnumValue
(
ENTERPRISECHANGETYPE
,
item
.
changeType
),
content
:
item
.
content
,
id
:
item
.
id
};
dataList
.
push
(
addInfo
);
});
let
followCount
=
await
enterpriseData
.
findEnterpriseCount
({
fuHuaQiUscc
,
follow
:
true
});
return
{
dataList
,
notRedCount
,
followCount
}
}
export
async
function
keynoteDynamicsList
(
fuHuaQiUscc
:
string
,
type
:
number
)
{
let
param
:
any
=
{};
if
(
type
==
1
)
{
param
.
isRead
=
true
;
}
else
{
param
.
isRead
=
false
;
}
let
dbList
=
await
dynamicsData
.
findByParam
({
fuHuaQiUscc
});
let
dataList
=
[];
dbList
.
forEach
(
item
=>
{
let
addInfo
=
{
enterpriseName
:
item
.
enterpriseName
,
changeType
:
changeEnumValue
(
ENTERPRISECHANGETYPE
,
item
.
changeType
),
id
:
item
.
id
,
uscc
:
item
.
uscc
};
dataList
.
push
(
addInfo
);
});
return
{
dataList
}
}
export
async
function
keynoteDynamicsEnterprise
(
uscc
:
string
)
{
let
dbList
=
await
dynamicsData
.
findByParam
({
uscc
});
let
enterpriseName
=
""
;
let
dataList
=
[];
dbList
.
forEach
(
item
=>
{
enterpriseName
=
item
.
enterpriseName
;
let
addInfo
=
{
changeType
:
changeEnumValue
(
ENTERPRISECHANGETYPE
,
item
.
changeType
),
oldContent
:
item
.
oldContent
||
""
,
newContent
:
item
.
content
||
""
,
time
:
moment
(
item
.
createTime
)
};
dataList
.
push
(
addInfo
);
});
return
{
dataList
,
enterpriseName
}
}
export
async
function
keynoteList
(
fuHuaQiUscc
:
string
,
str
:
string
,
labels
)
{
let
param
:
any
=
{
fuHuaQiUscc
};
if
(
str
)
param
.
name
=
{
"$regex"
:
str
}
let
dbList
=
await
enterpriseData
.
findEnterpriseList
(
param
);
let
labelMap
=
await
labelData
.
getLabelNamMap
(
LABELGOAL
.
企业
);
let
dynamicsList
=
await
dynamicsData
.
findByParam
({
fuHuaQiUscc
,
isRead
:
false
});
let
dynamicsMap
=
{};
dynamicsList
.
forEach
(
item
=>
{
if
(
!
dynamicsMap
[
item
.
uscc
])
dynamicsMap
[
item
.
uscc
]
=
0
;
dynamicsMap
[
item
.
uscc
]
+=
1
;
})
let
dataList
=
[];
dbList
.
forEach
(
item
=>
{
let
label
=
[];
if
(
item
.
labels
)
{
item
.
labels
.
forEach
(
labelItem
=>
{
if
(
labelItem
.
state
)
{
label
.
push
(
labelMap
[
labelItem
.
labelId
]);
}
})
}
dataList
.
push
({
enterpriseName
:
item
.
name
,
label
,
isFollow
:
item
.
follow
,
dynamicsCount
:
dynamicsMap
[
item
.
uscc
]
});
});
return
{
dataList
}
}
export
async
function
changeEnterpriseFollow
(
uscc
:
string
,
followState
)
{
let
enterpriseInfo
=
await
enterpriseData
.
findEnterpriseByUscc
(
uscc
);
if
(
!
enterpriseInfo
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
enterpriseInfo
.
follow
=
followState
;
await
enterpriseInfo
.
save
();
return
{
isSuccess
:
true
}
}
\ No newline at end of file
src/config/enum.ts
View file @
afee3a4e
...
...
@@ -598,4 +598,11 @@ export enum ACTIVITYLABEL {
资金
=
1
,
政策
,
人才服务
}
export
enum
ENTERPRISECHANGETYPE
{
注册地址变更
=
1
,
高新技术认定
,
企业认定
,
股东
}
\ No newline at end of file
src/data/enterprise/dynamics.ts
0 → 100644
View file @
afee3a4e
import
{
Schema
}
from
'mongoose'
;
import
{
baseDB
}
from
'../../db/mongo/dbInit'
;
import
{
BUSINESSDATATYPE
}
from
'../../config/enum'
;
const
dynamicsSchema
=
new
Schema
({
id
:
String
,
uscc
:{
type
:
String
,
index
:
true
},
//
enterpriseName
:
String
,
//企业名称
fuHuaQiUscc
:
String
,
changeType
:
Number
,
//ENTERPRISECHANGETYPE
content
:
String
,
oldContent
:
String
,
//变更前信息
createTime
:
Number
,
isRead
:{
type
:
Boolean
,
default
:
false
}
});
var
dynamicsModel
;
export
function
initModel
(){
dynamicsModel
=
baseDB
.
model
(
'dynamics'
,
dynamicsSchema
);
dynamicsModel
.
selectOnceData
=
async
function
(
paramater
:
object
)
{
let
selectInfo
=
await
dynamicsModel
.
findOne
(
paramater
).
exec
();
if
(
selectInfo
)
{
if
(
!
selectInfo
.
runSave
)
{
selectInfo
.
runSave
=
selectInfo
.
save
;
selectInfo
.
save
=
save
.
bind
(
selectInfo
)
}
}
return
selectInfo
;
}
}
export
async
function
save
(
throwError
=
false
)
{
if
(
!
this
.
isModified
())
return
;
await
this
.
runSave
({
validateBeforeSave
:
false
}).
catch
(
err
=>
{
console
.
log
(
err
);
});
}
export
async
function
findOne
(
param
)
{
return
await
dynamicsModel
.
selectOnceData
(
param
);
}
export
async
function
findByParam
(
param
)
{
return
await
dynamicsModel
.
find
(
param
);
}
export
async
function
findCountByParam
(
param
)
{
return
await
dynamicsModel
.
find
(
param
).
countDocuments
();
}
export
async
function
createDataByParam
(
param
)
{
return
await
dynamicsModel
.
create
(
param
);
}
export
async
function
removeOneData
(
id
:
string
)
{
return
await
dynamicsModel
.
deleteOne
({
id
});
}
\ No newline at end of file
src/db/mongo/tableInit.ts
View file @
afee3a4e
...
...
@@ -44,6 +44,7 @@ import * as visitModel from "../../data/fuHuaQi/visit";
import
*
as
demandModel
from
"../../data/fuHuaQi/demand"
;
import
*
as
trackModel
from
"../../data/fuHuaQi/track"
;
import
*
as
activityModel
from
"../../data/activity"
;
import
*
as
dynamicsModel
from
"../../data/enterprise/dynamics"
;
...
...
@@ -92,4 +93,6 @@ export async function initTable() {
demandModel
.
initModel
();
trackModel
.
initModel
();
activityModel
.
initModel
();
dynamicsModel
.
initModel
();
}
\ No newline at end of file
src/routers/mobileClient/business.ts
View file @
afee3a4e
...
...
@@ -16,19 +16,9 @@ export function setRouter(httpServer) {
httpServer
.
post
(
'/fuhuaqi/business/deletereport'
,
checkFuHuaQiToken
,
asyncHandler
(
deletereportBusiness
));
httpServer
.
post
(
'/fuhuaqi/business/select'
,
checkFuHuaQiToken
,
asyncHandler
(
selectBusiness
));
//重点企业
// httpServer.post('/fuhuaqi/keynote/dynamics/list', checkFuHuaQiToken, asyncHandler(keynote_dynamics_list));//动态
// httpServer.post('/fuhuaqi/keynote/dynamics/unread', checkFuHuaQiToken, asyncHandler(keynote_dynamics_unread));//未读
// httpServer.post('/fuhuaqi/keynote/dynamics/read', checkFuHuaQiToken, asyncHandler(keynote_dynamics_read));//已读
// httpServer.post('/fuhuaqi/keynote/dynamics/enterprise', checkFuHuaQiToken, asyncHandler(keynote_dynamics_enterprise));//企业动态
// httpServer.post('/fuhuaqi/keynote/list', checkFuHuaQiToken, asyncHandler(keynote_list));//企业列表
// httpServer.post('/fuhuaqi/keynote/add', checkFuHuaQiToken, asyncHandler(keynote_add));//添加企业
// httpServer.post('/fuhuaqi/keynote/del', checkFuHuaQiToken, asyncHandler(keynote_add));//取消重点企业
}
/**
* 展示孵化器经营数据
* @param req
...
...
src/routers/mobileClient/myEnterprise.ts
View file @
afee3a4e
...
...
@@ -4,6 +4,7 @@
import
*
as
asyncHandler
from
'express-async-handler'
;
import
*
as
myEnterpriseBiz
from
'../../biz/mobileFuHuaQi/enterprise/myEnterprise'
;
import
*
as
keynoteBiz
from
'../../biz/mobileFuHuaQi/enterprise/keynote'
;
import
{
checkFuHuaQiToken
}
from
'../../middleware/user'
;
import
{
eccReqParamater
}
from
'../../util/verificationParam'
;
import
{
FUHUASTATE
}
from
'../../config/enum'
;
...
...
@@ -25,8 +26,68 @@ export function setRouter(httpServer) {
httpServer
.
post
(
'/fuhuaqi/myenterprise/teaminfo/select'
,
checkFuHuaQiToken
,
asyncHandler
(
myEnterpriseTeamInfo
));
// httpServer.post('/fuhuaqi/myenterprise/team/info', checkFuHuaQiToken, asyncHandler(myEnterpriseTeamInfo));
httpServer
.
post
(
'/fuhuaqi/myenterprise/businessdata/select'
,
checkFuHuaQiToken
,
asyncHandler
(
myEnterpriseBusinessData
));
//重点企业
httpServer
.
post
(
'/fuhuaqi/keynote/dynamics/homelist'
,
checkFuHuaQiToken
,
asyncHandler
(
keynote_dynamics_home_list
));
//动态
httpServer
.
post
(
'/fuhuaqi/keynote/dynamics/list'
,
checkFuHuaQiToken
,
asyncHandler
(
keynote_dynamics_list
));
//未读
httpServer
.
post
(
'/fuhuaqi/keynote/dynamics/enterprise'
,
checkFuHuaQiToken
,
asyncHandler
(
keynote_dynamics_enterprise
));
//企业动态
httpServer
.
post
(
'/fuhuaqi/keynote/list'
,
checkFuHuaQiToken
,
asyncHandler
(
keynote_list
));
//企业列表
httpServer
.
post
(
'/fuhuaqi/keynote/add'
,
checkFuHuaQiToken
,
asyncHandler
(
keynote_add
));
//添加企业
httpServer
.
post
(
'/fuhuaqi/keynote/del'
,
checkFuHuaQiToken
,
asyncHandler
(
keynote_del
));
//取消重点企业
}
async
function
keynote_dynamics_home_list
(
req
,
res
)
{
const
Uscc
=
req
.
headers
.
uscc
;
let
result
=
await
keynoteBiz
.
keynoteDynamicsHomeList
(
Uscc
);
res
.
success
(
result
);
}
async
function
keynote_dynamics_list
(
req
,
res
)
{
const
Uscc
=
req
.
headers
.
uscc
;
let
reqConf
=
{
type
:
'Number'
};
let
{
type
}
=
eccReqParamater
(
reqConf
,
req
.
body
);
let
result
=
await
keynoteBiz
.
keynoteDynamicsList
(
Uscc
,
type
);
res
.
success
(
result
);
}
async
function
keynote_dynamics_enterprise
(
req
,
res
)
{
let
reqConf
=
{
uscc
:
'String'
};
let
{
uscc
}
=
eccReqParamater
(
reqConf
,
req
.
body
);
let
result
=
await
keynoteBiz
.
keynoteDynamicsEnterprise
(
uscc
);
res
.
success
(
result
);
}
async
function
keynote_list
(
req
,
res
)
{
let
reqConf
=
{
label
:
'[String]'
,
selectStr
:
'String'
};
let
{
label
,
selectStr
}
=
eccReqParamater
(
reqConf
,
req
.
body
,[
"label"
,
"selectStr"
]);
const
FuHuaQiUscc
=
req
.
headers
.
uscc
;
let
result
=
await
keynoteBiz
.
keynoteList
(
FuHuaQiUscc
,
selectStr
,
label
);
res
.
success
(
result
);
}
async
function
keynote_add
(
req
,
res
)
{
let
reqConf
=
{
uscc
:
'String'
};
let
{
uscc
}
=
eccReqParamater
(
reqConf
,
req
.
body
);
const
FuHuaQiUscc
=
req
.
headers
.
uscc
;
let
result
=
await
keynoteBiz
.
changeEnterpriseFollow
(
uscc
,
true
);
res
.
success
(
result
);
}
async
function
keynote_del
(
req
,
res
)
{
let
reqConf
=
{
uscc
:
'String'
};
let
{
uscc
}
=
eccReqParamater
(
reqConf
,
req
.
body
);
const
FuHuaQiUscc
=
req
.
headers
.
uscc
;
let
result
=
await
keynoteBiz
.
changeEnterpriseFollow
(
uscc
,
false
);
res
.
success
(
result
);
}
...
...
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