Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
wangxiaolu-sfa-module-job
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
sfa
wangxiaolu-sfa-module-job
Commits
164d0932
提交
164d0932
authored
5月 22, 2025
作者:
000516
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
回写勤策有效门店的城市经理、省区经理、大区总监、战区、大区,数据来源于经销商客户经理所在的逻辑架构、经销商详
上级
a8834c87
显示空白字符变更
内嵌
并排
正在显示
19 个修改的文件
包含
350 行增加
和
41 行删除
+350
-41
SfaJobApplication.java
src/main/java/com/sfa/job/SfaJobApplication.java
+0
-1
IQinceMarketEmployeeDao.java
...om/sfa/job/domain/feishu/dao/IQinceMarketEmployeeDao.java
+17
-0
QinceMarketEmployeeDaoImpl.java
...sfa/job/domain/feishu/dao/QinceMarketEmployeeDaoImpl.java
+67
-0
QinceMarketEmployee.java
...com/sfa/job/domain/feishu/entity/QinceMarketEmployee.java
+74
-0
QinceMarketEmployeeMapper.java
...a/job/domain/feishu/mapper/QinceMarketEmployeeMapper.java
+26
-0
IQinceDealerDao.java
...in/java/com/sfa/job/domain/qince/dao/IQinceDealerDao.java
+2
-0
QinceDealerDaoImpl.java
...java/com/sfa/job/domain/qince/dao/QinceDealerDaoImpl.java
+6
-0
QinceDealerMapper.java
...va/com/sfa/job/domain/qince/mapper/QinceDealerMapper.java
+2
-0
QinceMarketEmployeeDto.java
.../sfa/job/pojo/feishu/response/QinceMarketEmployeeDto.java
+50
-0
ErpAxmr005ServiceImpl.java
...a/com/sfa/job/service/erp/impl/ErpAxmr005ServiceImpl.java
+0
-1
PullSheetServiceImpl.java
...java/com/sfa/job/service/feishu/PullSheetServiceImpl.java
+7
-8
QinceDealerQueryServiceImpl.java
...a/job/service/qince/impl/QinceDealerQueryServiceImpl.java
+28
-19
FeiShuUtil.java
src/main/java/com/sfa/job/util/FeiShuUtil.java
+0
-1
QinCeUtils.java
src/main/java/com/sfa/job/util/QinCeUtils.java
+0
-1
PullSheet.java
src/main/java/com/sfa/job/xxljob/feishu/PullSheet.java
+6
-1
QinceCoreTask.java
src/main/java/com/sfa/job/xxljob/qince/QinceCoreTask.java
+10
-6
QinceMarketEmployeeMapper.xml
...ain/resources/mapper/feishu/QinceMarketEmployeeMapper.xml
+45
-0
QinceClienteleStoreMapper.xml
...main/resources/mapper/qince/QinceClienteleStoreMapper.xml
+0
-0
QinceDealerMapper.xml
src/main/resources/mapper/qince/QinceDealerMapper.xml
+10
-3
没有找到文件。
src/main/java/com/sfa/job/SfaJobApplication.java
浏览文件 @
164d0932
...
...
@@ -15,7 +15,6 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@EnableRyFeignClients
@SpringBootApplication
@MapperScan
(
"com.sfa.job.domain.*.mapper"
)
//@MapperScan({"com.sfa.job.domain.job.mapper","com.sfa.job.domain.system.mapper","com.sfa.job.domain.order.mapper","com.sfa.job.domain.erp.mapper","com.sfa.job.domain.use.mapper"})
public
class
SfaJobApplication
{
public
static
void
main
(
String
[]
args
)
{
...
...
src/main/java/com/sfa/job/domain/feishu/dao/IQinceMarketEmployeeDao.java
0 → 100644
浏览文件 @
164d0932
package
com
.
sfa
.
job
.
domain
.
feishu
.
dao
;
import
com.alibaba.fastjson2.JSONArray
;
import
com.sfa.job.pojo.feishu.response.QinceMarketEmployeeDto
;
import
java.util.List
;
/**
* @author : liqiulin
* @date : 2025-05-20 16
* @describe :
*/
public
interface
IQinceMarketEmployeeDao
{
void
insert
(
JSONArray
jsonArray
);
List
<
QinceMarketEmployeeDto
>
selectByMd
(
String
dateStr
);
}
src/main/java/com/sfa/job/domain/feishu/dao/QinceMarketEmployeeDaoImpl.java
0 → 100644
浏览文件 @
164d0932
package
com
.
sfa
.
job
.
domain
.
feishu
.
dao
;
import
com.alibaba.fastjson2.JSONArray
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.sfa.common.core.utils.bean.BeanUtils
;
import
com.sfa.job.domain.feishu.entity.QinceMarketEmployee
;
import
com.sfa.job.domain.feishu.mapper.QinceMarketEmployeeMapper
;
import
com.sfa.job.pojo.feishu.response.QinceMarketEmployeeDto
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
/**
* @author : liqiulin
* @date : 2025-05-20 16
* @describe :
*/
@DS
(
"promotion"
)
@Service
public
class
QinceMarketEmployeeDaoImpl
implements
IQinceMarketEmployeeDao
{
@Autowired
QinceMarketEmployeeMapper
qinceMarketEmployeeMapper
;
@Override
public
void
insert
(
JSONArray
jsonArray
)
{
// jsonArray = 大区总监工号 大区总监姓名 省区经理工号 省区经理姓名 城市经理工号 城市经理姓名
String
dqEmpNo
=
jsonArray
.
getString
(
0
);
String
dqEmpName
=
jsonArray
.
getString
(
1
);
String
zqEmpNo
=
jsonArray
.
getString
(
2
);
String
zqEmpName
=
jsonArray
.
getString
(
3
);
String
csEmpNo
=
jsonArray
.
getString
(
4
);
String
csEmpName
=
jsonArray
.
getString
(
5
);
List
<
QinceMarketEmployee
>
dos
=
new
ArrayList
<>();
if
(!
Objects
.
isNull
(
dqEmpNo
))
{
QinceMarketEmployee
dqDo
=
new
QinceMarketEmployee
().
setEmpNo
(
dqEmpNo
).
setEmpName
(
dqEmpName
)
.
setDqEmpNo
(
dqEmpNo
).
setDqEmpName
(
dqEmpName
);
dos
.
add
(
dqDo
);
}
if
(!
Objects
.
isNull
(
zqEmpNo
)){
QinceMarketEmployee
zqDo
=
new
QinceMarketEmployee
().
setEmpNo
(
zqEmpNo
).
setEmpName
(
zqEmpName
)
.
setZqEmpNo
(
zqEmpNo
).
setZqEmpName
(
zqEmpName
).
setDqEmpNo
(
dqEmpNo
).
setDqEmpName
(
dqEmpName
);
dos
.
add
(
zqDo
);
}
if
(!
Objects
.
isNull
(
csEmpNo
))
{
QinceMarketEmployee
csDo
=
new
QinceMarketEmployee
().
setEmpNo
(
csEmpNo
).
setEmpName
(
csEmpName
)
.
setCsEmpNo
(
csEmpNo
).
setCsEmpName
(
csEmpName
).
setZqEmpNo
(
zqEmpNo
).
setZqEmpName
(
zqEmpName
).
setDqEmpNo
(
dqEmpNo
).
setDqEmpName
(
dqEmpName
);
dos
.
add
(
csDo
);
}
if
(
CollectionUtils
.
isEmpty
(
dos
)){
return
;
}
qinceMarketEmployeeMapper
.
batchInsert
(
dos
);
}
@Override
public
List
<
QinceMarketEmployeeDto
>
selectByMd
(
String
dateStr
)
{
List
<
QinceMarketEmployee
>
dos
=
qinceMarketEmployeeMapper
.
selectByMd
(
dateStr
);
return
BeanUtils
.
transitionDtos
(
dos
,
QinceMarketEmployeeDto
.
class
);
}
}
src/main/java/com/sfa/job/domain/feishu/entity/QinceMarketEmployee.java
0 → 100644
浏览文件 @
164d0932
package
com
.
sfa
.
job
.
domain
.
feishu
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
java.io.Serializable
;
import
java.util.Date
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
/**
* 勤策-区域销售人员架构表,来源:https://wangxiaolu.feishu.cn/sheets/I076slXhlhY2RdtDetEc17ornYd?sheet=49e4ba
* @TableName qince_market_employee
*/
@Accessors
(
chain
=
true
)
@TableName
(
value
=
"qince_market_employee"
)
@Data
public
class
QinceMarketEmployee
implements
Serializable
{
/**
* 主键id
*/
@TableId
(
type
=
IdType
.
AUTO
)
private
Integer
id
;
/**
* 大区总监
*/
private
String
dqEmpNo
;
/**
* 大区总监
*/
private
String
dqEmpName
;
/**
* 战区负责人
*/
private
String
zqEmpNo
;
/**
* 战区负责人
*/
private
String
zqEmpName
;
/**
* 城市经理
*/
private
String
csEmpNo
;
/**
* 城市经理
*/
private
String
csEmpName
;
/**
* 员工
*/
private
String
empNo
;
/**
* 员工
*/
private
String
empName
;
/**
* CP系统修改时间
*/
private
Date
modifyTime
;
@TableField
(
exist
=
false
)
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
src/main/java/com/sfa/job/domain/feishu/mapper/QinceMarketEmployeeMapper.java
0 → 100644
浏览文件 @
164d0932
package
com
.
sfa
.
job
.
domain
.
feishu
.
mapper
;
import
com.sfa.job.domain.feishu.entity.QinceMarketEmployee
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* @author a02200059
* @description 针对表【qince_market_employee(勤策-区域销售人员架构表,来源:https://wangxiaolu.feishu.cn/sheets/I076slXhlhY2RdtDetEc17ornYd?sheet=49e4ba)】的数据库操作Mapper
* @createDate 2025-05-20 16:10:09
* @Entity com.sfa.job.domain.feishu.entity.QinceMarketEmployee
*/
@Repository
public
interface
QinceMarketEmployeeMapper
extends
BaseMapper
<
QinceMarketEmployee
>
{
void
batchInsert
(
@Param
(
"dos"
)
List
<
QinceMarketEmployee
>
dos
);
List
<
QinceMarketEmployee
>
selectByMd
(
String
dateStr
);
}
src/main/java/com/sfa/job/domain/qince/dao/IQinceDealerDao.java
浏览文件 @
164d0932
...
...
@@ -15,4 +15,6 @@ public interface IQinceDealerDao {
List
<
QinceDealerDto
>
getPushQinceDealers
();
List
<
QinceDealerDto
>
findModifyList
(
String
dateStr
);
List
<
QinceDealerDto
>
findListByManagerCode
(
String
empNo
);
}
src/main/java/com/sfa/job/domain/qince/dao/QinceDealerDaoImpl.java
浏览文件 @
164d0932
...
...
@@ -35,4 +35,10 @@ public class QinceDealerDaoImpl implements IQinceDealerDao{
List
<
QinceDealer
>
qinceDealers
=
qinceDealerMapper
.
findModifyList
(
dateStr
);
return
BeanUtils
.
transitionDtos
(
qinceDealers
,
QinceDealerDto
.
class
);
}
@Override
public
List
<
QinceDealerDto
>
findListByManagerCode
(
String
empNo
)
{
List
<
QinceDealer
>
qinceDealers
=
qinceDealerMapper
.
findListByManagerCode
(
empNo
);
return
BeanUtils
.
transitionDtos
(
qinceDealers
,
QinceDealerDto
.
class
);
}
}
src/main/java/com/sfa/job/domain/qince/mapper/QinceDealerMapper.java
浏览文件 @
164d0932
...
...
@@ -20,6 +20,8 @@ public interface QinceDealerMapper extends BaseMapper<QinceDealer> {
List
<
QinceDealer
>
pushQinceDealers
(
String
today
);
List
<
QinceDealer
>
findModifyList
(
String
dateStr
);
List
<
QinceDealer
>
findListByManagerCode
(
String
empNo
);
}
...
...
src/main/java/com/sfa/job/pojo/feishu/response/QinceMarketEmployeeDto.java
0 → 100644
浏览文件 @
164d0932
package
com
.
sfa
.
job
.
pojo
.
feishu
.
response
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
@Accessors
(
chain
=
true
)
@Data
public
class
QinceMarketEmployeeDto
{
/**
* 大区总监
*/
private
String
dqEmpNo
;
/**
* 大区总监
*/
private
String
dqEmpName
;
/**
* 战区负责人
*/
private
String
zqEmpNo
;
/**
* 战区负责人
*/
private
String
zqEmpName
;
/**
* 城市经理
*/
private
String
csEmpNo
;
/**
* 城市经理
*/
private
String
csEmpName
;
/**
* 员工
*/
private
String
empNo
;
/**
* 员工
*/
private
String
empName
;
}
\ No newline at end of file
src/main/java/com/sfa/job/service/erp/impl/ErpAxmr005ServiceImpl.java
浏览文件 @
164d0932
...
...
@@ -46,7 +46,6 @@ public class ErpAxmr005ServiceImpl implements ErpAxmr005Service {
for
(
int
i
=
0
;
i
<
zhanquDataset
.
size
();
i
+=
batchSize
)
{
// 计算当前批次的结束位置
int
end
=
Math
.
min
(
i
+
batchSize
,
zhanquDataset
.
size
());
System
.
out
.
println
(
end
);
List
<
Object
>
batch
=
zhanquDataset
.
subList
(
i
,
end
);
feiShuUtil
.
pushSetToSheet
(
range
,
batch
,
recordDto
.
getSheetToken
(),
tenantAccessToken
);
}
...
...
src/main/java/com/sfa/job/service/feishu/PullSheetServiceImpl.java
浏览文件 @
164d0932
...
...
@@ -2,6 +2,7 @@ package com.sfa.job.service.feishu;
import
com.alibaba.fastjson2.JSONArray
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.sfa.job.domain.feishu.dao.IQinceMarketEmployeeDao
;
import
com.sfa.job.domain.use.dao.IFeishuSheetRecordDao
;
import
com.sfa.job.enums.FSRecordEnum
;
import
com.sfa.job.pojo.response.FeishuSheetRecordDto
;
...
...
@@ -22,24 +23,22 @@ public class PullSheetServiceImpl implements IPullSheetService{
@Autowired
private
IFeishuSheetRecordDao
feishushetRecordDao
;
@Autowired
private
IQinceMarketEmployeeDao
qinceMarketEmployeeDao
;
@Autowired
private
FeiShuUtil
feiShuUtil
;
/**
* 拉取表格 - 勤策门店的城市经理、省区经理、大区总监
* https://wangxiaolu.feishu.cn/sheets/I076slXhlhY2RdtDetEc17ornYd?sheet=49e4ba
*/
@Override
public
void
qinceSotreManage
()
{
FeishuSheetRecordDto
recordDto
=
feishushetRecordDao
.
selectOne
(
FSRecordEnum
.
XS_USER_RELATION
.
getType
());
JSONObject
jsonObject
=
feiShuUtil
.
pullSheetOneRange
(
recordDto
.
getSheetToken
(),
feiShuUtil
.
getBotToken1
(),
recordDto
.
getRanges
());
JSONArray
values
=
jsonObject
.
getJSONArray
(
"values"
);
// 创建逻辑构架人员关系表
// 创建逻辑构架人员关系对象
// 遍历values数组,获取每个对象的values数组
values
.
forEach
(
item
->
{
JSONArray
jsonArray
=
(
JSONArray
)
item
;
});
for
(
int
i
=
0
;
i
<
values
.
size
();
i
++)
{
JSONArray
jsonArray
=
values
.
getJSONArray
(
i
);
qinceMarketEmployeeDao
.
insert
(
jsonArray
);
}
}
}
src/main/java/com/sfa/job/service/qince/impl/QinceDealerQueryServiceImpl.java
浏览文件 @
164d0932
...
...
@@ -4,8 +4,10 @@ import cn.hutool.core.date.DatePattern;
import
cn.hutool.core.date.DateUtil
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.sfa.job.domain.feishu.dao.IQinceMarketEmployeeDao
;
import
com.sfa.job.domain.qince.dao.IQinceClienteleStoreDao
;
import
com.sfa.job.domain.qince.dao.IQinceDealerDao
;
import
com.sfa.job.pojo.feishu.response.QinceMarketEmployeeDto
;
import
com.sfa.job.pojo.qince.response.QinceClienteleStoreDto
;
import
com.sfa.job.pojo.qince.response.QinceDealerDto
;
import
com.sfa.job.service.qince.IQinceDealerQueryService
;
...
...
@@ -31,6 +33,8 @@ public class QinceDealerQueryServiceImpl implements IQinceDealerQueryService {
@Autowired
private
IQinceClienteleStoreDao
qinceClienteleStoreDao
;
@Autowired
private
IQinceMarketEmployeeDao
qinceMarketEmployeeDao
;
@Autowired
private
QinCeUtils
qinCeUtils
;
@Override
...
...
@@ -81,7 +85,6 @@ public class QinceDealerQueryServiceImpl implements IQinceDealerQueryService {
Map
<
String
,
Object
>
params
=
qinCeUtils
.
queryCusVisitRecordParams
(
queryDate
);
String
url
=
qinCeUtils
.
builderUrl
(
QinCeUtils
.
QUERY_CUS_VISIT_RECORD
,
params
);
JSONArray
recordsJson
=
qinCeUtils
.
postArray
(
url
,
params
);
System
.
out
.
println
(
recordsJson
);
}
catch
(
Exception
e
)
{
log
.
error
(
"查询城市经理客户拜访失败:{}"
,
e
.
getMessage
());
}
...
...
@@ -90,37 +93,43 @@ public class QinceDealerQueryServiceImpl implements IQinceDealerQueryService {
@Override
public
void
updateQinceStore
()
{
// 第一步:查询有变动的人员信息:营销中心-逻辑组织架构表
// 第二步:根据每个人员信息,查询出所负责的经销商
// 第三步:根据每家经销商,查询出归属的有效门店
// 第四步:更新每家门店信息:大区、战区取经销商的;城市经理、战区经理、大区总监取人员架构表的
String
dateStr
=
DateUtil
.
today
();
List
<
QinceDealerDto
>
dealers
=
qinceDealerDao
.
findModifyList
(
dateStr
);
List
<
QinceMarketEmployeeDto
>
empDtos
=
qinceMarketEmployeeDao
.
selectByMd
(
dateStr
);
for
(
QinceMarketEmployeeDto
empDto
:
empDtos
)
{
List
<
QinceDealerDto
>
dealers
=
qinceDealerDao
.
findListByManagerCode
(
empDto
.
getEmpNo
());
for
(
QinceDealerDto
dealer
:
dealers
)
{
List
<
QinceClienteleStoreDto
>
storeDtoList
=
qinceClienteleStoreDao
.
findListByDealerId
(
dealer
.
getDealerId
());
// 查询客户经理的上级、上上级
String
managerCode
=
dealer
.
getDealerManagerCode
();
QinceClienteleStoreDto
storeInfo
=
new
QinceClienteleStoreDto
(
dealer
.
getDealerManager
(),
""
,
""
);
pushQinceStoreInfo
(
storeDtoList
,
storeInfo
);
break
;
pushQinceStoreInfo
(
storeDtoList
,
dealer
,
empDto
);
}
}
}
private
void
pushQinceStoreInfo
(
List
<
QinceClienteleStoreDto
>
storeDtoList
,
Qince
ClienteleStoreDto
storeInf
o
)
{
private
void
pushQinceStoreInfo
(
List
<
QinceClienteleStoreDto
>
storeDtoList
,
Qince
DealerDto
dealer
,
QinceMarketEmployeeDto
empDt
o
)
{
for
(
QinceClienteleStoreDto
storeDto
:
storeDtoList
)
{
try
{
System
.
out
.
println
(
storeDto
.
getQcId
()
+
" ---- "
+
storeDto
.
getStoreName
());
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
try
{
params
.
put
(
"store_waiqin_id"
,
storeDto
.
getQcId
());
params
.
put
(
"store_name"
,
storeDto
.
getStoreName
());
List
<
Map
<
String
,
String
>>
exts
=
new
ArrayList
<>();
exts
.
add
(
Maps
.
of
(
"store_ext_key"
,
"城市经理"
,
"store_ext_value"
,
storeInfo
.
getManagerName
()));
exts
.
add
(
Maps
.
of
(
"store_ext_key"
,
"战区经理"
,
"store_ext_value"
,
""
));
exts
.
add
(
Maps
.
of
(
"store_ext_key"
,
"大区总监"
,
"store_ext_value"
,
""
));
exts
.
add
(
Maps
.
of
(
"store_ext_key"
,
"城市经理"
,
"store_ext_value"
,
empDto
.
getCsEmpName
()));
exts
.
add
(
Maps
.
of
(
"store_ext_key"
,
"战区经理"
,
"store_ext_value"
,
empDto
.
getZqEmpName
()));
exts
.
add
(
Maps
.
of
(
"store_ext_key"
,
"大区总监"
,
"store_ext_value"
,
empDto
.
getDqEmpName
()));
exts
.
add
(
Maps
.
of
(
"store_ext_key"
,
"大区"
,
"store_ext_value"
,
dealer
.
getDqOrgName
()));
exts
.
add
(
Maps
.
of
(
"store_ext_key"
,
"战区"
,
"store_ext_value"
,
dealer
.
getZqOrgName
()));
params
.
put
(
"exts"
,
exts
);
// String url = qinCeUtils.builderUrl(QinCeUtils.MODIFY_STORE, params);
// JSONObject jsonObject = qinCeUtils.postQC(url, params);
}
catch
(
Exception
e
)
{
log
.
error
(
"更新勤策门店失败:{}"
,
e
.
getMessage
());
String
url
=
qinCeUtils
.
builderUrl
(
QinCeUtils
.
MODIFY_STORE
,
params
);
qinCeUtils
.
postQC
(
url
,
params
);
}
catch
(
Exception
e
)
{
log
.
error
(
"勤策门店更新失败:{}\n{}"
,
JSONObject
.
toJSONString
(
params
),
e
.
getMessage
());
}
break
;
}
}
}
src/main/java/com/sfa/job/util/FeiShuUtil.java
浏览文件 @
164d0932
...
...
@@ -113,7 +113,6 @@ public class FeiShuUtil {
params
.
put
(
"ranges"
,
ranges
);
String
result
=
HttpUtil
.
createGet
(
SHEET_URL
+
sheetToken
+
VALUES_BATCH_GET
).
form
(
params
).
auth
(
"Bearer "
+
autoToken
).
contentType
(
CONTENT_TYPE
).
execute
().
body
();
JSONObject
resultJson
=
JSONObject
.
parseObject
(
result
);
System
.
out
.
println
(
resultJson
);
int
code
=
resultJson
.
getInteger
(
"code"
);
if
(
code
!=
0
)
{
throw
new
RuntimeException
(
"获取飞书表格范围数据错误:"
+
resultJson
.
getString
(
"msg"
));
...
...
src/main/java/com/sfa/job/util/QinCeUtils.java
浏览文件 @
164d0932
...
...
@@ -65,7 +65,6 @@ public class QinCeUtils {
JSONObject
resultJson
=
JSONObject
.
parseObject
(
requestBody
);
String
returnCode
=
resultJson
.
getString
(
"return_code"
);
if
(!
"0"
.
equals
(
returnCode
))
{
log
.
error
(
"请求错误,返回结果:{}"
,
requestBody
);
throw
new
RuntimeException
(
"OkHttp.post请求error,详情:"
+
requestBody
);
}
return
resultJson
;
...
...
src/main/java/com/sfa/job/xxljob/feishu/PullSheet.java
浏览文件 @
164d0932
...
...
@@ -15,9 +15,14 @@ public class PullSheet {
@Autowired
private
IPullSheetService
pullSheetService
;
@XxlJob
(
"PullSheetSotreManage"
)
/**
* 拉取表格 - 勤策门店的城市经理、省区经理、大区总监
* https://wangxiaolu.feishu.cn/sheets/I076slXhlhY2RdtDetEc17ornYd?sheet=49e4ba
*/
@XxlJob
(
"pull_sheet_store_manage"
)
public
void
qinceSotreManage
(){
pullSheetService
.
qinceSotreManage
();
}
}
src/main/java/com/sfa/job/xxljob/qince/QinceCoreTask.java
浏览文件 @
164d0932
...
...
@@ -19,19 +19,23 @@ public class QinceCoreTask {
@XxlJob
(
"qince_modify_dealer"
)
public
void
qinceCoreTask
()
{
log
.
info
(
"回写勤策经销商大区、战区信息 start"
);
log
.
info
(
"回写勤策
-
经销商大区、战区信息 start"
);
qinceCoreService
.
updateQinceDealerInfo
();
log
.
info
(
"回写勤策经销商大区、战区信息 end"
);
log
.
info
(
"回写勤策
-
经销商大区、战区信息 end"
);
}
@XxlJob
(
"qince_modify_store"
)
public
void
qinceCoreStore
(){
log
.
info
(
"回写勤策门店城市经理、战区经理、大区总监 start"
);
log
.
info
(
"回写勤策
-
门店城市经理、战区经理、大区总监 start"
);
qinceCoreService
.
updateQinceStore
();
log
.
info
(
"回写勤策门店城市经理、战区经理、大区总监 end"
);
log
.
info
(
"回写勤策
-
门店城市经理、战区经理、大区总监 end"
);
}
@XxlJob
(
"qince_cus_visit_record"
)
/**
* 暂停开发
*/
// @XxlJob("qince_cus_visit_record")
public
void
queryCusVisitRecord
()
{
log
.
info
(
"查询勤策客户拜访记录 start"
);
qinceCoreService
.
queryCusVisitRecord
();
...
...
src/main/resources/mapper/feishu/QinceMarketEmployeeMapper.xml
0 → 100644
浏览文件 @
164d0932
<?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.sfa.job.domain.feishu.mapper.QinceMarketEmployeeMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.sfa.job.domain.feishu.entity.QinceMarketEmployee"
>
<id
property=
"id"
column=
"id"
jdbcType=
"INTEGER"
/>
<result
property=
"dqEmpNo"
column=
"dq_emp_no"
jdbcType=
"VARCHAR"
/>
<result
property=
"dqEmpName"
column=
"dq_emp_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"zqEmpNo"
column=
"zq_emp_no"
jdbcType=
"VARCHAR"
/>
<result
property=
"zqEmpName"
column=
"zq_emp_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"csEmpNo"
column=
"cs_emp_no"
jdbcType=
"VARCHAR"
/>
<result
property=
"csEmpName"
column=
"cs_emp_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"empNo"
column=
"emp_no"
jdbcType=
"VARCHAR"
/>
<result
property=
"empName"
column=
"emp_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"modifyTime"
column=
"modify_time"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id,dq_emp_no,dq_emp_name,
zq_emp_no,zq_emp_name,cs_emp_no,
cs_emp_name,emp_no,emp_name,
modify_time
</sql>
<insert
id=
"batchInsert"
parameterType=
"java.util.List"
>
insert into qince_market_employee (emp_no, emp_name, dq_emp_no, dq_emp_name, zq_emp_no, zq_emp_name, cs_emp_no,
cs_emp_name) values
<foreach
collection=
"dos"
item=
"item"
separator=
","
>
(#{item.empNo},#{item.empName},#{item.dqEmpNo},#{item.dqEmpName},#{item.zqEmpNo},#{item.zqEmpName},#{item.csEmpNo},#{item.csEmpName})
</foreach>
on duplicate key update emp_name = values(emp_name),dq_emp_no = values(dq_emp_no),dq_emp_name =
values(dq_emp_name),zq_emp_no = values(zq_emp_no),zq_emp_name = values(zq_emp_name),cs_emp_no = values(cs_emp_no),cs_emp_name =
values(cs_emp_name)
</insert>
<select
id=
"selectByMd"
resultMap=
"BaseResultMap"
>
select dq_emp_no,dq_emp_name,
zq_emp_no,zq_emp_name,cs_emp_no,
cs_emp_name,emp_no,emp_name
from qince_market_employee where DATE(modify_time) = #{dateStr}
</select>
</mapper>
src/main/resources/mapper/QinceClienteleStoreMapper.xml
→
src/main/resources/mapper/
qince/
QinceClienteleStoreMapper.xml
浏览文件 @
164d0932
File moved
src/main/resources/mapper/qince/QinceDealerMapper.xml
浏览文件 @
164d0932
...
...
@@ -33,11 +33,10 @@
</resultMap>
<resultMap
id=
"PushQince_2"
type=
"com.sfa.job.domain.qince.entity.QinceDealer"
>
<id
property=
"id"
column=
"id"
jdbcType=
"INTEGER"
/>
<result
property=
"dqOrgName"
column=
"dq_org_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"zqOrgName"
column=
"zq_org_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"dealerId"
column=
"dealer_id"
jdbcType=
"VARCHAR"
/>
<result
property=
"dealerName"
column=
"dealer_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"dealerManagerCode"
column=
"dealer_manager_code"
jdbcType=
"VARCHAR"
/>
<result
property=
"dealerManager"
column=
"dealer_manager"
jdbcType=
"VARCHAR"
/>
</resultMap>
...
...
@@ -77,4 +76,12 @@
and dealer_id = '000324'
</select>
<select
id=
"findListByManagerCode"
resultMap=
"PushQince"
>
select dq_org_name, zq_org_name, dealer_id, dealer_name
from qince_dealer
where dealer_type = '经销商'
and dealer_cooperate_status = '1'
and dealer_status = '1'
and dealer_manager_code = #{empNo}
</select>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论