Commit 189ea04f by songyinghui

Merge remote-tracking branch 'origin/master' into feature-wm

# Conflicts:
#	haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/content/adaptor/MessageConvertHelper.java
#	haoban-manage3-wx/src/main/webapp/WEB-INF/dubbo-haoban-manage-wx.xml
parents 8eee6fe9 f6f42577
...@@ -28,6 +28,8 @@ public enum NoticeMessageTypeEnum { ...@@ -28,6 +28,8 @@ public enum NoticeMessageTypeEnum {
TASK_TRANS(2010, "话务任务通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "task_trans", "/pages/route/index?pageType=", "hbapp_task_list_new", "TelServiceTaskByStoreManage", "haobanNotice"), TASK_TRANS(2010, "话务任务通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "task_trans", "/pages/route/index?pageType=", "hbapp_task_list_new", "TelServiceTaskByStoreManage", "haobanNotice"),
PERFORMANCE_TASK_UPDATE(2011, "指标任务变更通知", NoticeMessageCategoryTypeEnum.TASK.getType(), "performance_task_update", "/pages/route/index?pageType=", "hbapp_task_kpi_detail", "targetTaskByUpdate", "haobanNotice"),
STORE_ACCOUNT(3001, "账号申请", NoticeMessageCategoryTypeEnum.OTHER.getType(), "store_account", "/pages/route/index?pageType=", "store_relate_store_record_list", "accountApplication", "haobanNotice"), STORE_ACCOUNT(3001, "账号申请", NoticeMessageCategoryTypeEnum.OTHER.getType(), "store_account", "/pages/route/index?pageType=", "store_relate_store_record_list", "accountApplication", "haobanNotice"),
// //
......
...@@ -2,6 +2,8 @@ package com.gic.haoban.manage.api.service; ...@@ -2,6 +2,8 @@ package com.gic.haoban.manage.api.service;
import com.gic.haoban.manage.api.dto.CommonMQDTO; import com.gic.haoban.manage.api.dto.CommonMQDTO;
import java.util.List;
/** /**
* *
* @ClassName: HaobanCommonMQApiService * @ClassName: HaobanCommonMQApiService
...@@ -20,4 +22,8 @@ public interface HaobanCommonMQApiService { ...@@ -20,4 +22,8 @@ public interface HaobanCommonMQApiService {
public void welcomeMQ(String params) ; public void welcomeMQ(String params) ;
public void putToNoticeMemberMQ(String enterpriseId, List<String> memberIdList) ;
public void noticeMemberMQ(String params) ;
} }
...@@ -16,6 +16,8 @@ public interface StaffClerkRelationService { ...@@ -16,6 +16,8 @@ public interface StaffClerkRelationService {
boolean delBind(String clerkId, String optStaffId, int channelCode , String newClerkId , String wxEnterpriseId); boolean delBind(String clerkId, String optStaffId, int channelCode , String newClerkId , String wxEnterpriseId);
void delMemberQywxFlag(String enterpriseId, List<String> memberIds) ;
/** /**
* 解绑-删除绑定(门店级别) * 解绑-删除绑定(门店级别)
* *
......
...@@ -84,7 +84,7 @@ public class MessageConvertHelper { ...@@ -84,7 +84,7 @@ public class MessageConvertHelper {
String orderNumber = cuspJson.getString("order_number"); String orderNumber = cuspJson.getString("order_number");
interactRecordMessageBO.setOrderNumber(orderNumber); interactRecordMessageBO.setOrderNumber(orderNumber);
String runningUuid = jsonObject.getString("runningUuid"); String runningUuid = gpJson.getString("runningUuid");
interactRecordMessageBO.setBusinessUUId(runningUuid); interactRecordMessageBO.setBusinessUUId(runningUuid);
Long lastAccessTime = jsonObject.getLong("server_timestamp"); Long lastAccessTime = jsonObject.getLong("server_timestamp");
......
...@@ -89,8 +89,6 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService ...@@ -89,8 +89,6 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
private MemberApiService memberApiService; private MemberApiService memberApiService;
@Autowired @Autowired
private ClerkService clerkService; private ClerkService clerkService;
@Autowired
private RightService rightService;
@Override @Override
public List<StaffClerkRelationDTO> listBindCode(String wxEnterpriseId, String enterpriseId, Set<String> clerkCodeList) { public List<StaffClerkRelationDTO> listBindCode(String wxEnterpriseId, String enterpriseId, Set<String> clerkCodeList) {
...@@ -209,7 +207,8 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService ...@@ -209,7 +207,8 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
//删除 并设置主门店 //删除 并设置主门店
clerkMainStoreRelatedService.delMainStore(staffId, storeId, wxEnterpriseId); clerkMainStoreRelatedService.delMainStore(staffId, storeId, wxEnterpriseId);
//推入日志 //推入日志
delMemberQywxFlag(enterpriseId, memberIds); // delMemberQywxFlag(enterpriseId, memberIds);
this.haobanCommonMQApiService.putToNoticeMemberMQ(enterpriseId,memberIds);
} }
if(needFlush) { if(needFlush) {
logger.info("解绑自动刷新好友,staffId={}",staffId); logger.info("解绑自动刷新好友,staffId={}",staffId);
...@@ -222,7 +221,7 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService ...@@ -222,7 +221,7 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
} }
private void delMemberQywxFlag(String enterpriseId, List<String> memberIds) { public void delMemberQywxFlag(String enterpriseId, List<String> memberIds) {
for (String memberId : memberIds) { for (String memberId : memberIds) {
//解绑通知会员 //解绑通知会员
int count = externalClerkRelatedService.getCountByMemberId(memberId); int count = externalClerkRelatedService.getCountByMemberId(memberId);
...@@ -267,7 +266,8 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService ...@@ -267,7 +266,8 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
String enterpriseId = staffClerkRelation.getEnterpriseId(); String enterpriseId = staffClerkRelation.getEnterpriseId();
//删除好友通知会员 //删除好友通知会员
List<String> memberIds = externalClerkRelatedService.getByStoreIdAndStaffId(staffClerkRelation.getStoreId(), staffClerkRelation.getStaffId()); List<String> memberIds = externalClerkRelatedService.getByStoreIdAndStaffId(staffClerkRelation.getStoreId(), staffClerkRelation.getStaffId());
delMemberQywxFlag(enterpriseId, memberIds); // delMemberQywxFlag(enterpriseId, memberIds);
this.haobanCommonMQApiService.putToNoticeMemberMQ(enterpriseId,memberIds);
} }
List<String> need = needUnbind.stream().map(tab -> tab.getStaffClerkRelationId()).collect(Collectors.toList()); List<String> need = needUnbind.stream().map(tab -> tab.getStaffClerkRelationId()).collect(Collectors.toList());
......
package com.gic.haoban.manage.service.service.out.impl; package com.gic.haoban.manage.service.service.out.impl;
import java.util.List;
import java.util.Map; import java.util.Map;
import com.alibaba.fastjson.JSONArray;
import com.gic.haoban.manage.service.service.StaffClerkRelationService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
...@@ -35,6 +38,8 @@ public class HaobanCommonMQApiServiceImpl implements HaobanCommonMQApiService { ...@@ -35,6 +38,8 @@ public class HaobanCommonMQApiServiceImpl implements HaobanCommonMQApiService {
private WelcomeSendService welcomeSendService; private WelcomeSendService welcomeSendService;
@Autowired @Autowired
private MemberOpenCardBusinessService memberOpenCardBusinessService ; private MemberOpenCardBusinessService memberOpenCardBusinessService ;
@Autowired
private StaffClerkRelationService staffClerkRelationService ;
@Override @Override
public void putCommonMessage(CommonMQDTO dto) { public void putCommonMessage(CommonMQDTO dto) {
...@@ -106,4 +111,25 @@ public class HaobanCommonMQApiServiceImpl implements HaobanCommonMQApiService { ...@@ -106,4 +111,25 @@ public class HaobanCommonMQApiServiceImpl implements HaobanCommonMQApiService {
public void welcomeMQ(String params) { public void welcomeMQ(String params) {
this.welcomeSendService.sendWelcome(params); this.welcomeSendService.sendWelcome(params);
} }
@Override
public void noticeMemberMQ(String params) {
log.info("通知会员企微标识={}",params);
JSONObject json = JSONObject.parseObject(params) ;
String enterpriseId = json.getString("enterpriseId") ;
List<String> memberIdList = JSONArray.parseArray(json.getString("memberIdList"),String.class) ;
this.staffClerkRelationService.delMemberQywxFlag(enterpriseId,memberIdList) ;
}
@Override
public void putToNoticeMemberMQ(String enterpriseId, List<String> memberIdList) {
JSONObject json = new JSONObject() ;
json.put("enterpriseId",enterpriseId) ;
json.put("memberIdList",memberIdList) ;
try {
mqClient.sendMessage("haobanNoticeMemberMQ", json.toJSONString());
} catch (Exception e) {
log.error("发送MQ异常");
}
}
} }
package com.gic.haoban.manage.service.service.out.impl; package com.gic.haoban.manage.service.service.out.impl;
import java.util.ArrayList; import java.util.*;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -1520,7 +1513,17 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -1520,7 +1513,17 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
pojo.setEnterpriseId(enterpriseId); pojo.setEnterpriseId(enterpriseId);
GicMQClient clientInstance = GICMQClientUtil.getClientInstance(); GicMQClient clientInstance = GICMQClientUtil.getClientInstance();
try { try {
clientInstance.sendMessage("qywxTagSyncDeal", JSONObject.toJSONString(pojo)); int delay = 0 ;
// 美邦要延迟处理
if(Arrays.asList("ff8080815dacd3a2015dacd3ef5c0000",
"ff8080817a3e9738017a803e348c5bef",
"ff8080817a3e96a4017a796c7947641b",
"ff80808179f15903017a13f03b953d8c",
"ff80808179f15878017a142445d644ee").contains(enterpriseId)) {
delay = 90 ;
log.info("美邦延迟处理");
}
clientInstance.sendMessage("qywxTagSyncDeal", JSONObject.toJSONString(pojo),delay);
} catch (Exception e) { } catch (Exception e) {
log.info("异常:{}", e); log.info("异常:{}", e);
} }
......
...@@ -10,5 +10,5 @@ ...@@ -10,5 +10,5 @@
<import resource="classpath:dubbo-setting-test.xml"/> <import resource="classpath:dubbo-setting-test.xml"/>
<import resource="classpath:jdbc-haoban-manage-service.xml" /> <import resource="classpath:jdbc-haoban-manage-service.xml" />
<import resource="classpath*:log-record-init.xml" /> <import resource="classpath*:log-record-init.xml" />
<!-- <import resource="classpath*:kafka-setting-data.xml" />--> <import resource="classpath*:kafka-setting-data.xml" />
</beans> </beans>
\ No newline at end of file
...@@ -170,14 +170,14 @@ ...@@ -170,14 +170,14 @@
<if test="null != searchParams"> <if test="null != searchParams">
and b.name like #{searchParams} and b.name like #{searchParams}
</if> </if>
<if test="1==clerkTaskStatus"> <if test="1==clerkTaskStatus">
and b.end_time > now() and b.end_time > now()
</if> </if>
<if test="2==clerkTaskStatus"> <if test="2==clerkTaskStatus">
and b.end_time <![CDATA[<=]]> now() and b.end_time <![CDATA[<=]]> now()
</if> </if>
group by b.plan_id group by b.plan_id
order by b.end_time desc , a.create_time desc order by b.end_time desc , a.create_time desc
</select> </select>
<select id="listOwnerLogPageForWxa" parameterType="com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO" resultType="com.gic.haoban.manage.api.dto.chat.GroupChatPlanOwnerLogDTO"> <select id="listOwnerLogPageForWxa" parameterType="com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO" resultType="com.gic.haoban.manage.api.dto.chat.GroupChatPlanOwnerLogDTO">
......
...@@ -509,13 +509,13 @@ public class TestController extends WebBaseController { ...@@ -509,13 +509,13 @@ public class TestController extends WebBaseController {
return "wu" ; return "wu" ;
} }
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
String url = dto.getUrlHost() ; String url = dto.getUrlHost().split("#")[0] ;
String cop = dto.getWxCorpid() ; String cop = dto.getWxCorpid() ;
SecretSettingDTO s = this.secretSettingApiService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.SELF_APP.getVal()) ; SecretSettingDTO s = this.secretSettingApiService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.SELF_APP.getVal()) ;
String token = this.qywxCorpApiService.getToken(cop, s.getSecretVal()) ; String token = this.qywxCorpApiService.getToken(cop, s.getSecretVal()) ;
String ip = url.replace("http://", "").replace(":8960","").replace(":8990","") ; String ip = dto.getUrlHost().split("#")[1] ;
String selfUrl = "https://qyapi.weixin.qq.com/cgi-bin/externalcontact/get_corp_tag_list?access_token=" + token; String selfUrl = "https://qyapi.weixin.qq.com/cgi-bin/externalcontact/get_corp_tag_list?access_token=" + token;
url = url+"/api-qywx-self/qywx/self-post?ip=" + ip + "&url=" url = url+"/api-qywx-self/qywx/self-post?ip=" + ip + "&url="
+ URLEncoder.encode(selfUrl, "utf-8"); + URLEncoder.encode(selfUrl, "utf-8");
......
...@@ -363,7 +363,7 @@ public class WxStaffController extends WebBaseController { ...@@ -363,7 +363,7 @@ public class WxStaffController extends WebBaseController {
} }
@RequestMapping("/staff-add-json") @RequestMapping("/staff-add-json")
public HaobanResponse staffAdd(StaffAddVO vo) { public HaobanResponse staffAdd(@RequestBody StaffAddVO vo) {
logger.info(JSONObject.toJSONString(vo)); logger.info(JSONObject.toJSONString(vo));
StaffDTO staffDTO = EntityUtil.changeEntityByJSON(StaffDTO.class,vo) ; StaffDTO staffDTO = EntityUtil.changeEntityByJSON(StaffDTO.class,vo) ;
String storeId = vo.getStoreId() ; String storeId = vo.getStoreId() ;
......
package com.gic.haoban.manage.web.qo; package com.gic.haoban.manage.web.qo;
import com.gic.haoban.manage.api.dto.DepartmentDTO;
import com.gic.haoban.manage.api.dto.StaffDTO; import com.gic.haoban.manage.api.dto.StaffDTO;
public class StaffAddVO extends StaffDTO { import java.io.Serializable;
import java.util.Date;
import java.util.List;
public class StaffAddVO implements Serializable {
/**
* 员工id
*/
private String staffId;
/**
* 企业微信id
*/
private String wxEnterpriseId;
/**
* 手机号
*/
private String phoneNumber;
/**
* 员工姓名
*/
private String staffName;
/**
* 国家码
*/
private String nationCode;
/**
* 昵称
*/
private String nickName;
/**
* 性别
*/
private Integer sex;
/**
* 职位
*/
private String postion;
private String clerkCode;
private int clerkType;
private String clerkId;
private String storeId ; private String storeId ;
private String clerkCode ;
private String commitName ; private String commitName ;
private Integer version ; private Integer version ;
@Override public String getStaffId() {
public String getStoreId() { return staffId;
return storeId;
} }
@Override public void setStaffId(String staffId) {
public void setStoreId(String storeId) { this.staffId = staffId;
this.storeId = storeId; }
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
public String getNationCode() {
return nationCode;
}
public void setNationCode(String nationCode) {
this.nationCode = nationCode;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public Integer getSex() {
return sex;
}
public void setSex(Integer sex) {
this.sex = sex;
}
public String getPostion() {
return postion;
}
public void setPostion(String postion) {
this.postion = postion;
} }
@Override
public String getClerkCode() { public String getClerkCode() {
return clerkCode; return clerkCode;
} }
@Override
public void setClerkCode(String clerkCode) { public void setClerkCode(String clerkCode) {
this.clerkCode = clerkCode; this.clerkCode = clerkCode;
} }
public int getClerkType() {
return clerkType;
}
public void setClerkType(int clerkType) {
this.clerkType = clerkType;
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public String getStoreId() {
return storeId;
}
public void setStoreId(String storeId) {
this.storeId = storeId;
}
public String getCommitName() { public String getCommitName() {
return commitName; return commitName;
} }
......
package com.gic.haoban.manage.web.qo.data;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Author guojx
* @Date 2023/9/27 11:13
*/
@Data
public class DataIndexExplainVO implements Serializable {
private String id;
private String indexCode;
private String indexName;
private String indexExplain;
/**
* 前端使用:指标说明:若指标注释中有需要说明的
*/
private List<String> indexRemarkList;
/**
* 前端使用:指标例子
*/
private List<String> indexExampleList;
/**
* 指标说明:若指标注释中有需要说明的,英文分号隔开,可能多个。
*/
private String indexRemark;
/**
* 指标例子: 英文分号隔开,可能多个
*/
private String indexExample;
/**
* yapi文档上的驼峰字段名称
*/
private String apiColName;
public List<String> getIndexRemarkList() {
if (StringUtils.isNotBlank(indexRemark)) {
return Arrays.stream(indexRemark.split(";")).collect(Collectors.toList());
}
return indexRemarkList;
}
public List<String> getIndexExampleList() {
if (StringUtils.isNotBlank(indexExample)) {
return Arrays.stream(indexExample.split(";")).collect(Collectors.toList());
}
return indexExampleList;
}
}
package com.gic.haoban.manage.web.qo.data;
import lombok.Data;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2023/9/27 11:06
*/
@Data
public class DataIndexQO implements Serializable {
/**
* 指标code
*/
private String indexCode;
/**
* 指标名称
*/
private String indexName;
/**
* 0:不满意 1:满意
*/
private Integer indexEvaluate;
/**
* 不满意原因
*/
private String reason;
/**
* 自定义原因
*/
private String customReason;
private String enterpriseId;
private String clerkId;
}
package com.gic.haoban.manage.web.qo.data;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Author guojx
* @Date 2023/11/24 12:21
*/
@Data
public class DataMemberExtendQO implements Serializable {
/**
* 门店查询参数. 区经可以为空,查询所有管辖门店
*/
private String storeId;
/**
* 企业ID.
*/
private String enterpriseId;
/**
* 微信企业
*/
private String wxEnterpriseId;
/**
* 如果是区经,用于查询管辖门店权限
*/
private String clerkId;
private String params;
/**
* 1:日 2:周 3:月 :4:自定义
*/
private Integer dateType;
/**
* 1:实时 0:离线
*/
private Integer realFlag;
/**
* 1:会员总数 2:新增会员
*/
private Integer totalMemberFlag;
/**
* 权限渠道范围
*/
private List<String> channelCodeList;
public boolean isReal() {
return realFlag != null && realFlag == 1;
}
public boolean isTotalMember() {
return totalMemberFlag != null && totalMemberFlag == 1;
}
}
package com.gic.haoban.manage.web.qo.data;
import lombok.Data;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2023/11/23 9:13
*/
@Data
public class HandleQO implements Serializable {
/**
* 组装的参数,JSON字符串.数据组提供的yapi文档上有.
* 注:门店参数storeId根据storeSelect参数计算
*/
private String params;
/**
* 数据组配置的接口key。数据组提供的yapi文档上有
*/
private String apolloKey;
/**
* 门店查询参数. 区经可以为空,查询所有管辖门店
*/
private String storeId;
/**
* 企业ID.
*/
private String enterpriseId;
/**
* 微信企业
*/
private String wxEnterpriseId;
/**
* 如果是区经,用于查询管辖门店权限
*/
private String clerkId;
}
package com.gic.haoban.manage.web.utils;
import com.alibaba.fastjson.JSONObject;
import com.gic.commons.util.DataApiUtils;
import lombok.extern.slf4j.Slf4j;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Map;
/**
* @Author guojx
* @Date 2023/11/29 10:49
*/
@Slf4j
public class DateFillUtils {
public static List<String> getDay(String date) {
List<String> dateList = new ArrayList<>();
try {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
calendar.setTime(df.parse(date));
calendar.add(Calendar.DATE, -29);
String temp = df.format(calendar.getTime());
while (temp.compareTo(date) <= 0) {
dateList.add(temp.substring(5));
calendar.add(Calendar.DATE, 1);
temp = df.format(calendar.getTime());
}
} catch (Exception e) {
log.error("时间匹配调整:{}", e.getMessage(), e);
}
return dateList;
}
public static List<String> getCustom(String start, String end) {
List<String> dateList = new ArrayList<>();
try {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
calendar.setTime(df.parse(start));
String temp = df.format(calendar.getTime());
while (temp.compareTo(end) <= 0) {
dateList.add(temp.substring(5));
calendar.add(Calendar.DATE, 1);
temp = df.format(calendar.getTime());
}
} catch (Exception e) {
log.error("时间匹配调整:{}", e.getMessage(), e);
}
return dateList;
}
public static List<String> getWeek(String date) {
List<String> dateList = new ArrayList<>();
try {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
calendar.setTime(df.parse(date));
calendar.add(Calendar.WEEK_OF_YEAR, -11);
String temp = df.format(calendar.getTime());
JSONObject jsonObject = new JSONObject();
jsonObject.put("pageNum", 1);
jsonObject.put("pageSize", 20);
jsonObject.put("startDate", temp);
jsonObject.put("endDate", date);
Map<String, Object> res = DataApiUtils.http(jsonObject.toJSONString(), "data_pub_date_week");
List<JSONObject> list = DataApiUtils.getPageList(res);
for (JSONObject json : list) {
dateList.add(json.getString("weekYear"));
}
log.info("week data:{}", list);
} catch (Exception e) {
log.error("时间匹配调整:{}", e.getMessage(), e);
}
return dateList;
}
public static List<String> getYear(String date) {
List<String> dateList = new ArrayList<>();
Integer year = Integer.parseInt(date);
Integer min = year - 11;
for (int i = min; i <= year; i++) {
dateList.add(i + "");
}
return dateList;
}
public static List<String> getMonth(String date) {
List<String> dateList = new ArrayList<>();
try {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM");
calendar.setTime(df.parse(date));
calendar.add(Calendar.MONTH, -11);
String temp = df.format(calendar.getTime());
while (temp.compareTo(date) <= 0) {
dateList.add(temp);
calendar.add(Calendar.MONTH, 1);
temp = df.format(calendar.getTime());
}
} catch (Exception e) {
log.error("时间匹配调整:{}", e.getMessage(), e);
}
return dateList;
}
public static void main(String[] args) {
log.info("" + JSONObject.toJSONString(getWeek("2023-11-27")));
}
}
package com.gic.haoban.manage.web.vo.data;
import lombok.Data;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2023/11/24 13:54
*/
@Data
public class DataMemberExtendVO implements Serializable {
private String channelCode;
/**
* 开卡会员
*/
private Integer openMbrNum;
/**
* 昨日开卡会员
*/
private Integer lastOpenMbrNum;
/**
* 关联会员
*/
private Integer relMbrNum;
/**
* 昨日关联会员
*/
private Integer lastRelMbrNum;
/**
* 关联会员环比
*/
private Double relMbrNumRatio;
/**
* 关联会员同比
*/
private Double relMbrNumSply;
/**
* 开卡会员环比
*/
private Double openMbrNumRatio;
/**
* 开卡会员同比
*/
private Double openMbrNumSply;
/**
* 1:服务门店
*/
private Integer serviceFlag;
}
...@@ -162,4 +162,9 @@ ...@@ -162,4 +162,9 @@
timeout="10000" retries="0" check="false"/> timeout="10000" retries="0" check="false"/>
<dubbo:reference interface="com.gic.content.api.service.ContentSettingApiService" id="contentSettingApiService" <dubbo:reference interface="com.gic.content.api.service.ContentSettingApiService" id="contentSettingApiService"
timeout="10000" retries="0" check="false"/> timeout="10000" retries="0" check="false"/>
<dubbo:reference id="dataIndexApiService" interface="com.gic.enterprise.api.service.data.DataIndexApiService" timeout="10000" retries="0" check="false" />
<dubbo:reference id="enterpriseChannelApiService" interface="com.gic.enterprise.api.service.EnterpriseChannelApiService" timeout="10000" retries="0" check="false"/>
</beans> </beans>
...@@ -37,7 +37,6 @@ ...@@ -37,7 +37,6 @@
<list> <list>
<value>text/html;charset=UTF-8</value> <value>text/html;charset=UTF-8</value>
<value>application/x-www-form-urlencoded;charset=UTF-8</value> <value>application/x-www-form-urlencoded;charset=UTF-8</value>
<value>text/plain;charset=UTF-8</value>
<!--默认是 iso-8859-1 --> <!--默认是 iso-8859-1 -->
</list> </list>
</property> </property>
......
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