Commit 506e9405 by 徐高华

Merge branch 'feature/xgh/202503' into 'master'

Feature/xgh/202503

See merge request !2834
parents d1d2d6a7 8dc3af8e
......@@ -19,8 +19,18 @@ public class MaterialCategoryDTO implements Serializable{
private Date updateTime;
private Integer sortNum;
private static final long serialVersionUID = 1L;
public Integer getSortNum() {
return sortNum;
}
public void setSortNum(Integer sortNum) {
this.sortNum = sortNum;
}
public String getCategoryId() {
return categoryId;
}
......
......@@ -34,7 +34,20 @@ public class HmLinkWxaDTO implements Serializable {
private List<HmLinkStoreDTO> storeList;
// 说明
private Map<String,String> remarkMap ;
/**
* 是否企微好友
*/
private Integer qwFriendFlag ;
public Integer getQwFriendFlag() {
return qwFriendFlag;
}
public void setQwFriendFlag(Integer qwFriendFlag) {
this.qwFriendFlag = qwFriendFlag;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
......
package com.gic.haoban.manage.api.dto.qdto;
import java.io.Serializable;
public class MaterialCategorySortQDTO implements Serializable {
private String categoryId;
private String wxEnterpriseId;
private Integer sortNum ;
public String getCategoryId() {
return categoryId;
}
public void setCategoryId(String categoryId) {
this.categoryId = categoryId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public Integer getSortNum() {
return sortNum;
}
public void setSortNum(Integer sortNum) {
this.sortNum = sortNum;
}
}
package com.gic.haoban.manage.api.dto.qdto.chat;
import com.alibaba.fastjson.annotation.JSONField;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
......@@ -22,6 +24,11 @@ public class GroupChatUserSearchQDTO implements Serializable {
private Integer status = 1;
private String wxChatId ;
/**
* 下载导出参数:数据脱敏 1:脱敏 2:完整
*/
private Integer dataType = 1;
public List<String> getStaffIdList() {
return staffIdList;
}
......@@ -30,6 +37,14 @@ public class GroupChatUserSearchQDTO implements Serializable {
this.staffIdList = staffIdList;
}
public Integer getDataType() {
return dataType;
}
public void setDataType(Integer dataType) {
this.dataType = dataType;
}
public String getWxChatId() {
return wxChatId;
}
......
......@@ -7,6 +7,7 @@ import com.gic.haoban.manage.api.dto.BatchAddMaterialDTO;
import com.gic.haoban.manage.api.dto.ContentMaterialDTO;
import com.gic.haoban.manage.api.dto.MaterialCategoryDTO;
import com.gic.haoban.manage.api.dto.MaterialDTO;
import com.gic.haoban.manage.api.dto.qdto.MaterialCategorySortQDTO;
import com.gic.haoban.manage.api.qdto.combined.CombinedQDTO;
import java.util.List;
......@@ -41,7 +42,7 @@ public interface MaterialApiService {
String reUpdalodMetail(String materialId);
List<MaterialCategoryDTO> listByParentCategory(String categoryId);
List<MaterialCategoryDTO> listByParentCategory(String wxEnterpriseId ,String categoryId);
/**
* 分析素材
......@@ -88,4 +89,9 @@ public interface MaterialApiService {
com.gic.api.base.commons.ServiceResponse<String> getMaterialIdByCombined(String wxEnterpriseId, CombinedQDTO combinedQDTO);
/**
* 排序
* @param qdto
*/
void materialSortCategory(MaterialCategorySortQDTO qdto);
}
......@@ -375,7 +375,9 @@ public interface TabHaobanExternalClerkRelatedMapper {
@Param("staffId") String staffId);
List<String> listMemberAndClerk(@Param("memberIdList")List<String> memberIdList, @Param("clerkIdList")List<String> clerkIdList, @Param("enterpriseId")String enterpriseId);
List<String> listFriendClerk(@Param("memberId") String memberId , @Param("clerkIdList")List<String> clerkIdList) ;
int getCountExternalClerk(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("staffId") String staffId,
@Param("statusFlags") List<Integer> statusFlags);
......
......@@ -8,23 +8,22 @@ import com.gic.haoban.manage.api.dto.MaterialCategoryDTO;
import com.gic.haoban.manage.service.entity.TabHaobanMaterialCategory;
public interface TabHaobanMaterialCategoryMapper {
int deleteByPrimaryKey(String categoryId);
int insert(TabHaobanMaterialCategory record);
int insertSelective(TabHaobanMaterialCategory record);
int getMaxSortNum(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("parentId")String parentId) ;
TabHaobanMaterialCategory selectByPrimaryKey(String categoryId);
int updateByPrimaryKeySelective(TabHaobanMaterialCategory record);
int updateByPrimaryKey(TabHaobanMaterialCategory record);
TabHaobanMaterialCategory selectByCategoryNameAndParentId(@Param("categoryName")String categoryName,
@Param("categoryParentId")String categoryParentId,
@Param("wxEnterpriseId")String wxEnterpriseId);
List<TabHaobanMaterialCategory> listCategory(@Param("wxEnterpriseId")String wxEnterpriseId);
List<TabHaobanMaterialCategory> listByParentCategory(@Param("categoryId")String categoryId);
List<TabHaobanMaterialCategory> listByParentCategory(@Param("wxEnterpriseId")String wxEnterpriseId , @Param("categoryId")String categoryId);
void updateSortNum(@Param("list")List<MaterialCategoryDTO> list);
}
\ No newline at end of file
......@@ -56,5 +56,5 @@ public interface TabMiniprogramSettingMapper {
* @param appId
* @return
*/
public TabMiniprogramSetting getMiniprogramSettingByAppId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("appId") String appId);
public List<TabMiniprogramSetting> getMiniprogramSettingByAppId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("appId") String appId);
}
\ No newline at end of file
......@@ -18,8 +18,18 @@ public class TabHaobanMaterialCategory implements Serializable {
private Date updateTime;
private Integer sortNum;
private static final long serialVersionUID = 1L;
public Integer getSortNum() {
return sortNum;
}
public void setSortNum(Integer sortNum) {
this.sortNum = sortNum;
}
public String getCategoryId() {
return categoryId;
}
......
......@@ -3,6 +3,7 @@ package com.gic.haoban.manage.service.service;
import java.util.List;
import com.gic.haoban.manage.api.dto.MaterialCategoryDTO;
import com.gic.haoban.manage.api.dto.qdto.MaterialCategorySortQDTO;
public interface MaterialCategoryService {
......@@ -16,6 +17,7 @@ public interface MaterialCategoryService {
void editCategory(MaterialCategoryDTO materialCategoryDTO);
List<MaterialCategoryDTO> listByParentCategory(String categoryId);
List<MaterialCategoryDTO> listByParentCategory(String wxEnterpriseId , String categoryId);
void materialSortCategory(MaterialCategorySortQDTO qdto);
}
......@@ -3,6 +3,8 @@ package com.gic.haoban.manage.service.service.impl;
import java.util.Date;
import java.util.List;
import com.gic.haoban.manage.api.dto.qdto.MaterialCategorySortQDTO;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -30,7 +32,15 @@ public class MaterialCategoryServiceImpl implements MaterialCategoryService{
materialCategoryDTO.setCreateTime(new Date());
materialCategoryDTO.setUpdateTime(materialCategoryDTO.getCreateTime());
materialCategoryDTO.setStatusFlag(1);
materialCategoryDTO.setSortNum(-1);
mapper.insert(EntityUtil.changeEntityByJSON(TabHaobanMaterialCategory.class, materialCategoryDTO));
// 修改排序
List<MaterialCategoryDTO> list = this.listByParentCategory(materialCategoryDTO.getWxEnterpriseId(),materialCategoryDTO.getCategoryParentId()) ;
for(int i=0;i<list.size();i++) {
MaterialCategoryDTO item = list.get(i) ;
item.setSortNum(i+1);
}
this.mapper.updateSortNum(list);
}
@Override
......@@ -50,8 +60,55 @@ public class MaterialCategoryServiceImpl implements MaterialCategoryService{
}
@Override
public List<MaterialCategoryDTO> listByParentCategory(String categoryId) {
return EntityUtil.changeEntityListByJSON(MaterialCategoryDTO.class, mapper.listByParentCategory(categoryId));
public List<MaterialCategoryDTO> listByParentCategory(String wxEnterpriseId , String categoryId) {
return EntityUtil.changeEntityListByJSON(MaterialCategoryDTO.class, mapper.listByParentCategory(wxEnterpriseId , categoryId));
}
@Override
public void materialSortCategory(MaterialCategorySortQDTO qdto) {
String categoryId = qdto.getCategoryId();
Integer sortNum = qdto.getSortNum();
MaterialCategoryDTO dto = this.selectMaterialCategoryById(categoryId) ;
String parentId = dto.getCategoryParentId();
List<MaterialCategoryDTO> list = EntityUtil.changeEntityListByJSON(MaterialCategoryDTO.class, mapper.listByParentCategory(dto.getWxEnterpriseId() , parentId));
int oldSortNum = 0 ;
for(int i=0;i<list.size();i++) {
MaterialCategoryDTO item = list.get(i) ;
if(item.getCategoryId().equals(categoryId)) {
oldSortNum = i+1 ;
}
}
int index = 1 ;
int maxIndex = sortNum + 1 ;
if(CollectionUtils.isNotEmpty(list)) {
for (int i=0;i<list.size();i++) {
int x = i+1 ;
MaterialCategoryDTO item = list.get(i) ;
if(item.getCategoryId().equals(categoryId)) {
item.setSortNum(sortNum);
continue;
}
// 往后排
if(sortNum > oldSortNum) {
if(x > sortNum) {
item.setSortNum(maxIndex);
maxIndex++ ;
}else {
item.setSortNum(index);
index++ ;
}
continue;
}
// 往前排
if(x >= sortNum) {
item.setSortNum(maxIndex);
maxIndex++ ;
}else {
item.setSortNum(index);
index++ ;
}
}
}
this.mapper.updateSortNum(list) ;
}
}
......@@ -263,7 +263,7 @@ public class QywxSendServiceImpl implements QywxSendService {
//Map<String, Object> map = this.enterpriseWxaLinkService.getWxaLinkAndQrCodeWithChannelAndSceneOfNotUrl(en.getEnterpriseId(),str,canvasId+"","canvas",nodeId+"_"+execLogId+"_"+clerkTaskTime+"_"+clerkId) ;
path = this.enterpriseWxaLinkService.getLinkForCanvas(en.getEnterpriseId(),str,canvasId,nodeId,execLogId,new Date(clerkTaskTime),clerkId) ;
}
if(StringUtils.isNotBlank(material.getLink()) && material.getLink().startsWith("{")) {
if(StringUtils.isNotBlank(material.getLink()) && material.getLink().startsWith("{") && null != canvasId) {
EnterpriseWxaRelationDTO en = this.enterpriseService.getByWxappkey(material.getAppId()) ;
path = this.enterpriseWxaLinkService.getLinkForCanvas(en.getEnterpriseId(),material.getLink(),canvasId,nodeId,execLogId,new Date(clerkTaskTime),clerkId) ;
}
......
package com.gic.haoban.manage.service.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.JSONResponse;
import com.gic.api.base.commons.Page;
import com.gic.commons.util.UniqueIdUtils;
......@@ -707,6 +708,7 @@ public class WelcomeServiceImpl implements WelcomeService {
welcomeInfoQo.setType(queryWelcomeQDTO.getType());
welcomeInfoQo.setScene(queryWelcomeQDTO.getScene());
PageHelper.startPage(queryWelcomeQDTO.getPageNum(), queryWelcomeQDTO.getPageSize());
logger.info("参数={}", JSONObject.toJSONString(welcomeInfoQo));
com.github.pagehelper.Page<TabWelcome> tabWelcomes =
(com.github.pagehelper.Page<TabWelcome>) welcomeMapper.queryWelcomeList(welcomeInfoQo);
List<WelcomeListBO> welcomeListBos = this.convertWelcomeInfoList(tabWelcomes.getResult());
......
......@@ -10,6 +10,7 @@ import java.util.stream.Collectors;
import com.gic.commons.util.TraceIdUtil;
import com.gic.dubbo.entity.ProviderLocalTag;
import com.gic.haoban.manage.api.dto.qdto.MaterialCategorySortQDTO;
import com.gic.haoban.manage.api.qdto.combined.CombinedQDTO;
import com.gic.haoban.manage.service.context.combined.ImageCombined;
import com.gic.redis.data.util.RedisUtil;
......@@ -107,8 +108,11 @@ public class MaterialApiServiceImpl implements MaterialApiService {
@Override
public void editCategory(MaterialCategoryDTO materialCategoryDTO) {
materialCategoryService.editCategory(materialCategoryDTO);
}
@Override
public void materialSortCategory(MaterialCategorySortQDTO qdto) {
this.materialCategoryService.materialSortCategory(qdto) ;
}
@Override
......@@ -303,18 +307,18 @@ public class MaterialApiServiceImpl implements MaterialApiService {
return old.getMediaId();
}
private List<String> listSubCategoryIdsByParentId(String categoryId) {
private List<String> listSubCategoryIdsByParentId(String wxEnterpriseId , String categoryId) {
List<String> categoryIds = new ArrayList<>();
categoryIds.add(categoryId);
if (StringUtils.isBlank(categoryId)) {
return categoryIds;
}
List<MaterialCategoryDTO> categoryDTOList = materialCategoryService.listByParentCategory(categoryId);
List<MaterialCategoryDTO> categoryDTOList = materialCategoryService.listByParentCategory(wxEnterpriseId,categoryId);
if (CollectionUtils.isEmpty(categoryDTOList)) {
return categoryIds;
}
for (MaterialCategoryDTO categoryDTO : categoryDTOList) {
categoryIds.addAll(this.listSubCategoryIdsByParentId(categoryDTO.getCategoryId()));
categoryIds.addAll(this.listSubCategoryIdsByParentId(wxEnterpriseId,categoryDTO.getCategoryId()));
}
return categoryIds;
}
......@@ -327,7 +331,7 @@ public class MaterialApiServiceImpl implements MaterialApiService {
// 传入-1默认查询全部
categoryIds = Collections.emptyList();
} else {
categoryIds = this.listSubCategoryIdsByParentId(categoryId);
categoryIds = this.listSubCategoryIdsByParentId(wxEnterpriseId,categoryId);
}
PageHelper.startPage(pageInfo.getPageNum(), pageInfo.getPageSize());
com.github.pagehelper.Page<TabHaobanMaterial> page = materialService.listMaterial(wxEnterpriseId, keyword, categoryIds, materialType);
......@@ -352,8 +356,8 @@ public class MaterialApiServiceImpl implements MaterialApiService {
}
@Override
public List<MaterialCategoryDTO> listByParentCategory(String categoryId) {
return materialCategoryService.listByParentCategory(categoryId);
public List<MaterialCategoryDTO> listByParentCategory(String wxEnterpriseId , String categoryId) {
return materialCategoryService.listByParentCategory(wxEnterpriseId,categoryId);
}
@Override
......
......@@ -5,6 +5,7 @@ import java.util.List;
import java.util.Objects;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanWelcomeMediaMapper;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -144,6 +145,10 @@ public class MiniprogramSettingServiceImpl implements MiniprogramSettingService
@Override
public TabMiniprogramSetting getMiniprogramSettingByAppId(String wxEnterpriseId, String appId) {
return tabMiniprogramSettingMapper.getMiniprogramSettingByAppId(wxEnterpriseId, appId);
List<TabMiniprogramSetting> list = tabMiniprogramSettingMapper.getMiniprogramSettingByAppId(wxEnterpriseId, appId);
if(CollectionUtils.isNotEmpty(list)) {
return list.get(0) ;
}
return null ;
}
}
......@@ -706,17 +706,29 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
return ServiceResponse.failure("9999", "会员导购无关联成员") ;
}
clerkIdList = staffClerkList.stream().map(dto->dto.getClerkId()).collect(Collectors.toList()) ;
List<String> friendList = this.tabHaobanExternalClerkRelatedMapper.listMemberAndClerk(Arrays.asList(memberId), clerkIdList, enterpriseId) ;
if(CollectionUtils.isNotEmpty(friendList)) {
String mainClerkId = member.getMainClerkId();
if(StringUtils.isNotBlank(mainClerkId)) {
clerkIdList.add(mainClerkId);
}
List<String> friendClerkList = this.tabHaobanExternalClerkRelatedMapper.listFriendClerk(memberId,clerkIdList) ;
if(CollectionUtils.isNotEmpty(friendClerkList)) {
log.info("已存在好友");
return ServiceResponse.failure("1000", "已存在好友") ;
}else {
friendClerkList = new ArrayList<>() ;
}
String mainClerkId = member.getMainClerkId();
String mainStoreId = member.getMainStoreId();
// 服务门店
log.info("memberId={},主导购={}",memberId,mainClerkId);
if (StringUtils.isNotBlank(mainClerkId)) {
clerkIdList.add(mainClerkId);
if(friendClerkList.contains(mainClerkId)) {
hm = this.hmQrcodeService.queryByClerkId(mainClerkId, wxEnterpriseId, 1);
if(null != hm) {
retDTO.setHmId(hm.getHmId());
retDTO.setHmQrcode(hm.getWxQrcode());
retDTO.setQwFriendFlag(1);
return ServiceResponse.success(retDTO);
}
}
hm = this.getHmFromClerk(mainClerkId, wxEnterpriseId, memberId, enterpriseId);
if (null != hm) {
log.info("获取服务导购活码,mainClerkId={}", mainClerkId);
......@@ -731,6 +743,15 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
if (StringUtils.isNotBlank(mainStoreId) && mainStoreId.equals(item.getStoreIdRel())) {
continue;
}
if(friendClerkList.contains(clerkId)) {
hm = this.hmQrcodeService.queryByClerkId(clerkId, wxEnterpriseId, 1);
if(null != hm) {
retDTO.setHmId(hm.getHmId());
retDTO.setHmQrcode(hm.getWxQrcode());
retDTO.setQwFriendFlag(1);
return ServiceResponse.success(retDTO);
}
}
hm = this.getHmFromClerk(clerkId, wxEnterpriseId, memberId, enterpriseId);
if (null != hm) {
log.info("获取导购活码,clerkId={}", clerkId);
......
......@@ -773,6 +773,17 @@
AND status_flag = 1
</select>
<select id="listFriendClerk" resultType="java.lang.String">
select clerk_id
from tab_haoban_external_clerk_related
where member_id = #{memberId}
and clerk_id in
<foreach collection="clerkIdList" item="item" separator="," open="(" close=")">
#{item}
</foreach>
AND status_flag = 1
</select>
<select id="getCountExternalClerk" resultType="java.lang.Integer">
select count(*)
from tab_haoban_external_clerk_related
......
......@@ -9,10 +9,11 @@
<result column="status_flag" property="statusFlag" jdbcType="INTEGER" />
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
<result column="sort_num" property="sortNum" />
</resultMap>
<sql id="Base_Column_List" >
category_id, category_name, category_parent_id, wx_enterprise_id, status_flag, create_time,
update_time
update_time , sort_num
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
......@@ -20,102 +21,40 @@
from tab_haoban_material_category
where category_id = #{categoryId,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String" >
delete from tab_haoban_material_category
where category_id = #{categoryId,jdbcType=VARCHAR}
</delete>
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabHaobanMaterialCategory" >
insert into tab_haoban_material_category (category_id, category_name, category_parent_id,
wx_enterprise_id, status_flag, create_time,
wx_enterprise_id, status_flag, create_time, sort_num ,
update_time)
values (#{categoryId,jdbcType=VARCHAR}, #{categoryName,jdbcType=VARCHAR}, #{categoryParentId,jdbcType=VARCHAR},
#{wxEnterpriseId,jdbcType=VARCHAR}, #{statusFlag,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP},
#{wxEnterpriseId,jdbcType=VARCHAR}, #{statusFlag,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{sortNum} ,
#{updateTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" parameterType="com.gic.haoban.manage.service.entity.TabHaobanMaterialCategory" >
insert into tab_haoban_material_category
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="categoryId != null" >
category_id,
</if>
<if test="categoryName != null" >
category_name,
</if>
<if test="categoryParentId != null" >
category_parent_id,
</if>
<if test="wxEnterpriseId != null" >
wx_enterprise_id,
</if>
<if test="statusFlag != null" >
status_flag,
</if>
<if test="createTime != null" >
create_time,
</if>
<if test="updateTime != null" >
update_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="categoryId != null" >
#{categoryId,jdbcType=VARCHAR},
</if>
<if test="categoryName != null" >
#{categoryName,jdbcType=VARCHAR},
</if>
<if test="categoryParentId != null" >
#{categoryParentId,jdbcType=VARCHAR},
</if>
<if test="wxEnterpriseId != null" >
#{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if test="statusFlag != null" >
#{statusFlag,jdbcType=INTEGER},
</if>
<if test="createTime != null" >
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null" >
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.haoban.manage.service.entity.TabHaobanMaterialCategory" >
update tab_haoban_material_category
<set >
<if test="categoryName != null" >
category_name = #{categoryName,jdbcType=VARCHAR},
</if>
<if test="categoryParentId != null" >
category_parent_id = #{categoryParentId,jdbcType=VARCHAR},
</if>
<if test="wxEnterpriseId != null" >
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if test="statusFlag != null" >
status_flag = #{statusFlag,jdbcType=INTEGER},
</if>
<if test="createTime != null" >
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null" >
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where category_id = #{categoryId,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="com.gic.haoban.manage.service.entity.TabHaobanMaterialCategory" >
update tab_haoban_material_category
set category_name = #{categoryName,jdbcType=VARCHAR},
category_parent_id = #{categoryParentId,jdbcType=VARCHAR},
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
status_flag = #{statusFlag,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where category_id = #{categoryId,jdbcType=VARCHAR}
<update id="updateSortNum">
<foreach collection="list" item="item" separator=";">
UPDATE tab_haoban_material_category
SET sort_num = #{item.sortNum}
WHERE category_id = #{item.categoryId}
</foreach>
</update>
<select id="selectByCategoryNameAndParentId" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
......@@ -131,7 +70,7 @@
<include refid="Base_Column_List" />
from tab_haoban_material_category
where status_flag = 1
and wx_enterprise_id = #{wxEnterpriseId}
and wx_enterprise_id = #{wxEnterpriseId} order by sort_num asc , create_time desc
</select>
<select id="listByParentCategory" resultMap="BaseResultMap" parameterType="java.lang.String" >
......@@ -139,6 +78,15 @@
<include refid="Base_Column_List" />
from tab_haoban_material_category
where status_flag = 1
and category_parent_id = #{categoryId}
<if test="null != wxEnterpriseId">
and wx_enterprise_id = #{wxEnterpriseId}
</if>
and category_parent_id = #{categoryId} order by sort_num asc , create_time desc
</select>
<select id="getMaxSortNum" resultType="java.lang.Integer">
select ifnull(max(sort_num),0) from tab_haoban_material_category
where wx_enterprise_id = #{wxEnterpriseId}
and category_parent_id = #{parentId} and status_flag = 1
</select>
</mapper>
\ No newline at end of file
......@@ -346,7 +346,13 @@ public class ChatDataController extends NewBaseController {
task.setSearchDataParams(jsonObject.toJSONString());
task.setHandler(singleChatStoreDataHandle);
JSONResponse downloadTask = DownloadTaskUtil.createDownloadTask(task);
return RestResponse.successResult(downloadTask.getResult());
final String reportId;
if (downloadTask.isSuccess()) {
reportId = (String) downloadTask.getResult();
} else {
return RestResponse.failure("9999", downloadTask.getErrorMessage());
}
return RestResponse.successResult(reportId);
}
......@@ -427,7 +433,13 @@ public class ChatDataController extends NewBaseController {
task.setSearchDataParams(jsonObject.toJSONString());
task.setHandler(singleChatClerkDataHandle);
JSONResponse downloadTask = DownloadTaskUtil.createDownloadTask(task);
return RestResponse.successResult(downloadTask.getResult());
final String reportId;
if (downloadTask.isSuccess()) {
reportId = (String) downloadTask.getResult();
} else {
return RestResponse.failure("9999", downloadTask.getErrorMessage());
}
return RestResponse.successResult(reportId);
}
......@@ -531,7 +543,13 @@ public class ChatDataController extends NewBaseController {
task.setSearchDataParams(jsonObject.toJSONString());
task.setHandler(singleChatDetailsHandle);
JSONResponse downloadTask = DownloadTaskUtil.createDownloadTask(task);
return RestResponse.successResult(downloadTask.getResult());
final String reportId;
if (downloadTask.isSuccess()) {
reportId = (String) downloadTask.getResult();
} else {
return RestResponse.failure("9999", downloadTask.getErrorMessage());
}
return RestResponse.successResult(reportId);
}
......@@ -781,7 +799,13 @@ public class ChatDataController extends NewBaseController {
task.setSearchDataParams(jsonObject.toJSONString());
task.setHandler(groupStoreDataHandle);
JSONResponse downloadTask = DownloadTaskUtil.createDownloadTask(task);
return RestResponse.successResult(downloadTask.getResult());
final String reportId;
if (downloadTask.isSuccess()) {
reportId = (String) downloadTask.getResult();
} else {
return RestResponse.failure("9999", downloadTask.getErrorMessage());
}
return RestResponse.successResult(reportId);
}
......@@ -856,7 +880,13 @@ public class ChatDataController extends NewBaseController {
task.setSearchDataParams(jsonObject.toJSONString());
task.setHandler(groupClerkDataHandle);
JSONResponse downloadTask = DownloadTaskUtil.createDownloadTask(task);
return RestResponse.successResult(downloadTask.getResult());
final String reportId;
if (downloadTask.isSuccess()) {
reportId = (String) downloadTask.getResult();
} else {
return RestResponse.failure("9999", downloadTask.getErrorMessage());
}
return RestResponse.successResult(reportId);
}
......@@ -961,7 +991,13 @@ public class ChatDataController extends NewBaseController {
task.setSearchDataParams(jsonObject.toJSONString());
task.setHandler(groupDetailsHandle);
JSONResponse downloadTask = DownloadTaskUtil.createDownloadTask(task);
return RestResponse.successResult(downloadTask.getResult());
final String reportId;
if (downloadTask.isSuccess()) {
reportId = (String) downloadTask.getResult();
} else {
return RestResponse.failure("9999", downloadTask.getErrorMessage());
}
return RestResponse.successResult(reportId);
}
......@@ -1074,7 +1110,13 @@ public class ChatDataController extends NewBaseController {
task.setHandler(groupJoinHandle);
JSONResponse downloadTask = DownloadTaskUtil.createDownloadTask(task);
return RestResponse.successResult(downloadTask.getResult());
final String reportId;
if (downloadTask.isSuccess()) {
reportId = (String) downloadTask.getResult();
} else {
return RestResponse.failure("9999", downloadTask.getErrorMessage());
}
return RestResponse.successResult(reportId);
}
......@@ -1181,7 +1223,13 @@ public class ChatDataController extends NewBaseController {
task.setHandler(groupExitHandle);
JSONResponse downloadTask = DownloadTaskUtil.createDownloadTask(task);
return RestResponse.successResult(downloadTask.getResult());
final String reportId;
if (downloadTask.isSuccess()) {
reportId = (String) downloadTask.getResult();
} else {
return RestResponse.failure("9999", downloadTask.getErrorMessage());
}
return RestResponse.successResult(reportId);
}
......@@ -1314,7 +1362,13 @@ public class ChatDataController extends NewBaseController {
task.setHandler(groupChatDetailsHandle);
JSONResponse downloadTask = DownloadTaskUtil.createDownloadTask(task);
return RestResponse.successResult(downloadTask.getResult());
final String reportId;
if (downloadTask.isSuccess()) {
reportId = (String) downloadTask.getResult();
} else {
return RestResponse.failure("9999", downloadTask.getErrorMessage());
}
return RestResponse.successResult(reportId);
}
......
......@@ -219,7 +219,13 @@ public class EventTrackingController extends NewBaseController {
task.setSearchDataParams(jsonObject.toJSONString());
task.setHandler(wechatEventTrackingStoreGroupHandle);
JSONResponse downloadTask = DownloadTaskUtil.createDownloadTask(task);
return RestResponse.successResult(downloadTask.getResult());
final String reportId;
if (downloadTask.isSuccess()) {
reportId = (String) downloadTask.getResult();
} else {
return RestResponse.failure("9999", downloadTask.getErrorMessage());
}
return RestResponse.successResult(reportId);
}
/**
......@@ -318,7 +324,13 @@ public class EventTrackingController extends NewBaseController {
task.setSearchDataParams(jsonObject.toJSONString());
task.setHandler(wechatEventTrackingClerkDetailHandle);
JSONResponse downloadTask = DownloadTaskUtil.createDownloadTask(task);
return RestResponse.successResult(downloadTask.getResult());
final String reportId;
if (downloadTask.isSuccess()) {
reportId = (String) downloadTask.getResult();
} else {
return RestResponse.failure("9999", downloadTask.getErrorMessage());
}
return RestResponse.successResult(reportId);
}
private JSONObject getOverviewParam(WechatOverviewQO qo) {
......
......@@ -7,6 +7,7 @@ import java.util.Objects;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import com.gic.haoban.manage.api.dto.qdto.MaterialCategorySortQDTO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
......@@ -56,6 +57,26 @@ public class MaterialController extends WebBaseController {
}
/**
* 排序
* @param qdto
* @return
*/
@RequestMapping("/mateial-sort-category")
public HaobanResponse materialSortCategory(@RequestBody MaterialCategorySortQDTO qdto) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId();
qdto.setWxEnterpriseId(wxEnterpriseId);
if (StringUtils.isAnyBlank(qdto.getCategoryId())) {
return resultResponse(HaoBanErrCode.ERR_2);
}
if(null == qdto.getSortNum()) {
return resultResponse(HaoBanErrCode.ERR_2);
}
this.materialApiService.materialSortCategory(qdto);
return resultResponse(HaoBanErrCode.ERR_1);
}
/**
* 素材分组查询
*
* @return
......@@ -105,7 +126,7 @@ public class MaterialController extends WebBaseController {
if (dto == null) {
return resultResponse(HaoBanErrCode.ERR_10016);
}
List<MaterialCategoryDTO> categoryList = materialApiService.listByParentCategory(categoryId);
List<MaterialCategoryDTO> categoryList = materialApiService.listByParentCategory(dto.getWxEnterpriseId(),categoryId);
if (categoryList != null && !categoryList.isEmpty()) {
return resultResponse(HaoBanErrCode.ERR_10017);
}
......
......@@ -212,7 +212,13 @@ public class WechatWorkController extends NewBaseController {
task.setSearchDataParams(jsonObject.toJSONString());
task.setHandler(wechatWorkLostStoreGroupHandle);
JSONResponse downloadTask = DownloadTaskUtil.createDownloadTask(task);
return RestResponse.successResult(downloadTask.getResult());
final String reportId;
if (downloadTask.isSuccess()) {
reportId = (String) downloadTask.getResult();
} else {
return RestResponse.failure("9999", downloadTask.getErrorMessage());
}
return RestResponse.successResult(reportId);
}
/**
......@@ -303,7 +309,13 @@ public class WechatWorkController extends NewBaseController {
task.setSearchDataParams(jsonObject.toJSONString());
task.setHandler(wechatWorkLostClerkHandle);
JSONResponse downloadTask = DownloadTaskUtil.createDownloadTask(task);
return RestResponse.successResult(downloadTask.getResult());
final String reportId;
if (downloadTask.isSuccess()) {
reportId = (String) downloadTask.getResult();
} else {
return RestResponse.failure("9999", downloadTask.getErrorMessage());
}
return RestResponse.successResult(reportId);
}
/**
......@@ -390,7 +402,13 @@ public class WechatWorkController extends NewBaseController {
task.setSearchDataParams(jsonObject.toJSONString());
task.setHandler(wechatWorkLostDetailHandle);
JSONResponse downloadTask = DownloadTaskUtil.createDownloadTask(task);
return RestResponse.successResult(downloadTask.getResult());
final String reportId;
if (downloadTask.isSuccess()) {
reportId = (String) downloadTask.getResult();
} else {
return RestResponse.failure("9999", downloadTask.getErrorMessage());
}
return RestResponse.successResult(reportId);
}
private AuthorizedUser getUserInfo() {
......
......@@ -285,8 +285,13 @@ public class GroupChatActivityDataController {
task.setSearchDataParams(jsonObject.toJSONString());
task.setHandler(groupChatActivityJoinHandle);
JSONResponse downloadTask = DownloadTaskUtil.createDownloadTask(task);
return RestResponse.successResult(downloadTask.getResult());
final String reportId;
if (downloadTask.isSuccess()) {
reportId = (String) downloadTask.getResult();
} else {
return RestResponse.failure("9999", downloadTask.getErrorMessage());
}
return RestResponse.successResult(reportId);
}
/**
......@@ -398,8 +403,13 @@ public class GroupChatActivityDataController {
task.setSearchDataParams(jsonObject.toJSONString());
task.setHandler(groupChatActivityInviterHandle);
JSONResponse downloadTask = DownloadTaskUtil.createDownloadTask(task);
return RestResponse.successResult(downloadTask.getResult());
final String reportId;
if (downloadTask.isSuccess()) {
reportId = (String) downloadTask.getResult();
} else {
return RestResponse.failure("9999", downloadTask.getErrorMessage());
}
return RestResponse.successResult(reportId);
}
......@@ -511,8 +521,13 @@ public class GroupChatActivityDataController {
task.setSearchDataParams(jsonObject.toJSONString());
task.setHandler(groupChatActivityRewardHandle);
JSONResponse downloadTask = DownloadTaskUtil.createDownloadTask(task);
return RestResponse.successResult(downloadTask.getResult());
final String reportId;
if (downloadTask.isSuccess()) {
reportId = (String) downloadTask.getResult();
} else {
return RestResponse.failure("9999", downloadTask.getErrorMessage());
}
return RestResponse.successResult(reportId);
}
......
......@@ -2,14 +2,16 @@ package com.gic.haoban.manage.web.controller.chat;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DatePattern;
import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.JSONResponse;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.clerk.api.dto.AuthorizedUser;
import com.gic.commons.util.DateUtil;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.ExcelUtils;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.enterprise.api.service.EnterpriseService;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.common.utils.AuthWebRequestUtil;
import com.gic.haoban.manage.api.dto.StaffDTO;
......@@ -24,13 +26,14 @@ import com.gic.haoban.manage.api.service.StaffApiService;
import com.gic.haoban.manage.api.service.chat.GroupChatApiService;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.haoban.manage.web.log.LogRecordUserServiceImpl;
import com.gic.haoban.manage.web.vo.chat.GroupChatUserExcelVO;
import com.gic.haoban.manage.web.vo.chat.GroupChatUserQuitVO;
import com.gic.log.record.anno.GicLogRecord;
import com.gic.log.record.util.GicLogRecordCategoryEnum;
import com.gic.log.record.util.GicLogRecordEvaluationContext;
import com.gic.log.record.util.GicLogRecordOptTypeEnum;
import org.apache.commons.collections.ArrayStack;
import com.gic.qcloud.BucketNameEnum;
import com.gic.web.common.download.DownloadTask;
import com.gic.web.common.download.DownloadTaskUtil;
import com.gic.web.common.download.constants.TaskTypeEnum;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
......@@ -38,7 +41,6 @@ import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
......@@ -63,7 +65,9 @@ public class GroupChatController {
@Autowired
private StaffApiService staffApiService;
@Autowired
private EnterpriseService enterpriseService;
private GroupChatUserExcelHandler groupChatUserExcelHandler;
@Autowired
private GroupChatUserQuitExcelHandler groupChatUserQuitExcelHandler ;
@RequestMapping("get-set-gic-flag")
public RestResponse<Object> getFlag() {
......@@ -79,7 +83,6 @@ public class GroupChatController {
* @Title: save
* @Description: 认领gic
* @author xugh
* @param groupChatIdList
* @return
* @throws
*/
......@@ -154,124 +157,95 @@ public class GroupChatController {
* 群详情导出
*/
@RequestMapping("user/detail/excel")
public RestResponse<Boolean> detailExcel(HttpServletRequest request, HttpServletResponse response,GroupChatUserSearchQDTO qdto) {
public RestResponse<String> detailExcel(@RequestBody GroupChatUserSearchQDTO qdto) {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
qdto.setWxEnterpriseId(loginUser.getWxEnterpriseId());
qdto.setEnterpriseId(loginUser.getEnterpriseId());
BasePageInfo basePageInfo = new BasePageInfo() ;
basePageInfo.setPageNum(1);
basePageInfo.setPageSize(1000);
basePageInfo.setPageSize(1);
ServiceResponse<Page<GroupChatUserDTO>> resp = this.groupChatApiService.listUserPage(qdto, basePageInfo);
Long groupChatId = qdto.getGroupChatId() ;
ServiceResponse<GroupChatDTO> detailResp = this.groupChatApiService.detail(loginUser.getWxEnterpriseId(),groupChatId);
List<GroupChatUserDTO> list = resp.getResult().getResult() ;
if(CollectionUtils.isEmpty(list)) {
return RestResponse.failure("9999","无相关群成员");
return RestResponse.failure("9999","无群成员数据");
}
Long groupChatId = qdto.getGroupChatId() ;
int totalCount = resp.getResult().getTotalCount();
ServiceResponse<GroupChatDTO> detailResp = this.groupChatApiService.detail(loginUser.getWxEnterpriseId(),groupChatId);
String s = DateUtil.formatString(new Date(), DateUtil.FORMAT_DATE_10);
AuthorizedUser user = new AuthorizedUser();
user.setUserId(loginUser.getClerkId());
user.setEnterpriseId(loginUser.getEnterpriseId());
user.setRealName(loginUser.getClerkName());
String fileName = "客户群成员-"+detailResp.getResult().getName()+"-"+s;
List<String> titleList = Arrays.asList("群成员名称", "群成员昵称", "身份", "入群方式", "入群时间");
List<String> fileList = Arrays.asList("userName","nickName","userTypeExcel", "sceneExcel", "addTimeExcel");
List<GroupChatUserExcelVO> voList = new ArrayList<>() ;
for (GroupChatUserDTO dto : list) {
GroupChatUserExcelVO vo = EntityUtil.changeEntityByJSON(GroupChatUserExcelVO.class,dto) ;
vo.setAddTimeExcel(DateUtil.dateToStr(dto.getJoinTime() , "yyyy-MM-dd HH:mm:ss"));
if(dto.getUserType()==1) {
vo.setUserTypeExcel("企业成员");
}else if(dto.getUserType()==2) {
vo.setUserTypeExcel("外部成员");
}else {
vo.setUserTypeExcel("客户");
}
Integer joinScene = dto.getJoinScene() ;
if(null != joinScene) {
String invitor_user_name = dto.getInvitorUserName() ;
if(StringUtils.isBlank(invitor_user_name)) {
invitor_user_name = "群成员" ;
}
if(joinScene==1) {
// 由群成员邀请入群(直接邀请入群)
vo.setSceneExcel(String.format("由%s直接邀请入群",invitor_user_name));
}else if(joinScene==2) {
// 由群成员邀请入群(通过邀请链接入群)
vo.setSceneExcel(String.format("通过%s分享链接入群",invitor_user_name));
}else if(joinScene==3) {
// 通过扫描群二维码入群
vo.setSceneExcel(String.format("通过扫描%s分享的二维码入群",invitor_user_name));
}
voList.add(vo) ;
}
DownloadTask task = new DownloadTask();
task.setTaskTypeEnum(TaskTypeEnum.QYWX_GROUP_CHAT_USER);
task.setUser(user);
task.setDataType(qdto.getDataType());
task.setTotalCount(totalCount);
task.setFileName(fileName);
task.setChannelName(TaskTypeEnum.QYWX_GROUP_CHAT_USER.getName());
task.setBucketName(BucketNameEnum.REPORT_50000.getName());
task.setSearchDataParams(JSON.toJSONStringWithDateFormat(qdto, DatePattern.NORM_DATETIME_PATTERN));
task.setHandler(groupChatUserExcelHandler);
JSONResponse jsonResponse = DownloadTaskUtil.createDownloadTask(task);
final String reportId;
if (jsonResponse.isSuccess()) {
reportId = (String) jsonResponse.getResult();
} else {
return RestResponse.failure("9999", jsonResponse.getErrorMessage());
}
try {
ExcelUtils.xls(response, request, fileName, voList, fileList, titleList);
} catch (Exception e) {
logger.info("异常",e);
logger.info("导出失败");
}
return RestResponse.successResult(true);
return RestResponse.successResult(reportId);
}
@RequestMapping("user/quit/excel")
public RestResponse<Boolean> excel(HttpServletRequest request, HttpServletResponse response,String searchParams,Integer userType,
Date startDate,Date endDate,@RequestParam(defaultValue = "2") Integer status) {
GroupChatUserSearchQDTO qdto = new GroupChatUserSearchQDTO();
BasePageInfo basePageInfo = new BasePageInfo();
int pageNum = 1;
int pageSize = 1000;
public RestResponse<String> excel(@RequestBody GroupChatUserSearchQDTO qdto) {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
qdto.setWxEnterpriseId(loginUser.getWxEnterpriseId());
qdto.setEnterpriseId(loginUser.getEnterpriseId());
qdto.setSearchParams(searchParams);
qdto.setUserType(userType);
Date startDate = qdto.getStartDate() ;
Date endDate = qdto.getEndDate() ;
if(null == startDate || null == endDate) {
return RestResponse.failure("9999","时间不能为空");
}
if(DateUtil.daysBetween(startDate,endDate) >= 32) {
return RestResponse.failure("9999","导出区间不能超过一个月");
if(DateUtil.daysBetween(startDate,endDate) >= 180) {
return RestResponse.failure("9999","导出区间不能超过半年");
}
qdto.setStartDate(startDate);
qdto.setEndDate(endDate);
qdto.setStatus(status);
basePageInfo.setPageSize(pageSize);
List<GroupChatUserDTO> result = new ArrayList<>();
while (true) {
basePageInfo.setPageNum(pageNum);
ServiceResponse<Page<GroupChatUserDTO>> page = this.groupChatApiService.listUserPage(qdto, basePageInfo);
List<GroupChatUserDTO> list = page.getResult().getResult();
if (CollectionUtils.isEmpty(list)) {
break;
}
result.addAll(list);
pageNum++;
qdto.setStatus(2);
BasePageInfo basePageInfo = new BasePageInfo();
basePageInfo.setPageSize(1);
basePageInfo.setPageNum(1);
ServiceResponse<Page<GroupChatUserDTO>> resp = this.groupChatApiService.listUserPage(qdto, basePageInfo);
List<GroupChatUserDTO> list = resp.getResult().getResult() ;
if(CollectionUtils.isEmpty(list)) {
return RestResponse.failure("9999","无群成员数据");
}
if (CollUtil.isNotEmpty(result)){
List<GroupChatUserQuitVO> voList = new ArrayList<>() ;
for (GroupChatUserDTO dto : result) {
GroupChatUserQuitVO vo = EntityUtil.changeEntityByJSON(GroupChatUserQuitVO.class,dto) ;
vo.setUserQuitTimeExcel(DateUtil.dateToStr(dto.getUserQuitTime(),"yyyy-MM-dd HH:mm:ss"));
if(dto.getUserType()==1) {
vo.setUserTypeExcel("企业成员");
}else if(dto.getUserType()==2) {
vo.setUserTypeExcel("外部成员");
}else {
vo.setUserTypeExcel("客户");
}
voList.add(vo) ;
}
String s = DateUtil.formatString(new Date(), DateUtil.FORMAT_DATE_10);
String fileName = "退群记录"+s;
List<String> titleList = Arrays.asList("群成员姓名", "群成员昵称", "身份", "群名称", "群主", "群主关联门店", "退群时间");
List<String> fileList = Arrays.asList("userName","nickName","userTypeExcel", "chatName", "staffName", "quitStaffStore" , "userQuitTimeExcel");
try {
ExcelUtils.xls(response, request, fileName, voList, fileList, titleList);
} catch (Exception e) {
logger.info("异常",e);
logger.info("导出失败");
}
return RestResponse.successResult(true);
AuthorizedUser user = new AuthorizedUser();
user.setUserId(loginUser.getClerkId());
user.setEnterpriseId(loginUser.getEnterpriseId());
user.setRealName(loginUser.getClerkName());
String s = DateUtil.formatString(new Date(), DateUtil.FORMAT_DATE_10);
String fileName = "退群记录"+s;
DownloadTask task = new DownloadTask();
task.setTaskTypeEnum(TaskTypeEnum.QYWX_GROUP_CHAT_USER);
task.setUser(user);
task.setDataType(qdto.getDataType());
task.setTotalCount(resp.getResult().getTotalCount());
task.setFileName(fileName);
task.setChannelName(TaskTypeEnum.QYWX_GROUP_CHAT_USER.getName());
task.setBucketName(BucketNameEnum.REPORT_50000.getName());
task.setSearchDataParams(JSON.toJSONStringWithDateFormat(qdto, DatePattern.NORM_DATETIME_PATTERN));
task.setHandler(groupChatUserQuitExcelHandler);
JSONResponse jsonResponse = DownloadTaskUtil.createDownloadTask(task);
final String reportId;
if (jsonResponse.isSuccess()) {
reportId = (String) jsonResponse.getResult();
} else {
return RestResponse.failure("9999", jsonResponse.getErrorMessage());
}
return RestResponse.successResult(false);
return RestResponse.successResult(reportId);
}
......
package com.gic.haoban.manage.web.controller.chat;
import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.DateUtil;
import com.gic.commons.util.EntityUtil;
import com.gic.haoban.manage.api.dto.chat.GroupChatUserDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatUserSearchQDTO;
import com.gic.haoban.manage.api.service.chat.GroupChatApiService;
import com.gic.haoban.manage.web.controller.moment.QwMomentController;
import com.gic.haoban.manage.web.vo.chat.GroupChatUserExcelVO;
import com.gic.haoban.manage.web.vo.moment.MomentDataExcelVO;
import com.gic.member.api.dto.es.MemberDataDTO;
import com.gic.web.common.download.DownloadHandlerAbstract;
import com.gic.web.common.download.context.Context;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
@Service
public class GroupChatUserExcelHandler extends DownloadHandlerAbstract<GroupChatUserExcelVO> {
@Autowired
private GroupChatApiService groupChatApiService;
@Autowired
private QwMomentController qwMomentController ;
@Override
public List<GroupChatUserExcelVO> getData(Context context, String searchDataParams, Integer currentPage) {
GroupChatUserSearchQDTO qdto = JSON.parseObject(searchDataParams, GroupChatUserSearchQDTO.class);
BasePageInfo basePageInfo = new BasePageInfo() ;
basePageInfo.setPageSize(this.getPageSize());
basePageInfo.setPageNum(currentPage);
ServiceResponse<Page<GroupChatUserDTO>> resp = this.groupChatApiService.listUserPage(qdto, basePageInfo);
List<GroupChatUserExcelVO> voList = new ArrayList<>() ;
for (GroupChatUserDTO dto : resp.getResult().getResult()) {
GroupChatUserExcelVO vo = EntityUtil.changeEntityByJSON(GroupChatUserExcelVO.class, dto);
vo.setAddTimeExcel(DateUtil.dateToStr(dto.getJoinTime(), "yyyy-MM-dd HH:mm:ss"));
if (dto.getUserType() == 1) {
vo.setUserTypeExcel("企业成员");
} else if (dto.getUserType() == 2) {
vo.setUserTypeExcel("外部成员");
} else {
vo.setUserTypeExcel("客户");
}
Integer joinScene = dto.getJoinScene();
if (null != joinScene) {
String invitor_user_name = dto.getInvitorUserName();
if (StringUtils.isBlank(invitor_user_name)) {
invitor_user_name = "群成员";
}
if (joinScene == 1) {
// 由群成员邀请入群(直接邀请入群)
vo.setSceneExcel(String.format("由%s直接邀请入群", invitor_user_name));
} else if (joinScene == 2) {
// 由群成员邀请入群(通过邀请链接入群)
vo.setSceneExcel(String.format("通过%s分享链接入群", invitor_user_name));
} else if (joinScene == 3) {
// 通过扫描群二维码入群
vo.setSceneExcel(String.format("通过扫描%s分享的二维码入群", invitor_user_name));
}
voList.add(vo);
}
}
List<String> memberIdList = voList.stream().filter(o->StringUtils.isNotBlank(o.getMemberId())).map(o->o.getMemberId()).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(memberIdList)) {
Map<String, MemberDataDTO> map = this.qwMomentController.getMemberMap(qdto.getEnterpriseId(),memberIdList) ;
for (GroupChatUserExcelVO vo : voList) {
String memberId = vo.getMemberId() ;
if(null == map.get(memberId)) {
vo.setMemberScene(2);
}else {
MemberDataDTO data = map.get(memberId) ;
vo.setMemberName(data.getName());
vo.setMemberNick(data.getNickName());
vo.setMemberCard(data.getCardNo());
vo.setMemberPhone(data.getPhoneNumber());
vo.setMemberScene(3);
}
}
}
return voList;
}
@Override
public List<String> getColumnNames() {
return Arrays.asList("群成员名称", "群成员昵称", "身份", "客户姓名","客户昵称","手机号","卡号","入群方式", "入群时间");
}
@Override
public LinkedHashMap<String, List<String>> doubleColumnNames() {
return null;
}
@Override
public List<String> getColumns() {
return Arrays.asList("userName","nickName","userTypeExcel","memberName","memberNick","memberPhone","memberCard", "sceneExcel", "addTimeExcel");
}
}
package com.gic.haoban.manage.web.controller.chat;
import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.DateUtil;
import com.gic.commons.util.EntityUtil;
import com.gic.haoban.manage.api.dto.chat.GroupChatUserDTO;
import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatUserSearchQDTO;
import com.gic.haoban.manage.api.service.chat.GroupChatApiService;
import com.gic.haoban.manage.web.controller.moment.QwMomentController;
import com.gic.haoban.manage.web.vo.chat.GroupChatUserExcelVO;
import com.gic.haoban.manage.web.vo.chat.GroupChatUserQuitExcelVO;
import com.gic.member.api.dto.es.MemberDataDTO;
import com.gic.web.common.download.DownloadHandlerAbstract;
import com.gic.web.common.download.context.Context;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
@Service
public class GroupChatUserQuitExcelHandler extends DownloadHandlerAbstract<GroupChatUserQuitExcelVO> {
@Autowired
private GroupChatApiService groupChatApiService;
@Autowired
private QwMomentController qwMomentController ;
@Override
public List<GroupChatUserQuitExcelVO> getData(Context context, String searchDataParams, Integer currentPage) {
GroupChatUserSearchQDTO qdto = JSON.parseObject(searchDataParams, GroupChatUserSearchQDTO.class);
BasePageInfo basePageInfo = new BasePageInfo() ;
basePageInfo.setPageSize(this.getPageSize());
basePageInfo.setPageNum(currentPage);
ServiceResponse<Page<GroupChatUserDTO>> resp = this.groupChatApiService.listUserPage(qdto, basePageInfo);
List<GroupChatUserQuitExcelVO> voList = new ArrayList<>() ;
for (GroupChatUserDTO dto : resp.getResult().getResult()) {
GroupChatUserQuitExcelVO vo = EntityUtil.changeEntityByJSON(GroupChatUserQuitExcelVO.class, dto);
vo.setUserQuitTimeExcel(DateUtil.dateToStr(dto.getUserQuitTime(),"yyyy-MM-dd HH:mm:ss"));
if(dto.getUserType()==1) {
vo.setUserTypeExcel("企业成员");
}else if(dto.getUserType()==2) {
vo.setUserTypeExcel("外部成员");
}else {
vo.setUserTypeExcel("客户");
}
voList.add(vo);
}
List<String> memberIdList = voList.stream().filter(o->StringUtils.isNotBlank(o.getMemberId())).map(o->o.getMemberId()).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(memberIdList)) {
Map<String, MemberDataDTO> map = this.qwMomentController.getMemberMap(qdto.getEnterpriseId(),memberIdList) ;
for (GroupChatUserQuitExcelVO vo : voList) {
String memberId = vo.getMemberId() ;
if(null == map.get(memberId)) {
vo.setMemberScene(2);
}else {
MemberDataDTO data = map.get(memberId) ;
vo.setMemberName(data.getName());
vo.setMemberNick(data.getNickName());
vo.setMemberCard(data.getCardNo());
vo.setMemberPhone(data.getPhoneNumber());
vo.setMemberScene(3);
}
}
}
return voList;
}
@Override
public List<String> getColumnNames() {
return Arrays.asList("群成员姓名", "群成员昵称", "身份", "客户姓名","客户昵称","手机号","卡号","群名称", "群主", "群主关联门店", "退群时间");
}
@Override
public LinkedHashMap<String, List<String>> doubleColumnNames() {
return null;
}
@Override
public List<String> getColumns() {
return Arrays.asList("userName","nickName","userTypeExcel","memberName","memberNick","memberPhone","memberCard", "chatName", "staffName", "quitStaffStore" , "userQuitTimeExcel");
}
}
......@@ -9,7 +9,14 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import cn.hutool.core.date.DatePattern;
import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.JSONResponse;
import com.gic.clerk.api.dto.AuthorizedUser;
import com.gic.qcloud.BucketNameEnum;
import com.gic.web.common.download.DownloadTask;
import com.gic.web.common.download.DownloadTaskUtil;
import com.gic.web.common.download.constants.TaskTypeEnum;
import com.gic.web.common.utils.DataApiUtils;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
......@@ -93,6 +100,8 @@ public class HmLinkController {
private HmQrcodeApiService hmQrcodeApiService;
@Autowired
private GroupChatHmApiService groupChatHmApiService;
@Autowired
private LinkDataExcelHandler linkDataExcelHandler;
@RequestMapping("add")
@GicLogRecord(value = "${#logValue}", category = GicLogRecordCategoryEnum.HUOMA, optType = GicLogRecordOptTypeEnum.HM_LINK_ADD, userFunc = LogRecordUserServiceImpl.class, optPage = "引流加人-新建链接")
......@@ -860,6 +869,65 @@ public class HmLinkController {
return RestResponse.successResult(DataApiUtils.getPageData(res));
}
@RequestMapping("statistics/clerk/excel")
public RestResponse<String> statisticsClerkExcel(@RequestBody HmLinkClerkListQO qo) {
qo.setPageNo(1);
qo.setPageSize(1);
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
qo.getInFields().setEnterpriseId(loginUser.getEnterpriseId());
JSONObject paramJson = (JSONObject) JSON.toJSON(qo.getInFields());
DataApiUtils.dealParamJson(paramJson, "linkSelect1", "vagueQueryStore");
DataApiUtils.dealParamJson(paramJson, "linkSelect2", "vagueQueryClerk");
DataApiUtils.dealParamJson(paramJson, "startTime", "startDate");
DataApiUtils.dealParamJson(paramJson, "endTime", "endDate");
Map<String, Integer> orderByFieldMap = new HashMap<String, Integer>(8){{
put("addNumT", 8);
put("addNum", 9);
}};
paramJson.put("orderByType", DataApiUtils.getOrderByType( qo.getInFields().getOrderByField()));
paramJson.put("orderByFields", DataApiUtils.getOrderByFields( qo.getInFields().getOrderByField(),
"addNum", orderByFieldMap));
Map<String, Object> res = DataApiUtils.http(paramJson.toJSONString(), StatisticsApolloKeyConstant.data_haoban_link_detail);
Page page = DataApiUtils.getPageData(res) ;
final int totalCount = page.getTotalCount() ;
if (totalCount == 0) {
return RestResponse.failure("9999", "导出数据条数为0");
}
Long linkId = qo.getInFields().getLinkId() ;
ServiceResponse<HmLinkDTO> linkResp = this.hmLinkApiService.getByLinkId(loginUser.getWxEnterpriseId(), loginUser.getEnterpriseId(), linkId);
if (!linkResp.isSuccess()) {
return RestResponse.failure("1", "链接不存在");
}
AuthorizedUser user = new AuthorizedUser();
user.setUserId(loginUser.getClerkId());
user.setEnterpriseId(loginUser.getEnterpriseId());
user.setRealName(loginUser.getClerkName());
String fileName = "引流加人数据-"+linkResp.getResult().getName() ;
String startDate = qo.getInFields().getStartTime() ;
String endDate = qo.getInFields().getEndTime() ;
if (null != startDate && null != endDate) {
fileName = fileName + "-" + startDate + "到" + endDate ;
}
DownloadTask task = new DownloadTask();
task.setTaskTypeEnum(TaskTypeEnum.QYWX_HM_LINK_DATA);
task.setUser(user);
task.setDataType(1);
task.setTotalCount(totalCount);
task.setFileName(fileName);
task.setChannelName(TaskTypeEnum.QYWX_HM_LINK_DATA.getName());
task.setBucketName(BucketNameEnum.REPORT_50000.getName());
task.setSearchDataParams(JSON.toJSONStringWithDateFormat(qo, DatePattern.NORM_DATETIME_PATTERN));
task.setHandler(linkDataExcelHandler);
JSONResponse jsonResponse = DownloadTaskUtil.createDownloadTask(task);
final String reportId;
if (jsonResponse.isSuccess()) {
reportId = (String) jsonResponse.getResult();
} else {
return RestResponse.failure("9999", jsonResponse.getErrorMessage());
}
return RestResponse.successResult(reportId);
}
/**
* com.gic.haoban.manage.web.controller.hm.HmQrcodeController.wxUserAddLogList 一样
*/
......
package com.gic.haoban.manage.web.controller.hm;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.common.utils.AuthWebRequestUtil;
import com.gic.haoban.manage.api.constants.StatisticsApolloKeyConstant;
import com.gic.haoban.manage.web.qo.hm.data.HmLinkClerkListQO;
import com.gic.haoban.manage.web.vo.hm.LinkDataExcelVO;
import com.gic.web.common.download.DownloadHandlerAbstract;
import com.gic.web.common.download.context.Context;
import com.gic.web.common.utils.DataApiUtils;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service;
import java.util.*;
@Service
public class LinkDataExcelHandler extends DownloadHandlerAbstract<LinkDataExcelVO> {
@Override
public List<LinkDataExcelVO> getData(Context context, String json, Integer currentPage) {
HmLinkClerkListQO qo = JSON.parseObject(json, HmLinkClerkListQO.class);
qo.setPageSize(this.getPageSize());
qo.setPageNo(currentPage);
JSONObject paramJson = (JSONObject) JSON.toJSON(qo.getInFields());
DataApiUtils.dealParamJson(paramJson, "linkSelect1", "vagueQueryStore");
DataApiUtils.dealParamJson(paramJson, "linkSelect2", "vagueQueryClerk");
DataApiUtils.dealParamJson(paramJson, "startTime", "startDate");
DataApiUtils.dealParamJson(paramJson, "endTime", "endDate");
Map<String, Integer> orderByFieldMap = new HashMap<String, Integer>(8){{
put("addNumT", 8);
put("addNum", 9);
}};
paramJson.put("orderByType", DataApiUtils.getOrderByType( qo.getInFields().getOrderByField()));
paramJson.put("orderByFields", DataApiUtils.getOrderByFields( qo.getInFields().getOrderByField(),
"addNum", orderByFieldMap));
Map<String, Object> res = DataApiUtils.http(paramJson.toJSONString(), StatisticsApolloKeyConstant.data_haoban_link_detail);
Page<JSONObject> page = DataApiUtils.getPageData(res) ;
List<LinkDataExcelVO> voList = new ArrayList<>();
if (null != page && CollectionUtils.isNotEmpty(page.getResult())) {
for(JSONObject jsonObject : page.getResult()) {
LinkDataExcelVO vo = JSONObject.parseObject(jsonObject.toJSONString(),LinkDataExcelVO.class) ;
voList.add(vo) ;
}
}
return voList;
}
@Override
public List<String> getColumnNames() {
return Arrays.asList();
}
@Override
public List<String> getColumnNames(Context context) {
return Arrays.asList("导购名称", "导购code" , "门店名称", "门店code", "新增总人数","今日新增人数","今日已达上限");
}
@Override
public List<String> getColumns(Context context) {
return Arrays.asList("clerkName", "clerkCode", "storeName", "storeCode","addNumT","addNum","overFlag");
}
@Override
public LinkedHashMap<String, List<String>> doubleColumnNames() {
return null;
}
@Override
public List<String> getColumns() {
return Arrays.asList();
}
}
package com.gic.haoban.manage.web.controller.moment;
import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.DateUtil;
import com.gic.commons.util.EntityUtil;
import com.gic.enterprise.api.dto.EnterpriseDTO;
import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.service.StoreService;
import com.gic.haoban.manage.api.dto.moment.QwMomentPlanAttendDTO;
import com.gic.haoban.manage.api.dto.moment.QwMomentPlanDTO;
import com.gic.haoban.manage.api.qdto.moment.PlanClerkListQDTO;
import com.gic.haoban.manage.api.qdto.moment.PlanDataListQDTO;
import com.gic.haoban.manage.api.qdto.moment.QwMomentPlanQDTO;
import com.gic.haoban.manage.api.service.moment.QwMomentApiService;
import com.gic.haoban.manage.web.vo.moment.MomentClerkExcelVO;
import com.gic.haoban.manage.web.vo.moment.MomentPlanExcelVO;
import com.gic.web.common.download.DownloadHandlerAbstract;
import com.gic.web.common.download.context.Context;
import org.apache.commons.collections.CollectionUtils;
......@@ -37,9 +32,8 @@ public class MomentClerkExcelHandler extends DownloadHandlerAbstract<MomentClerk
@Override
public List<MomentClerkExcelVO> getData(Context context, String json, Integer currentPage) {
PlanClerkListQDTO qdto = JSON.parseObject(json, PlanClerkListQDTO.class);
BasePageInfo pageInfo = new BasePageInfo() ;
pageInfo.setPageSize(this.getPageSize());
pageInfo.setPageNum(currentPage);
qdto.setPageSize(this.getPageSize());
qdto.setPageNum(currentPage);
ServiceResponse<QwMomentPlanDTO> detaiResp = this.qwMomentApiService.detail(qdto.getPlanId()) ;
boolean isEnd = detaiResp.getResult().getStatusFlag()==2 || detaiResp.getResult().getEndDate().getTime()<System.currentTimeMillis() ;
ServiceResponse<Page<QwMomentPlanAttendDTO>> pageResp = this.qwMomentApiService.attendList(qdto);
......
package com.gic.haoban.manage.web.controller.moment;
import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.DateUtil;
import com.gic.commons.util.EntityUtil;
import com.gic.enterprise.api.dto.EnterpriseDTO;
import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.service.StoreService;
import com.gic.haoban.manage.api.dto.moment.QwMomentPlanDTO;
import com.gic.haoban.manage.api.dto.moment.QwMomentPlanDataDTO;
import com.gic.haoban.manage.api.qdto.moment.PlanDataListQDTO;
import com.gic.haoban.manage.api.qdto.moment.QwMomentPlanQDTO;
import com.gic.haoban.manage.api.service.moment.QwMomentApiService;
import com.gic.haoban.manage.web.vo.moment.MomentDataExcelVO;
import com.gic.haoban.manage.web.vo.moment.MomentPlanExcelVO;
import com.gic.haoban.manage.web.vo.moment.QwMomentPlanDataVO;
import com.gic.member.api.dto.es.MemberDataDTO;
import com.gic.web.common.download.DownloadHandlerAbstract;
import com.gic.web.common.download.context.Context;
......@@ -43,9 +37,8 @@ public class MomentDataExcelHandler extends DownloadHandlerAbstract<MomentDataEx
@Override
public List<MomentDataExcelVO> getData(Context context, String json, Integer currentPage) {
PlanDataListQDTO qdto = JSON.parseObject(json, PlanDataListQDTO.class);
BasePageInfo pageInfo = new BasePageInfo() ;
pageInfo.setPageSize(this.getPageSize());
pageInfo.setPageNum(currentPage);
qdto.setPageSize(this.getPageSize());
qdto.setPageNum(currentPage);
ServiceResponse<Page<QwMomentPlanDataDTO>> pageResp = this.qwMomentApiService.dataList(qdto);
List<MomentDataExcelVO> voList = new ArrayList<>();
if (null != pageResp && CollectionUtils.isNotEmpty(pageResp.getResult().getResult())) {
......
package com.gic.haoban.manage.web.controller.moment;
import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil;
import com.gic.enterprise.api.dto.EnterpriseDTO;
import com.gic.haoban.manage.api.dto.moment.QwMomentPlanDTO;
import com.gic.haoban.manage.api.qdto.moment.QwMomentPlanQDTO;
import com.gic.haoban.manage.api.service.moment.QwMomentApiService;
......@@ -30,9 +28,8 @@ public class MomentPlanExcelHandler extends DownloadHandlerAbstract<MomentPlanE
@Override
public List<MomentPlanExcelVO> getData(Context context, String json, Integer currentPage) {
QwMomentPlanQDTO qdto = JSON.parseObject(json, QwMomentPlanQDTO.class);
BasePageInfo pageInfo = new BasePageInfo() ;
pageInfo.setPageSize(this.getPageSize());
pageInfo.setPageNum(currentPage);
qdto.setPageSize(this.getPageSize());
qdto.setPageNum(currentPage);
ServiceResponse<Page<QwMomentPlanDTO>> pageResp = this.qwMomentApiService.planList(qdto);
List<MomentPlanExcelVO> voList = new ArrayList<>();
if (null != pageResp && CollectionUtils.isNotEmpty(pageResp.getResult().getResult())) {
......
......@@ -4,7 +4,6 @@ import cn.hutool.core.date.DatePattern;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.JSONResponse;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
......@@ -441,9 +440,8 @@ public class QwMomentController {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
qdto.setWxEnterpriseId(loginUser.getWxEnterpriseId());
qdto.setEnterpriseId(loginUser.getEnterpriseId());
BasePageInfo basePageInfo = new BasePageInfo();
basePageInfo.setPageNum(1);
basePageInfo.setPageSize(1);
qdto.setPageNum(1);
qdto.setPageSize(1);
ServiceResponse<Page<QwMomentPlanDataDTO>> pageResp = this.qwMomentApiService.dataList(qdto);
final int totalCount = pageResp.getResult().getTotalCount();
if (totalCount == 0) {
......@@ -498,9 +496,8 @@ public class QwMomentController {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
qdto.setWxEnterpriseId(loginUser.getWxEnterpriseId());
qdto.setEnterpriseId(loginUser.getEnterpriseId());
BasePageInfo basePageInfo = new BasePageInfo();
basePageInfo.setPageNum(1);
basePageInfo.setPageSize(1);
qdto.setPageNum(1);
qdto.setPageSize(1);
ServiceResponse<Page<QwMomentPlanDTO>> pageResp = this.qwMomentApiService.planList(qdto);
final int totalCount = pageResp.getResult().getTotalCount();
if (totalCount == 0) {
......@@ -553,9 +550,8 @@ public class QwMomentController {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
qdto.setWxEnterpriseId(loginUser.getWxEnterpriseId());
qdto.setEnterpriseId(loginUser.getEnterpriseId());
BasePageInfo basePageInfo = new BasePageInfo();
basePageInfo.setPageNum(1);
basePageInfo.setPageSize(1);
qdto.setPageNum(1);
qdto.setPageSize(1);
ServiceResponse<Page<QwMomentPlanAttendDTO>> pageResp = this.qwMomentApiService.attendList(qdto);
final int totalCount = pageResp.getResult().getTotalCount();
if (totalCount == 0) {
......
......@@ -213,7 +213,13 @@ public class WechatWorkOverviewController extends NewBaseController {
task.setSearchDataParams(jsonObject.toJSONString());
task.setHandler(wechatWorkOverviewStoreGroupHandle);
JSONResponse downloadTask = DownloadTaskUtil.createDownloadTask(task);
return RestResponse.successResult(downloadTask.getResult());
final String reportId;
if (downloadTask.isSuccess()) {
reportId = (String) downloadTask.getResult();
} else {
return RestResponse.failure("9999", downloadTask.getErrorMessage());
}
return RestResponse.successResult(reportId);
}
private AuthorizedUser getUserInfo() {
......
package com.gic.haoban.manage.web.vo.chat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.gic.web.common.jsonSeralizer.CardNoJsonSeralizer;
import com.gic.web.common.jsonSeralizer.PhoneNumberJsonSeralizer;
import com.gic.web.common.jsonSeralizer.UserNameJsonSeralizer;
import java.io.Serializable;
/**
......@@ -30,6 +35,67 @@ public class GroupChatUserExcelVO implements Serializable {
private String sceneExcel;
private String addTimeExcel;
private String memberId ;
private String memberNick ;
@JsonSerialize(using = UserNameJsonSeralizer.class)
private String memberName ;
@JsonSerialize(using = PhoneNumberJsonSeralizer.class)
private String memberPhone ;
@JsonSerialize(using = CardNoJsonSeralizer.class)
private String memberCard;
/**
* 1:非会员 2:会员已注销 3:正常
*/
private Integer memberScene;
public Integer getMemberScene() {
return memberScene;
}
public void setMemberScene(Integer memberScene) {
this.memberScene = memberScene;
}
public String getMemberId() {
return memberId;
}
public void setMemberId(String memberId) {
this.memberId = memberId;
}
public String getMemberNick() {
return memberNick;
}
public void setMemberNick(String memberNick) {
this.memberNick = memberNick;
}
public String getMemberName() {
return memberName;
}
public void setMemberName(String memberName) {
this.memberName = memberName;
}
public String getMemberPhone() {
return memberPhone;
}
public void setMemberPhone(String memberPhone) {
this.memberPhone = memberPhone;
}
public String getMemberCard() {
return memberCard;
}
public void setMemberCard(String memberCard) {
this.memberCard = memberCard;
}
public String getUserTypeExcel() {
return userTypeExcel;
......
package com.gic.haoban.manage.web.vo.chat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.gic.web.common.jsonSeralizer.CardNoJsonSeralizer;
import com.gic.web.common.jsonSeralizer.PhoneNumberJsonSeralizer;
import com.gic.web.common.jsonSeralizer.UserNameJsonSeralizer;
import java.io.Serializable;
public class GroupChatUserQuitExcelVO implements Serializable {
/**1企业成员2外部联系人3客户*/
private String userTypeExcel;
/**姓名*/
private String userName;
/**昵称*/
private String nickName;
/**用户退群时间*/
private String userQuitTimeExcel;
private String chatName ;
private String staffName ;
private String quitStaffStore ;
private String memberId ;
private String memberNick ;
@JsonSerialize(using = UserNameJsonSeralizer.class)
private String memberName ;
@JsonSerialize(using = PhoneNumberJsonSeralizer.class)
private String memberPhone ;
@JsonSerialize(using = CardNoJsonSeralizer.class)
private String memberCard;
private Integer memberScene ;
public String getUserTypeExcel() {
return userTypeExcel;
}
public void setUserTypeExcel(String userTypeExcel) {
this.userTypeExcel = userTypeExcel;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getUserQuitTimeExcel() {
return userQuitTimeExcel;
}
public void setUserQuitTimeExcel(String userQuitTimeExcel) {
this.userQuitTimeExcel = userQuitTimeExcel;
}
public String getChatName() {
return chatName;
}
public void setChatName(String chatName) {
this.chatName = chatName;
}
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
public String getQuitStaffStore() {
return quitStaffStore;
}
public void setQuitStaffStore(String quitStaffStore) {
this.quitStaffStore = quitStaffStore;
}
public String getMemberId() {
return memberId;
}
public void setMemberId(String memberId) {
this.memberId = memberId;
}
public String getMemberNick() {
return memberNick;
}
public void setMemberNick(String memberNick) {
this.memberNick = memberNick;
}
public String getMemberName() {
return memberName;
}
public void setMemberName(String memberName) {
this.memberName = memberName;
}
public String getMemberPhone() {
return memberPhone;
}
public void setMemberPhone(String memberPhone) {
this.memberPhone = memberPhone;
}
public String getMemberCard() {
return memberCard;
}
public void setMemberCard(String memberCard) {
this.memberCard = memberCard;
}
public Integer getMemberScene() {
return memberScene;
}
public void setMemberScene(Integer memberScene) {
this.memberScene = memberScene;
}
}
package com.gic.haoban.manage.web.vo.hm;
import java.io.Serializable;
public class LinkDataExcelVO implements Serializable {
private Integer addNum ;
private Integer addNumT ;
private String clerkCode ;
private String clerkId ;
private String clerkName ;
private String enterpriseId ;
private Long linkId ;
private String overFlag ;
private String storeCode ;
private String storeName ;
public Integer getAddNum() {
return addNum;
}
public void setAddNum(Integer addNum) {
this.addNum = addNum;
}
public Integer getAddNumT() {
return addNumT;
}
public void setAddNumT(Integer addNumT) {
this.addNumT = addNumT;
}
public String getClerkCode() {
return clerkCode;
}
public void setClerkCode(String clerkCode) {
this.clerkCode = clerkCode;
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public String getClerkName() {
return clerkName;
}
public void setClerkName(String clerkName) {
this.clerkName = clerkName;
}
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public Long getLinkId() {
return linkId;
}
public void setLinkId(Long linkId) {
this.linkId = linkId;
}
public String getOverFlag() {
return overFlag;
}
public void setOverFlag(String overFlag) {
this.overFlag = overFlag;
}
public String getStoreCode() {
return storeCode;
}
public void setStoreCode(String storeCode) {
this.storeCode = storeCode;
}
public String getStoreName() {
return storeName;
}
public void setStoreName(String storeName) {
this.storeName = storeName;
}
}
......@@ -255,7 +255,13 @@ public class MaterialDataStaticsController {
task.setSearchDataParams(JSONObject.toJSONString(materialStatisticsBaseQO));
task.setHandler(materialClerkUsedDataHandler);
JSONResponse downloadTask = DownloadTaskUtil.createDownloadTask(task);
return RestResponse.successResult(downloadTask.getResult());
final String reportId;
if (downloadTask.isSuccess()) {
reportId = (String) downloadTask.getResult();
} else {
return RestResponse.failure("9999", downloadTask.getErrorMessage());
}
return RestResponse.successResult(reportId);
}
/**
......@@ -320,7 +326,13 @@ public class MaterialDataStaticsController {
task.setSearchDataParams(JSONObject.toJSONString(materialStatisticsBaseQO));
task.setHandler(materialStoreUsedDataHandler);
JSONResponse downloadTask = DownloadTaskUtil.createDownloadTask(task);
return RestResponse.successResult(downloadTask.getResult());
final String reportId;
if (downloadTask.isSuccess()) {
reportId = (String) downloadTask.getResult();
} else {
return RestResponse.failure("9999", downloadTask.getErrorMessage());
}
return RestResponse.successResult(reportId);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment