Commit 90f12efc by 徐高华

朋友圈

parent ee5f8a18
......@@ -2,6 +2,7 @@ package com.gic.haoban.manage.web.controller.moment;
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;
......@@ -37,7 +38,13 @@ 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 com.gic.member.api.dto.es.MemberDataDTO;
import com.gic.qcloud.BucketNameEnum;
import com.gic.search.engine.api.constant.OperateEnum;
import com.gic.search.engine.api.dto.ESResponseQueryBatch;
import com.gic.search.engine.api.dto.dynamic.DynamicSearchDTO;
import com.gic.search.engine.api.filter.NewNodeAddUtil;
import com.gic.search.engine.api.service.dynamic.ESDataDynamicOperationApiService;
import com.gic.web.common.download.DownloadTask;
import com.gic.web.common.download.DownloadTaskUtil;
import com.gic.web.common.download.constants.TaskTypeEnum;
......@@ -54,10 +61,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -79,6 +83,8 @@ public class QwMomentController {
private MomentDataExcelHandler momentDataExcelHandler ;
@Autowired
private StoreService storeService ;
@Autowired
private ESDataDynamicOperationApiService esDataDynamicOperationApiService ;
/**
* 新建任务
......@@ -380,6 +386,7 @@ public class QwMomentController {
*/
@RequestMapping("data-list")
public RestResponse<Page<QwMomentPlanDataVO>> dataList(@RequestBody PlanDataListQO qo) {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
PlanDataListQDTO qdto = EntityUtil.changeEntityByJSON(PlanDataListQDTO.class,qo) ;
ServiceResponse<Page<QwMomentPlanDataDTO>> resp = this.qwMomentApiService.dataList(qdto) ;
Page<QwMomentPlanDataVO> retPage = PageHelperUtils.changePageToCurrentPage(resp.getResult(), QwMomentPlanDataVO.class);
......@@ -394,6 +401,22 @@ public class QwMomentController {
vo.setStoreCode(store.getStoreCode());
}
}
List<String> memberIdList = list.stream().map(o->o.getMemberId()).collect(Collectors.toList());
Map<String,MemberDataDTO> map = this.getMemberMap(loginUser.getEnterpriseId(),memberIdList) ;
for (QwMomentPlanDataVO vo : list) {
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.setMemberImage(data.getDefineHeadImg());
vo.setMemberPhone(data.getPhoneNumber());
vo.setMemberScene(3);
}
}
}
return RestResponse.successResult(retPage);
}
......@@ -563,4 +586,38 @@ public class QwMomentController {
return RestResponse.successResult(reportId);
}
public Map<String,MemberDataDTO> getMemberMap(String enterpriseId, List<String> memberIdList) {
String returnFields = "memberId,mainStoreId,mainClerkId,openStoreId,openClerkId,name,nickName,phoneNumber,photoUrl,cardNo";
List<JSONObject> esList = this.queryDataBatch(enterpriseId, memberIdList, returnFields);
if(CollectionUtils.isEmpty(esList)) {
logger.info("会员查询无");
return null ;
}
logger.info("会员信息={}",JSONObject.toJSONString(esList));
List<MemberDataDTO> list = JSONArray.parseArray(JSONArray.toJSONString(esList),MemberDataDTO.class);
Map<String,MemberDataDTO> map = list.stream().collect(Collectors.toMap(o->o.getMemberId(),o->o,(k1,k2)->k1));
if(null == map) {
map = new HashMap<>() ;
}
return map;
}
public List<JSONObject> queryDataBatch(String enterpriseId, List<String> memberIdList, String returnFields) {
DynamicSearchDTO search = new DynamicSearchDTO();
search.setEnterpriseId(enterpriseId);
search.setColumnCategoryCode("member");
String memberIds = String.join(" ", memberIdList);
JSONObject searchObj = new JSONObject();
searchObj = NewNodeAddUtil.addNewNodeForAnd("memberId", OperateEnum.OPERATE_CONTAIN.getValue(), memberIds,
searchObj);
search.setSearchJson(searchObj);
search.setReturnFileds(returnFields);
search.setSortJson(NewNodeAddUtil.createSortNode("memberId", NewNodeAddUtil.SORT_RULE_ASC));
search.setBegin(0);
search.setRecordNumber(memberIdList.size());
ESResponseQueryBatch response = this.esDataDynamicOperationApiService.queryDataBatch(search, Boolean.FALSE,
null);
return response.getRes();
}
}
......@@ -24,6 +24,7 @@ import com.gic.haoban.manage.web.vo.moment.PlanClerkListVO;
import com.gic.haoban.manage.web.vo.moment.PlanListVO;
import com.gic.haoban.manage.web.vo.moment.TaskDetailVO;
import com.gic.haoban.manage.web.vo.moment.TaskMaterialVO;
import com.gic.search.engine.api.service.dynamic.ESDataDynamicOperationApiService;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -147,4 +148,5 @@ public class QwMomentController {
this.qwMomentApiService.finishTask(qdto) ;
return RestResponse.successResult();
}
}
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