Commit 1f552878 by 墨竹
parents 2abd298c f92e3e97
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
<groupId>com.gic</groupId> <groupId>com.gic</groupId>
<artifactId>gic-pom-base</artifactId> <artifactId>gic-pom-base</artifactId>
<version>3.0-SNAPSHOT</version> <version>3.0-SNAPSHOT</version>
<relativePath/>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
......
package com.gic.haoban.manage.api.dto;
import java.io.Serializable;
import java.util.Date;
/**
*
* @author YongEn
* @date 2021-08-26 10:38:04
*/
public class OperationSettingDTO implements Serializable {
private static final long serialVersionUID = 6986750061550226819L;
/**
* 操作设置id
*/
private String settingId;
/**
* 企业微信id
*/
private String wxEnterpriseId;
/**
* 导购手机号是否必填 1 是 0 否
*/
private Integer clerkPhoneFlag;
/**
* 店长是否可编辑门店 1 是 0 否
*/
private Integer storeEditFlag;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 数据状态 1 正常 0 已删除
*/
private Integer statusFlag;
public String getSettingId() {
return settingId;
}
public void setSettingId(String settingId) {
this.settingId = settingId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public Integer getClerkPhoneFlag() {
return clerkPhoneFlag;
}
public void setClerkPhoneFlag(Integer clerkPhoneFlag) {
this.clerkPhoneFlag = clerkPhoneFlag;
}
public Integer getStoreEditFlag() {
return storeEditFlag;
}
public void setStoreEditFlag(Integer storeEditFlag) {
this.storeEditFlag = storeEditFlag;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Integer getStatusFlag() {
return statusFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
@Override
public String toString() {
return "OperationSettingDTO{" +
"settingId='" + settingId + '\'' +
", wxEnterpriseId='" + wxEnterpriseId + '\'' +
", clerkPhoneFlag=" + clerkPhoneFlag +
", storeEditFlag=" + storeEditFlag +
", createTime=" + createTime +
", updateTime=" + updateTime +
", statusFlag=" + statusFlag +
'}';
}
}
...@@ -6,7 +6,8 @@ package com.gic.haoban.manage.api.enums; ...@@ -6,7 +6,8 @@ package com.gic.haoban.manage.api.enums;
public enum AlertTypeEnum { public enum AlertTypeEnum {
QYWX_TAG_SYNC(1, "企微标签同步", null), QYWX_TAG_SYNC(1, "企微标签同步", null),
QUNFA_MESSAGE(2, "企微群发", null), QUNFA_MESSAGE(2, "企微群发", null),
FRIEND_ADD(3, "企微好友添加", null),; FRIEND_ADD(3, "企微好友添加", null),
CLOUD_STORE_CHANGE(4, "观云台门店进回收站", null),;
private Integer type; private Integer type;
private String name; private String name;
private String dingUrl; private String dingUrl;
......
...@@ -21,7 +21,7 @@ public enum AppPageType { ...@@ -21,7 +21,7 @@ public enum AppPageType {
//分配会员 //分配会员
DISTRIBUTE_MEMBER(8, "hbapp_customer_distribute"), DISTRIBUTE_MEMBER(8, "hbapp_customer_distribute"),
//任务列表 //任务列表
TASK_LIST(9, "hbapp_task_list"), TASK_LIST(9, "hbapp_task_list_new"),
//商品详情 //商品详情
GOOD_DETAIL(10, "hbapp_commodity_detail"), GOOD_DETAIL(10, "hbapp_commodity_detail"),
//我的关联记录 //我的关联记录
...@@ -34,9 +34,9 @@ public enum AppPageType { ...@@ -34,9 +34,9 @@ public enum AppPageType {
FACE_ARRIVAL(14, "hbapp_customer_bind_faceId"), FACE_ARRIVAL(14, "hbapp_customer_bind_faceId"),
//完善标签 //完善标签
PERFECT_TAG(15, "hbapp_customer_edit_tag"), PERFECT_TAG(15, "hbapp_customer_edit_tag"),
//销售线索任务列表 //销售线索任务列表(hbapp_sales_lead_main废弃,改为新的hbapp_marketing_task_list)
MARKET_CLUE_TASK(16, "hbapp_sales_lead_main"), MARKET_CLUE_TASK(16, "hbapp_marketing_task_list"),
//话务任务逾期提醒 //话务任务
TEL_WITHIN_TIME_LIMIT(17, "hbapp_marketing_task_list"), TEL_WITHIN_TIME_LIMIT(17, "hbapp_marketing_task_list"),
; ;
......
...@@ -40,4 +40,14 @@ public enum ChannelCodeEnum { ...@@ -40,4 +40,14 @@ public enum ChannelCodeEnum {
public void setName(String name) { public void setName(String name) {
this.name = name; this.name = name;
} }
public static String getNameByCode(int code) {
ChannelCodeEnum[] values = ChannelCodeEnum.values();
for (ChannelCodeEnum channelCodeEnum : values) {
if (channelCodeEnum.getCode() == code) {
return channelCodeEnum.getName();
}
}
return null;
}
} }
package com.gic.haoban.manage.api.service;
import com.gic.haoban.manage.api.dto.OperationSettingDTO;
/**
* desc:操作设置对外服务
*
* @author: YongEn
* @date: 2021/8/26
**/
public interface OperationSettingApiService {
/**
* 保存设置
*
* @param dto dto
*/
void saveOrUpdate(OperationSettingDTO dto);
/**
* 根据企业微信id查询
*
* @param wxEnterpriseId 企业微信id
* @return dto
*/
OperationSettingDTO getByWxEnterpriseId(String wxEnterpriseId);
}
...@@ -24,6 +24,7 @@ public interface StaffClerkRelationApiService { ...@@ -24,6 +24,7 @@ public interface StaffClerkRelationApiService {
/** /**
* 根据staffid 获取列表 * 根据staffid 获取列表
*
* @param staffId * @param staffId
* @return * @return
*/ */
...@@ -39,16 +40,16 @@ public interface StaffClerkRelationApiService { ...@@ -39,16 +40,16 @@ public interface StaffClerkRelationApiService {
StaffClerkRelationDTO getByCodeAndEnterpriseId(String clerkCode, String enterpriseId); StaffClerkRelationDTO getByCodeAndEnterpriseId(String clerkCode, String enterpriseId);
void delAndInsert(StaffClerkRelationDTO staffClerkRelation, String optStaffId, int chanelCode);
void delAndInsert(StaffClerkRelationDTO staffClerkRelation,String optStaffId,int chanelCode);
/** /**
* 解绑 * 解绑
*
* @param storeId * @param storeId
* @param clerkCode * @param clerkCode
* @return * @return
*/ */
String delByStoreIdAndCode(String storeId,String clerkCode); String delByStoreIdAndCode(String storeId, String clerkCode);
StaffClerkRelationDTO getOneByClerkId(String clerkId); StaffClerkRelationDTO getOneByClerkId(String clerkId);
...@@ -57,41 +58,47 @@ public interface StaffClerkRelationApiService { ...@@ -57,41 +58,47 @@ public interface StaffClerkRelationApiService {
/** /**
* 导购列表 * 导购列表
*
* @param storeId * @param storeId
* @return * @return
*/ */
List<StaffClerkRelationDTO>listByStoreId(String storeId); List<StaffClerkRelationDTO> listByStoreId(String storeId);
/** /**
* 解绑 * 解绑
*
* @param staffId 操作人 * @param staffId 操作人
* @param clerkId * @param clerkId
* @return * @return
*/ */
boolean unbindByStaffAndClerkId(String staffId,String clerkId); boolean unbindByStaffAndClerkId(String staffId, String clerkId);
/** /**
* 查询导购信息 * 查询导购信息
*
* @param clerkId * @param clerkId
* @return * @return
*/ */
StaffClerkRelationDTO getOneByStoreIdAndStaffId(String storeId,String staffId); StaffClerkRelationDTO getOneByStoreIdAndStaffId(String storeId, String staffId);
/** /**
* 查询导购信息 * 查询导购信息
*
* @param clerkId * @param clerkId
* @return * @return
*/ */
StaffClerkRelationDTO getByClerkId(String clerkId); StaffClerkRelationDTO getByClerkId(String clerkId);
/** /**
*
* @param enterpriseId * @param enterpriseId
* @param wxUserId * @param wxUserId
* @return * @return
*/ */
List<StaffClerkRelationDTO> listByEnterpriseIdAndWxUserId(String enterpriseId,String wxUserId); List<StaffClerkRelationDTO> listByEnterpriseIdAndWxUserId(String enterpriseId, String wxUserId);
/** /**
* 删除关联关系 * 删除关联关系
*
* @param clerkId * @param clerkId
*/ */
void delByClerkId(String clerkId); void delByClerkId(String clerkId);
...@@ -108,6 +115,17 @@ public interface StaffClerkRelationApiService { ...@@ -108,6 +115,17 @@ public interface StaffClerkRelationApiService {
Page<StaffClerkBindLogDetailDTO> pageStaffClerkBindLog(String wxEnterpriseId, String search, String enterpriseId, int optType, BasePageInfo pageInfo); Page<StaffClerkBindLogDetailDTO> pageStaffClerkBindLog(String wxEnterpriseId, String search, String enterpriseId, int optType, BasePageInfo pageInfo);
/** /**
* 搜索解绑列表
*
* @param wxEnterpriseId
* @param clerkId
* @param enterpriseId
* @param pageInfo
* @return
*/
Page<StaffClerkBindLogDetailDTO> pageStaffClerkUnBindLog(String wxEnterpriseId, String clerkId, String enterpriseId, int optType, BasePageInfo pageInfo);
/**
* 追加到绑定日志 * 追加到绑定日志
* *
* @param staffId * @param staffId
...@@ -140,6 +158,7 @@ public interface StaffClerkRelationApiService { ...@@ -140,6 +158,7 @@ public interface StaffClerkRelationApiService {
/** /**
* 查询状态正常导购 * 查询状态正常导购
*
* @return * @return
*/ */
List<StaffClerkRelationDTO> listAll(); List<StaffClerkRelationDTO> listAll();
......
package com.gic.haoban.manage.api.service; package com.gic.haoban.manage.api.service;
import com.gic.haoban.manage.api.dto.StaffDepartmentRelatedDTO;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.gic.haoban.manage.api.dto.StaffDepartmentRelatedDTO;
public interface StaffDepartmentRelatedApiService { public interface StaffDepartmentRelatedApiService {
...@@ -31,12 +31,20 @@ public interface StaffDepartmentRelatedApiService { ...@@ -31,12 +31,20 @@ public interface StaffDepartmentRelatedApiService {
StaffDepartmentRelatedDTO getOneByStaffIdAndDepartmentId(String staffId, String departmentId); StaffDepartmentRelatedDTO getOneByStaffIdAndDepartmentId(String staffId, String departmentId);
Map<String,String> getWxUserIdByClerkId(String clerkId); Map<String, String> getWxUserIdByClerkId(String clerkId);
String getPageUrl(int type,String data); String getPageUrl(int type, String data);
//发送消息,单人发送 /**
boolean sendSingleMessage(String clerkId,String title,String content,String pageUrl); * 发送消息,单人发送
*
* @param clerkId
* @param title
* @param content
* @param pageUrl
* @return
*/
boolean sendSingleMessage(String clerkId, String title, String content, String pageUrl);
/** /**
* 单人消息发送通用方法 * 单人消息发送通用方法
...@@ -50,16 +58,16 @@ public interface StaffDepartmentRelatedApiService { ...@@ -50,16 +58,16 @@ public interface StaffDepartmentRelatedApiService {
Boolean sendSingleMessage(String clerkId, String title, Map<String, String> contentMap, String pageUrl); Boolean sendSingleMessage(String clerkId, String title, Map<String, String> contentMap, String pageUrl);
//发送消息,带审核理由 //发送消息,带审核理由
public boolean sendAuditMessage(String clerkId, String title,String content, String pageUrl,int auditStatus, String auditReason); boolean sendAuditMessage(String clerkId, String title, String content, String pageUrl, int auditStatus, String auditReason);
List<StaffDepartmentRelatedDTO> listByStaffIds(List<String> staffIds); List<StaffDepartmentRelatedDTO> listByStaffIds(List<String> staffIds);
public void sendClerkBind(String staffId,String clerkCode,String storeId,int auditStatus,String auditReason); void sendClerkBind(String staffId, String clerkCode, String storeId, int auditStatus, String auditReason);
public void sendStaffBind(String staffId,String clerkCode,String storeId,int auditStatus,String auditReason); void sendStaffBind(String staffId, String clerkCode, String storeId, int auditStatus, String auditReason);
public void sendClerkAdd (String clerkName,String clerkCode,String storeId,int auditStatus,String auditReason); void sendClerkAdd(String clerkName, String clerkCode, String storeId, int auditStatus, String auditReason);
public void sendClerkDel (String clerkName,String clerkCode,String storeId,int auditStatus,String auditReason); void sendClerkDel(String clerkName, String clerkCode, String storeId, int auditStatus, String auditReason);
} }
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
<groupId>com.gic</groupId> <groupId>com.gic</groupId>
<artifactId>gic-pom-base</artifactId> <artifactId>gic-pom-base</artifactId>
<version>3.0-SNAPSHOT</version> <version>3.0-SNAPSHOT</version>
<relativePath/>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
...@@ -14,8 +15,6 @@ ...@@ -14,8 +15,6 @@
<packaging>war</packaging> <packaging>war</packaging>
<name>haoban-manage3-operation-web Maven Webapp</name> <name>haoban-manage3-operation-web Maven Webapp</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
......
...@@ -2,30 +2,28 @@ package com.gic.haoban.manage.web.controller.test; ...@@ -2,30 +2,28 @@ package com.gic.haoban.manage.web.controller.test;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page; import com.gic.commons.util.GICMQClientUtil;
import com.gic.commons.util.EntityUtil;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.common.utils.CheckContainUtil;
import com.gic.haoban.common.utils.HaobanResponse; import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.manage.api.dto.TestDTO; import com.gic.haoban.manage.api.dto.StaffDTO;
import com.gic.haoban.manage.api.enums.QuartzEnum; import com.gic.haoban.manage.api.enums.QuartzEnum;
import com.gic.haoban.manage.api.enums.SyncTaskTypeEnum;
import com.gic.haoban.manage.api.service.DealSyncOperationApiService;
import com.gic.haoban.manage.api.service.StaffApiService;
import com.gic.haoban.manage.api.service.TestApiService; import com.gic.haoban.manage.api.service.TestApiService;
import com.gic.haoban.manage.api.service.TestService;
import com.gic.haoban.manage.web.controller.WebBaseController; import com.gic.haoban.manage.web.controller.WebBaseController;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode; import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.haoban.manage.web.qo.TestQo; import com.gic.haoban.manage.web.qo.QywxTagSyncInfoQo;
import com.gic.haoban.manage.web.vo.TestVo; import com.gic.mq.sdk.GicMQClient;
import com.gic.sharing.core.service.api.service.MqApiService; import com.gic.sharing.core.service.api.service.MqApiService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.stream.Collectors;
import static org.slf4j.LoggerFactory.getLogger; import static org.slf4j.LoggerFactory.getLogger;
...@@ -44,6 +42,12 @@ public class TestController extends WebBaseController { ...@@ -44,6 +42,12 @@ public class TestController extends WebBaseController {
@Autowired @Autowired
private MqApiService mqApiService; private MqApiService mqApiService;
@Autowired
private StaffApiService staffApiService;
@Autowired
private DealSyncOperationApiService dealSyncOperationApiService;
// //
// @RequestMapping("/testList") // @RequestMapping("/testList")
// @ResponseBody // @ResponseBody
...@@ -135,4 +139,56 @@ public class TestController extends WebBaseController { ...@@ -135,4 +139,56 @@ public class TestController extends WebBaseController {
} }
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
/**
* 刷新好友
*
* @return
*/
@RequestMapping("/flush-friend-batch")
@ResponseBody
public HaobanResponse flushFriend(String key) {
if (StringUtils.isBlank(key)) {
return resultResponse(HaoBanErrCode.ERR_0);
}
String[] split = key.split(",");
for (String staffId : split) {
StaffDTO staff = staffApiService.selectById(staffId);
if (null == staff) {
continue;
}
String wxEnterpriseId = staff.getWxEnterpriseId();
String wxUserId = staff.getWxUserId();
String taskName = "刷新企业微信好友(" + staff.getStaffName() + ")";
String taskId = dealSyncOperationApiService.createWxFriendTaskSingle(staff.getWxEnterpriseId(), taskName, staffId, staff.getStaffName(), SyncTaskTypeEnum.FRIEND_SINGLE.getType());
if (StringUtils.isNotBlank(taskId)) {
dealSyncOperationApiService.dealWxFriendClerkSingle(taskId, wxUserId, staffId, wxEnterpriseId);
}
}
return resultResponse(HaoBanErrCode.ERR_1);
}
/**
* 刷新单个标签同步到队列
*
* @return
*/
@RequestMapping("/qywx-tag-mq")
@ResponseBody
public HaobanResponse qywxTagMq(String key) {
if (StringUtils.isBlank(key)) {
return resultResponse(HaoBanErrCode.ERR_0);
}
JSONArray jsonArray = JSONArray.parseArray(key);
List<String> mqList = jsonArray.stream().map(qo -> JSONObject.toJSONString(qo)).collect(Collectors.toList());
GicMQClient clientInstance = GICMQClientUtil.getClientInstance();
try {
clientInstance.sendBatchMessages("qywxTagSyncDeal", mqList);
} catch (Exception e) {
e.printStackTrace();
logger.info("批量异常:{}", e);
}
return resultResponse(HaoBanErrCode.ERR_1);
}
} }
package com.gic.haoban.manage.web.qo;
import java.io.Serializable;
import java.util.List;
/**
* Created 2021/7/19.
*
* @author hua
*/
public class QywxTagSyncInfoQo implements Serializable {
/**
* 任务id
*/
private String taskId;
/**
* 任务类型 0标签同步 1会员标签同步
* #taskTypeEnum
*/
private int taskType;
/**
* 数据id 对应memberId
*/
private String dataId;
/**
* 同步类型
*/
private int syncType;
private Integer times = 0;
/**
* 批量导入时
*/
private List<String> memberIds;
/**
* 非必传
*/
private String wxEnterpriseId;
/**
* 非必传
*/
private String enterpriseId;
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public List<String> getMemberIds() {
return memberIds;
}
public void setMemberIds(List<String> memberIds) {
this.memberIds = memberIds;
}
public int getSyncType() {
return syncType;
}
public void setSyncType(int syncType) {
this.syncType = syncType;
}
/**
* 同步的id
*/
private Integer syncLogId;
public Integer getTimes() {
return times;
}
public void setTimes(Integer times) {
this.times = times;
}
public Integer getSyncLogId() {
return syncLogId;
}
public void setSyncLogId(Integer syncLogId) {
this.syncLogId = syncLogId;
}
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
public int getTaskType() {
return taskType;
}
public void setTaskType(int taskType) {
this.taskType = taskType;
}
public String getDataId() {
return dataId;
}
public void setDataId(String dataId) {
this.dataId = dataId;
}
}
...@@ -51,6 +51,9 @@ ...@@ -51,6 +51,9 @@
<dubbo:reference interface="com.gic.haoban.manage.api.service.HandoverOperationApiService" <dubbo:reference interface="com.gic.haoban.manage.api.service.HandoverOperationApiService"
id="handoverOperationApiService"/> id="handoverOperationApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.DealSyncOperationApiService"
id="dealSyncOperationApiService"/>
<dubbo:reference interface="com.gic.sharing.core.service.api.service.MqApiService" <dubbo:reference interface="com.gic.sharing.core.service.api.service.MqApiService"
id="mqApiService"/> id="mqApiService"/>
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
<groupId>com.gic</groupId> <groupId>com.gic</groupId>
<artifactId>gic-pom-base</artifactId> <artifactId>gic-pom-base</artifactId>
<version>3.0-SNAPSHOT</version> <version>3.0-SNAPSHOT</version>
<relativePath/>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
......
...@@ -10,31 +10,38 @@ import java.util.List; ...@@ -10,31 +10,38 @@ import java.util.List;
@Mapper @Mapper
public interface StaffClerkBindLogMapper { public interface StaffClerkBindLogMapper {
/** /**
*
*/ */
int deleteByPrimaryKey(Integer logId); int deleteByPrimaryKey(Integer logId);
/** /**
*
*/ */
int insert(TabHaobanStaffClerkBindLog record); int insert(TabHaobanStaffClerkBindLog record);
/** /**
*
*/ */
int insertSelective(TabHaobanStaffClerkBindLog record); int insertSelective(TabHaobanStaffClerkBindLog record);
/** /**
*
*/ */
TabHaobanStaffClerkBindLog selectByPrimaryKey(Integer logId); TabHaobanStaffClerkBindLog selectByPrimaryKey(Integer logId);
/** /**
*
*/ */
int updateByPrimaryKeySelective(TabHaobanStaffClerkBindLog record); int updateByPrimaryKeySelective(TabHaobanStaffClerkBindLog record);
/** /**
*
*/ */
int updateByPrimaryKey(TabHaobanStaffClerkBindLog record); int updateByPrimaryKey(TabHaobanStaffClerkBindLog record);
/** /**
* 列表 * 列表
*
* @param clerkIds * @param clerkIds
* @param staffIds * @param staffIds
* @param enterpriseIds * @param enterpriseIds
...@@ -42,5 +49,8 @@ public interface StaffClerkBindLogMapper { ...@@ -42,5 +49,8 @@ public interface StaffClerkBindLogMapper {
* @return * @return
*/ */
public List<TabHaobanStaffClerkBindLog> listStaffClerkBindLog(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("clerkIds") List<String> clerkIds public List<TabHaobanStaffClerkBindLog> listStaffClerkBindLog(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("clerkIds") List<String> clerkIds
, @Param("staffIds") List<String> staffIds, @Param("enterpriseIds") List<String> enterpriseIds, @Param("optType") int optType,@Param("search") String search); , @Param("staffIds") List<String> staffIds, @Param("enterpriseIds") List<String> enterpriseIds, @Param("optType") int optType, @Param("search") String search);
public List<TabHaobanStaffClerkBindLog> staffClerkUnBindLog(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("clerkId") String clerkIds
, @Param("enterpriseId") String enterpriseIds, @Param("optType") int optType);
} }
\ No newline at end of file
...@@ -193,4 +193,12 @@ public interface TabHaobanExternalClerkRelatedMapper { ...@@ -193,4 +193,12 @@ public interface TabHaobanExternalClerkRelatedMapper {
* @return * @return
*/ */
List<TabHaobanExternalClerkRelated> listByExternalUserId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("externalUserId") String externalUserId); List<TabHaobanExternalClerkRelated> listByExternalUserId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("externalUserId") String externalUserId);
/**
* 根据会员id更新新老会员id
*
* @param memberId
* @return
*/
int updateMemberIdByMemberId(@Param("memberId") String memberId, @Param("oldMemberId") String oldMemberId);
} }
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper;
import com.gic.haoban.manage.service.entity.TabHaobanOperationSetting;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 操作设置表(TabHaobanOperationSetting)表数据库访问层
*
* @author YongEn
* @date 2021-08-26 10:39:45
*/
@Repository
public interface TabHaobanOperationSettingMapper {
/**
* 新增数据
*
* @param setting 实例对象
* @return 影响行数
*/
int insert(TabHaobanOperationSetting setting);
/**
* 修改数据
*
* @param setting 实例对象
* @return 影响行数
*/
int update(TabHaobanOperationSetting setting);
/**
* 通过主键删除数据
*
* @param settingId 主键
* @return 影响行数
*/
int deleteById(String settingId);
/**
* 通过ID查询单条数据
*
* @param settingId 主键
* @return 实例对象
*/
TabHaobanOperationSetting queryById(String settingId);
/**
* 通过实体作为筛选条件查询
*
* @param setting 实例对象
* @return 对象列表
*/
List<TabHaobanOperationSetting> queryAll(TabHaobanOperationSetting setting);
/**
* 分页总数
*
* @return 对象列表
*/
int queryCountByPage();
/**
* 分页列表
*
* @param offset 查询起始位置
* @param limit 查询条数
* @return 对象列表
*/
List<TabHaobanOperationSetting> queryListByPage(@Param("offset") int offset, @Param("limit") int limit);
}
...@@ -75,6 +75,8 @@ public interface TabHaobanStaffClerkRelationMapper { ...@@ -75,6 +75,8 @@ public interface TabHaobanStaffClerkRelationMapper {
TabHaobanStaffClerkRelation getByClerkId(@Param("clerkId")String clerkId); TabHaobanStaffClerkRelation getByClerkId(@Param("clerkId")String clerkId);
TabHaobanStaffClerkRelation getByClerkIdNoStatus(@Param("clerkId")String clerkId);
int delByPrimaryKey(@Param("staffClerkRelationId")String staffClerkRelationId); int delByPrimaryKey(@Param("staffClerkRelationId")String staffClerkRelationId);
void delByClerkId(@Param("clerkId")String clerkId); void delByClerkId(@Param("clerkId")String clerkId);
......
package com.gic.haoban.manage.service.entity;
/**
* 操作设置表(TabHaobanOperationSetting)实体类
*
* @author YongEn
* @date 2021-08-26 10:38:04
*/
import java.util.Date;
public class TabHaobanOperationSetting {
/**
* 操作设置id
*/
private String settingId;
/**
* 企业微信id
*/
private String wxEnterpriseId;
/**
* 导购手机号是否必填 1 是 0 否
*/
private Integer clerkPhoneFlag;
/**
* 店长是否可编辑门店 1 是 0 否
*/
private Integer storeEditFlag;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 数据状态 1 正常 0 已删除
*/
private Integer statusFlag;
public String getSettingId() {
return settingId;
}
public void setSettingId(String settingId) {
this.settingId = settingId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public Integer getClerkPhoneFlag() {
return clerkPhoneFlag;
}
public void setClerkPhoneFlag(Integer clerkPhoneFlag) {
this.clerkPhoneFlag = clerkPhoneFlag;
}
public Integer getStoreEditFlag() {
return storeEditFlag;
}
public void setStoreEditFlag(Integer storeEditFlag) {
this.storeEditFlag = storeEditFlag;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Integer getStatusFlag() {
return statusFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
}
...@@ -58,4 +58,13 @@ public interface ExternalClerkRelatedService { ...@@ -58,4 +58,13 @@ public interface ExternalClerkRelatedService {
*/ */
List<TabHaobanExternalClerkRelated> listExternalByExternalUserid(String wxEnterpriseId, String externalUserid); List<TabHaobanExternalClerkRelated> listExternalByExternalUserid(String wxEnterpriseId, String externalUserid);
/**
* 校验会员id与unionid的对应 主要修复会员合并是没有更新会老的情况
*
* @param memberId
* @param unionId
* @return
*/
String checkAndUpdateMemberByUnonId(String enterpriseId, String memberId, String unionId);
} }
...@@ -15,19 +15,21 @@ import java.util.List; ...@@ -15,19 +15,21 @@ import java.util.List;
public interface StaffClerkBindLogService { public interface StaffClerkBindLogService {
/** /**
* 绑定日志 * 绑定日志
*
* @param bindLog * @param bindLog
*/ */
public void insert(TabHaobanStaffClerkBindLog bindLog); public void insert(TabHaobanStaffClerkBindLog bindLog);
/** /**
* 插入日志到mq * 插入日志到mq
*
* @param staffId * @param staffId
* @param optStaffId * @param optStaffId
* @param optType * @param optType
* @param channelCode * @param channelCode
* @param relationId * @param relationId
*/ */
public void pushToMq(String staffId,String optStaffId,int optType,int channelCode,String relationId); public void pushToMq(String staffId, String optStaffId, int optType, int channelCode, String relationId);
/** /**
* 插入日志到mq * 插入日志到mq
...@@ -40,8 +42,9 @@ public interface StaffClerkBindLogService { ...@@ -40,8 +42,9 @@ public interface StaffClerkBindLogService {
public void pushToMqBatch(String optStaffId, int optType, int channelCode, List<String> relationIds); public void pushToMqBatch(String optStaffId, int optType, int channelCode, List<String> relationIds);
/** /**
*
* @return * @return
*/ */
public Page<StaffClerkBindLogDetailDTO> pageBindLog(String wxEnterpriseId,List<String> clerkIds, List<String> staffIds,List<String> enterpriseIds,int optType,String search, BasePageInfo pageInfo); public Page<StaffClerkBindLogDetailDTO> pageBindLog(String wxEnterpriseId, List<String> clerkIds, List<String> staffIds, List<String> enterpriseIds, int optType, String search, BasePageInfo pageInfo);
public Page<StaffClerkBindLogDetailDTO> pageUnBindLog(String wxEnterpriseId, String clerkId, String enterpriseId, int optType, BasePageInfo pageInfo);
} }
...@@ -78,6 +78,8 @@ public interface StaffClerkRelationService { ...@@ -78,6 +78,8 @@ public interface StaffClerkRelationService {
StaffClerkRelationDTO getByClerkId(String clerkId); StaffClerkRelationDTO getByClerkId(String clerkId);
StaffClerkRelationDTO getByClerkIdNoStatus(String clerkId);
List<StaffClerkRelationDTO> listByClerkIds(List<String> clerkList); List<StaffClerkRelationDTO> listByClerkIds(List<String> clerkList);
List<StaffClerkRelationDTO> lisByStaffId(String wxEnterpriseId, String staffId); List<StaffClerkRelationDTO> lisByStaffId(String wxEnterpriseId, String staffId);
...@@ -129,6 +131,4 @@ public interface StaffClerkRelationService { ...@@ -129,6 +131,4 @@ public interface StaffClerkRelationService {
* @date 2021-07-15 16:26:17 * @date 2021-07-15 16:26:17
*/ */
List<StaffClerkRelationDTO> listAll(); List<StaffClerkRelationDTO> listAll();
} }
...@@ -5,6 +5,14 @@ import java.util.Date; ...@@ -5,6 +5,14 @@ import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import com.alibaba.fastjson.JSONObject;
import com.gic.member.api.dto.MemberDTO;
import com.gic.member.api.service.MemberService;
import com.gic.search.engine.api.dto.ESResponseQuerySingle;
import com.gic.search.engine.api.dto.dynamic.DynamicSearchDTO;
import com.gic.search.engine.api.service.dynamic.ESDataDynamicOperationApiService;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import com.alibaba.dubbo.config.annotation.Service; import com.alibaba.dubbo.config.annotation.Service;
...@@ -16,12 +24,22 @@ import com.gic.haoban.manage.service.dao.mapper.TabHaobanExternalClerkRelatedMap ...@@ -16,12 +24,22 @@ import com.gic.haoban.manage.service.dao.mapper.TabHaobanExternalClerkRelatedMap
import com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated; import com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated;
import com.gic.haoban.manage.service.service.ExternalClerkRelatedService; import com.gic.haoban.manage.service.service.ExternalClerkRelatedService;
import static org.slf4j.LoggerFactory.getLogger;
@Service @Service
public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedService { public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedService {
private static final Logger logger = getLogger(ExternalClerkRelatedServiceImpl.class);
@Autowired @Autowired
private TabHaobanExternalClerkRelatedMapper mapper; private TabHaobanExternalClerkRelatedMapper mapper;
@Autowired
private ESDataDynamicOperationApiService esDataDynamicOperationApiService;
@Autowired
private MemberService memberService;
@Override @Override
public void insert(TabHaobanExternalClerkRelated related) { public void insert(TabHaobanExternalClerkRelated related) {
String clerkId = related.getClerkId(); String clerkId = related.getClerkId();
...@@ -110,4 +128,38 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ ...@@ -110,4 +128,38 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
public List<TabHaobanExternalClerkRelated> listExternalByExternalUserid(String wxEnterpriseId, String externalUserid) { public List<TabHaobanExternalClerkRelated> listExternalByExternalUserid(String wxEnterpriseId, String externalUserid) {
return mapper.listByExternalUserId(wxEnterpriseId, externalUserid); return mapper.listByExternalUserId(wxEnterpriseId, externalUserid);
} }
@Override
public String checkAndUpdateMemberByUnonId(String enterpriseId, String memberId, String unionId) {
String returnFields = "id";
try {
JSONObject searchJson = new JSONObject();
searchJson.put("id", memberId);
DynamicSearchDTO search = new DynamicSearchDTO();
search.setSearchJson(searchJson);
search.setEnterpriseId(enterpriseId);
search.setColumnCategoryCode("member");
if (StringUtils.isNotBlank(returnFields)) {
search.setReturnFileds(returnFields);
}
ESResponseQuerySingle single = esDataDynamicOperationApiService.queryDataSingle(search);
JSONObject res = single.getRes();
logger.info("返回数据:{}", JSONObject.toJSONString(res));
if (res != null && res.size() > 0) {
return memberId;
}
MemberDTO memberDTO = memberService.getMemberByUnionid(unionId, enterpriseId);
if (null == memberDTO || memberDTO.getMemberId() == null) {
logger.info("会员不存在:{}", unionId);
return null;
}
//更新会员id
mapper.updateMemberIdByMemberId(memberDTO.getMemberId(), memberId);
return memberDTO.getMemberId();
} catch (Exception e) {
logger.info("异常:{}", e);
logger.info("从搜索引擎中搜索会员数据异常, memberId : {}", memberId);
}
return null;
}
} }
...@@ -30,12 +30,12 @@ import java.util.stream.Collectors; ...@@ -30,12 +30,12 @@ import java.util.stream.Collectors;
@Service @Service
public class StaffClerkBindLogServiceImpl implements StaffClerkBindLogService { public class StaffClerkBindLogServiceImpl implements StaffClerkBindLogService {
private static final Logger logger= LoggerFactory.getLogger(StaffClerkBindLogServiceImpl.class); private static final Logger logger = LoggerFactory.getLogger(StaffClerkBindLogServiceImpl.class);
@Autowired @Autowired
private StaffClerkBindLogMapper staffClerkBindLogMapper; private StaffClerkBindLogMapper staffClerkBindLogMapper;
private static final String STAFF_LOG_MQ="haobanStaffClerkBindLogMq"; private static final String STAFF_LOG_MQ = "haobanStaffClerkBindLogMq";
@Override @Override
public void insert(TabHaobanStaffClerkBindLog bindLog) { public void insert(TabHaobanStaffClerkBindLog bindLog) {
...@@ -54,7 +54,7 @@ public class StaffClerkBindLogServiceImpl implements StaffClerkBindLogService { ...@@ -54,7 +54,7 @@ public class StaffClerkBindLogServiceImpl implements StaffClerkBindLogService {
GicMQClient clientInstance = GICMQClientUtil.getClientInstance(); GicMQClient clientInstance = GICMQClientUtil.getClientInstance();
try { try {
String ret = JSONObject.toJSONString(infoDTO); String ret = JSONObject.toJSONString(infoDTO);
logger.info("绑定的mq日志:{}",ret); logger.info("绑定的mq日志:{}", ret);
clientInstance.sendMessage(STAFF_LOG_MQ, ret); clientInstance.sendMessage(STAFF_LOG_MQ, ret);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
...@@ -85,9 +85,17 @@ public class StaffClerkBindLogServiceImpl implements StaffClerkBindLogService { ...@@ -85,9 +85,17 @@ public class StaffClerkBindLogServiceImpl implements StaffClerkBindLogService {
} }
@Override @Override
public Page<StaffClerkBindLogDetailDTO> pageBindLog(String wxEnterpriseId,List<String> clerkIds, List<String> staffIds, List<String> enterpriseIds, int optType,String search, BasePageInfo pageInfo) { public Page<StaffClerkBindLogDetailDTO> pageBindLog(String wxEnterpriseId, List<String> clerkIds, List<String> staffIds, List<String> enterpriseIds, int optType, String search, BasePageInfo pageInfo) {
PageHelper.startPage(pageInfo); PageHelper.startPage(pageInfo);
List<TabHaobanStaffClerkBindLog> clerkBindLogList = staffClerkBindLogMapper.listStaffClerkBindLog(wxEnterpriseId, clerkIds, staffIds, enterpriseIds, optType,search); List<TabHaobanStaffClerkBindLog> clerkBindLogList = staffClerkBindLogMapper.listStaffClerkBindLog(wxEnterpriseId, clerkIds, staffIds, enterpriseIds, optType, search);
Page<StaffClerkBindLogDetailDTO> retPage = PageUtil.changePageHelperToCurrentPage(new PageInfo<>(clerkBindLogList), StaffClerkBindLogDetailDTO.class);
return retPage;
}
@Override
public Page<StaffClerkBindLogDetailDTO> pageUnBindLog(String wxEnterpriseId, String clerkId, String enterpriseId, int optType, BasePageInfo pageInfo) {
PageHelper.startPage(pageInfo);
List<TabHaobanStaffClerkBindLog> clerkBindLogList = staffClerkBindLogMapper.staffClerkUnBindLog(wxEnterpriseId, clerkId, enterpriseId, optType);
Page<StaffClerkBindLogDetailDTO> retPage = PageUtil.changePageHelperToCurrentPage(new PageInfo<>(clerkBindLogList), StaffClerkBindLogDetailDTO.class); Page<StaffClerkBindLogDetailDTO> retPage = PageUtil.changePageHelperToCurrentPage(new PageInfo<>(clerkBindLogList), StaffClerkBindLogDetailDTO.class);
return retPage; return retPage;
} }
......
...@@ -184,6 +184,8 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService ...@@ -184,6 +184,8 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
return EntityUtil.changeEntityByJSON(StaffClerkRelationDTO.class, mapper.getByCodeAndEnterpriseId(clerkCode, enterpriseId)); return EntityUtil.changeEntityByJSON(StaffClerkRelationDTO.class, mapper.getByCodeAndEnterpriseId(clerkCode, enterpriseId));
} }
@Override @Override
public String insert(StaffClerkRelationDTO staffClerkRelation) { public String insert(StaffClerkRelationDTO staffClerkRelation) {
String uuid = StringUtil.randomUUID(); String uuid = StringUtil.randomUUID();
...@@ -226,6 +228,10 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService ...@@ -226,6 +228,10 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
return EntityUtil.changeEntityByJSON(StaffClerkRelationDTO.class, mapper.getByClerkId(clerkId)); return EntityUtil.changeEntityByJSON(StaffClerkRelationDTO.class, mapper.getByClerkId(clerkId));
} }
public StaffClerkRelationDTO getByClerkIdNoStatus(String clerkId){
return EntityUtil.changeEntityByJSON(StaffClerkRelationDTO.class, mapper.getByClerkIdNoStatus(clerkId));
}
@Override @Override
public List<StaffClerkRelationDTO> listByClerkIds(List<String> clerkList) { public List<StaffClerkRelationDTO> listByClerkIds(List<String> clerkList) {
if (clerkList == null || clerkList.isEmpty()) { if (clerkList == null || clerkList.isEmpty()) {
......
...@@ -136,7 +136,8 @@ public class CheckQywxSettingApiServiceImpl implements CheckQywxSettingApiServic ...@@ -136,7 +136,8 @@ public class CheckQywxSettingApiServiceImpl implements CheckQywxSettingApiServic
} }
//告警是否拦截重复告警 防止批量触发 //告警是否拦截重复告警 防止批量触发
if (StringUtils.isNotBlank(messageDTO.getKey())) { if (StringUtils.isNotBlank(messageDTO.getKey())) {
RBucket<Object> bucket = RedisUtil.getRedisClient().getBucket(messageDTO.getKey()); String key = messageDTO.getKey() + messageDTO.getAlertType();
RBucket<Object> bucket = RedisUtil.getRedisClient().getBucket(key);
boolean b = bucket.trySet(1, 60L, TimeUnit.SECONDS); boolean b = bucket.trySet(1, 60L, TimeUnit.SECONDS);
if (!b) { if (!b) {
return; return;
......
...@@ -5,6 +5,8 @@ import com.alibaba.fastjson.JSONObject; ...@@ -5,6 +5,8 @@ import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.GICMQClientUtil; import com.gic.commons.util.GICMQClientUtil;
import com.gic.haoban.app.customer.dto.SearchComputeDTO;
import com.gic.haoban.app.customer.dto.SearchDataDTO;
import com.gic.haoban.app.customer.enums.GicQywxSyncTypeEnum; import com.gic.haoban.app.customer.enums.GicQywxSyncTypeEnum;
import com.gic.haoban.app.customer.enums.QywxSyncTaskTypeEnum; import com.gic.haoban.app.customer.enums.QywxSyncTaskTypeEnum;
import com.gic.haoban.base.api.common.BasePageInfo; import com.gic.haoban.base.api.common.BasePageInfo;
...@@ -18,14 +20,26 @@ import com.gic.haoban.manage.service.dao.mapper.TabHaobanExternalClerkRelatedMap ...@@ -18,14 +20,26 @@ import com.gic.haoban.manage.service.dao.mapper.TabHaobanExternalClerkRelatedMap
import com.gic.haoban.manage.service.entity.MemberUnionidRelated; import com.gic.haoban.manage.service.entity.MemberUnionidRelated;
import com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated; import com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated;
import com.gic.haoban.manage.service.pojo.QywxTagSyncInfoPojo; import com.gic.haoban.manage.service.pojo.QywxTagSyncInfoPojo;
import com.gic.member.api.dto.MemberDTO;
import com.gic.member.api.service.MemberApiService;
import com.gic.member.api.service.MemberService;
import com.gic.mq.sdk.GicMQClient; import com.gic.mq.sdk.GicMQClient;
import com.gic.search.engine.api.constant.MemberDataEnum;
import com.gic.search.engine.api.constant.OperateEnum;
import com.gic.search.engine.api.dto.ESResponseQueryBatch;
import com.gic.search.engine.api.dto.ESResponseQuerySingle;
import com.gic.search.engine.api.dto.dynamic.DynamicSearchDTO;
import com.gic.search.engine.api.service.dynamic.ESDataDynamicOperationApiService;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import org.apache.commons.collections.CollectionUtils;
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;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -217,4 +231,5 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -217,4 +231,5 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
List<TabHaobanExternalClerkRelated> list = tabHaobanExternalClerkRelatedMapper.listByMemberId(memberId); List<TabHaobanExternalClerkRelated> list = tabHaobanExternalClerkRelatedMapper.listByMemberId(memberId);
return EntityUtil.changeEntityListNew(ExternalClerkRelatedShortInfoDTO.class, list); return EntityUtil.changeEntityListNew(ExternalClerkRelatedShortInfoDTO.class, list);
} }
} }
package com.gic.haoban.manage.service.service.out.impl;
import com.gic.haoban.common.utils.EntityUtil;
import com.gic.haoban.common.utils.UuidUtil;
import com.gic.haoban.manage.api.dto.OperationSettingDTO;
import com.gic.haoban.manage.api.service.OperationSettingApiService;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanOperationSettingMapper;
import com.gic.haoban.manage.service.entity.TabHaobanOperationSetting;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* desc:操作设置对外服务实现
*
* @author: YongEn
* @date: 2021/8/26
**/
@Service
public class OperationSettingApiServiceImpl implements OperationSettingApiService {
@Autowired
private TabHaobanOperationSettingMapper operationSettingMapper;
@Override
public void saveOrUpdate(OperationSettingDTO dto) {
// 查询
OperationSettingDTO settingDTO = this.getByWxEnterpriseId(dto.getWxEnterpriseId());
TabHaobanOperationSetting setting = new TabHaobanOperationSetting();
setting.setClerkPhoneFlag(Objects.isNull(dto.getClerkPhoneFlag()) ? 0 : dto.getClerkPhoneFlag());
setting.setStoreEditFlag(Objects.isNull(dto.getStoreEditFlag()) ? 0 : dto.getStoreEditFlag());
if (Objects.isNull(settingDTO)) {
// save
setting.setCreateTime(new Date());
setting.setStatusFlag(1);
setting.setSettingId(UuidUtil.randomUUID());
setting.setWxEnterpriseId(dto.getWxEnterpriseId());
operationSettingMapper.insert(setting);
return;
}
// update
setting.setSettingId(settingDTO.getSettingId());
setting.setUpdateTime(new Date());
operationSettingMapper.update(setting);
}
@Override
public OperationSettingDTO getByWxEnterpriseId(String wxEnterpriseId) {
if (StringUtils.isEmpty(wxEnterpriseId)) {
return null;
}
TabHaobanOperationSetting setting = new TabHaobanOperationSetting();
// 暂无合适枚举 1 代表正常数据
setting.setStatusFlag(1);
setting.setWxEnterpriseId(wxEnterpriseId);
List<TabHaobanOperationSetting> settingList = operationSettingMapper.queryAll(setting);
return CollectionUtils.isEmpty(settingList) ? null :
EntityUtil.changeEntityByJSON(OperationSettingDTO.class, settingList.get(0));
}
}
...@@ -677,9 +677,13 @@ public class QywxTagApiServiceImpl implements QywxTagApiService { ...@@ -677,9 +677,13 @@ public class QywxTagApiServiceImpl implements QywxTagApiService {
logger.info("该企业下没有配置需要同步的:{},{}", externalUserId, clerkRelated.getEnterpriseId()); logger.info("该企业下没有配置需要同步的:{},{}", externalUserId, clerkRelated.getEnterpriseId());
continue; continue;
} }
String memberId = externalClerkRelatedService.checkAndUpdateMemberByUnonId(clerkRelated.getEnterpriseId(), clerkRelated.getMemberId(), clerkRelated.getUnionid());
if (null == memberId) {
logger.info("会员不存在:{}", externalUserId);
continue;
}
//该会员打的标签 //该会员打的标签
List<MemberTagDTO> gicItems = memberTagService.listMemberTag(clerkRelated.getEnterpriseId(), clerkRelated.getMemberId()); List<MemberTagDTO> gicItems = memberTagService.listMemberTag(clerkRelated.getEnterpriseId(), memberId);
Set<String> noSyncTagItemIds = new HashSet<>(); Set<String> noSyncTagItemIds = new HashSet<>();
if (!CollectionUtils.isEmpty(gicItems)) { if (!CollectionUtils.isEmpty(gicItems)) {
noSyncTagItemIds = gicItems.stream().filter(item -> !entQywxSyncTagItemIds.contains(item.getTagsId())).map(dto -> dto.getTagsId()).collect(Collectors.toSet()); noSyncTagItemIds = gicItems.stream().filter(item -> !entQywxSyncTagItemIds.contains(item.getTagsId())).map(dto -> dto.getTagsId()).collect(Collectors.toSet());
...@@ -692,9 +696,9 @@ public class QywxTagApiServiceImpl implements QywxTagApiService { ...@@ -692,9 +696,9 @@ public class QywxTagApiServiceImpl implements QywxTagApiService {
logger.info("该企业会员需要打的标签:{}", JSONObject.toJSONString(entMemberNeedSetQywxKeys)); logger.info("该企业会员需要打的标签:{}", JSONObject.toJSONString(entMemberNeedSetQywxKeys));
//更新标签 会自动同步 //更新标签 会自动同步
if (CollectionUtils.isEmpty(saveTagIds)) { if (CollectionUtils.isEmpty(saveTagIds)) {
saveMemberTags(new HashSet<>(), clerkRelated.getEnterpriseId(), clerkRelated.getMemberId(), clerkRelated.getClerkId()); saveMemberTags(new HashSet<>(), clerkRelated.getEnterpriseId(), memberId, clerkRelated.getClerkId());
} else { } else {
saveMemberTags(saveTagIds, clerkRelated.getEnterpriseId(), clerkRelated.getMemberId(), clerkRelated.getClerkId()); saveMemberTags(saveTagIds, clerkRelated.getEnterpriseId(), memberId, clerkRelated.getClerkId());
} }
// hasSaveMemberId.add(clerkRelated.getMemberId()); // hasSaveMemberId.add(clerkRelated.getMemberId());
// //同步企业的标签到企业微信 // //同步企业的标签到企业微信
......
...@@ -144,7 +144,7 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe ...@@ -144,7 +144,7 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
if (!nameMap.containsKey(infoDTO.getEnterpriseId())) { if (!nameMap.containsKey(infoDTO.getEnterpriseId())) {
EnterpriseDTO enterpriseDTO = enterpriseService.getEnterpriseById(infoDTO.getEnterpriseId()); EnterpriseDTO enterpriseDTO = enterpriseService.getEnterpriseById(infoDTO.getEnterpriseId());
if (null != enterpriseDTO) { if (null != enterpriseDTO) {
nameMap.put(infoDTO.getEnterpriseId(), enterpriseDTO.getEnterpriseName()+"_"+enterpriseDTO.getBrandName()); nameMap.put(infoDTO.getEnterpriseId(), enterpriseDTO.getEnterpriseName() + "_" + enterpriseDTO.getBrandName());
} else { } else {
nameMap.put(infoDTO.getEnterpriseId(), "未知商户"); nameMap.put(infoDTO.getEnterpriseId(), "未知商户");
} }
...@@ -173,11 +173,11 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe ...@@ -173,11 +173,11 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
infoDTO.setClerkName(nameMap.get(infoDTO.getClerkId())); infoDTO.setClerkName(nameMap.get(infoDTO.getClerkId()));
infoDTO.setStoreName(nameMap.get(infoDTO.getStoreId())); infoDTO.setStoreName(nameMap.get(infoDTO.getStoreId()));
if ((nameMap.get(infoDTO.getEnterpriseId()))!=null){ if ((nameMap.get(infoDTO.getEnterpriseId())) != null) {
String EnterpriseandBrandName= nameMap.get(infoDTO.getEnterpriseId()); String EnterpriseandBrandName = nameMap.get(infoDTO.getEnterpriseId());
String split[]=EnterpriseandBrandName.split("_"); String split[] = EnterpriseandBrandName.split("_");
infoDTO.setEnterpriseName(split[0]); infoDTO.setEnterpriseName(split[0]);
if (split[1]!=null){ if (split[1] != null) {
infoDTO.setBrandName(split[1]); infoDTO.setBrandName(split[1]);
} }
} }
...@@ -367,6 +367,54 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe ...@@ -367,6 +367,54 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
} }
@Override @Override
public Page<StaffClerkBindLogDetailDTO> pageStaffClerkUnBindLog(String wxEnterpriseId, String clerkId, String enterpriseId, int optType, BasePageInfo pageInfo) {
if (wxEnterpriseId == null) {
logger.info("没有关联企业");
return null;
}
// StaffClerkRelationDTO staffClerkRelationDTO=staffClerkRelatinService.getByClerkIdNoStatus(clerkId);
// if (staffClerkRelationDTO == null) {
// logger.info("导购未绑定");
// return null;
// }
// String clerkCode = staffClerkRelationDTO.getClerkCode();
// StaffClerkRelationDTO relationDTO = staffClerkRelatinService.getOneBindCodeNoStatus(enterpriseId, clerkCode);
// if (null == relationDTO) {
// logger.info("没有解绑信息");
// return null;
// }
Page<StaffClerkBindLogDetailDTO> retList = staffClerkBindLogService.pageUnBindLog(wxEnterpriseId, clerkId, enterpriseId, optType, pageInfo);
if (CollectionUtils.isNotEmpty(retList.getResult())) {
retList.getResult().forEach(staffClerkBindLogDetailDTO -> {
TabHaobanStaff haobanStaff = staffService.selectById(staffClerkBindLogDetailDTO.getStaffId());
if (null != haobanStaff) {
staffClerkBindLogDetailDTO.setStaffName(haobanStaff.getStaffName());
staffClerkBindLogDetailDTO.setWxUserId(haobanStaff.getWxUserId());
} else {
staffClerkBindLogDetailDTO.setStaffName("未知成员");
}
if ("-1".equals(staffClerkBindLogDetailDTO.getOptStaffId())) {
staffClerkBindLogDetailDTO.setOptStaffName("系统");
} else {
haobanStaff = staffService.selectById(staffClerkBindLogDetailDTO.getOptStaffId());
if (null != haobanStaff) {
staffClerkBindLogDetailDTO.setOptStaffName(haobanStaff.getStaffName());
} else {
staffClerkBindLogDetailDTO.setOptStaffName("未知成员");
}
}
ClerkDTO clerkDTO = clerkService.getClerkByClerkIdNoStatus(staffClerkBindLogDetailDTO.getClerkId());
if (null != clerkDTO) {
staffClerkBindLogDetailDTO.setClerkName(clerkDTO.getClerkName());
}
staffClerkBindLogDetailDTO.setClerkPhoneNumber(staffClerkBindLogDetailDTO.getClerkPhone());
});
}
return retList;
}
@Override
public void pushToBindLog(String staffId, String optStaffId, int optType, int channelCode, String relationId) { public void pushToBindLog(String staffId, String optStaffId, int optType, int channelCode, String relationId) {
staffClerkBindLogService.pushToMq(staffId, optStaffId, optType, channelCode, relationId); staffClerkBindLogService.pushToMq(staffId, optStaffId, optType, channelCode, relationId);
} }
......
...@@ -14,11 +14,9 @@ import com.gic.haoban.manage.service.config.Config; ...@@ -14,11 +14,9 @@ import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.dao.mapper.StaffDepartmentRelatedMapper; import com.gic.haoban.manage.service.dao.mapper.StaffDepartmentRelatedMapper;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanStaffClerkRelationMapper; import com.gic.haoban.manage.service.dao.mapper.TabHaobanStaffClerkRelationMapper;
import com.gic.haoban.manage.service.dao.mapper.WxEnterpriseMapper; import com.gic.haoban.manage.service.dao.mapper.WxEnterpriseMapper;
import com.gic.haoban.manage.service.dao.mapper.WxEnterpriseRelatedMapper;
import com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation; import com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation;
import com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated; import com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise; import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import com.gic.haoban.manage.service.service.DepartmentService;
import com.gic.haoban.manage.service.service.StaffDepartmentRelatedService; import com.gic.haoban.manage.service.service.StaffDepartmentRelatedService;
import com.gic.wechat.api.dto.qywx.ItemDTO; import com.gic.wechat.api.dto.qywx.ItemDTO;
import com.gic.wechat.api.dto.qywx.QywxXcxSendMessageDTO; import com.gic.wechat.api.dto.qywx.QywxXcxSendMessageDTO;
...@@ -37,7 +35,7 @@ import java.util.*; ...@@ -37,7 +35,7 @@ import java.util.*;
@Service @Service
public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRelatedApiService { public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRelatedApiService {
private static Logger logger= LoggerFactory.getLogger(StaffDepartmentRelatedApiServiceImpl.class); private static final Logger logger = LoggerFactory.getLogger(StaffDepartmentRelatedApiServiceImpl.class);
@Autowired @Autowired
private StaffDepartmentRelatedService staffDepartmentRelatedService; private StaffDepartmentRelatedService staffDepartmentRelatedService;
...@@ -50,10 +48,6 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela ...@@ -50,10 +48,6 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
@Autowired @Autowired
private WxEnterpriseMapper wxEnterpriseMapper; private WxEnterpriseMapper wxEnterpriseMapper;
@Autowired @Autowired
private WxEnterpriseRelatedMapper wxEnterpriseRelatedMapper;
@Autowired
private DepartmentService departmentService;
@Autowired
private Config config; private Config config;
@Autowired @Autowired
private TabHaobanStaffClerkRelationMapper tabHaobanStaffClerkRelationMapper; private TabHaobanStaffClerkRelationMapper tabHaobanStaffClerkRelationMapper;
...@@ -61,20 +55,19 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela ...@@ -61,20 +55,19 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
private StaffApiService staffApiService; private StaffApiService staffApiService;
@Override @Override
public List<StaffDepartmentRelatedDTO> listByDepartmentId( public List<StaffDepartmentRelatedDTO> listByDepartmentId(String departmentId) {
String departmentId) {
List<TabHaobanStaffDepartmentRelated> list = staffDepartmentRelatedService.listByDepartmentId(departmentId); List<TabHaobanStaffDepartmentRelated> list = staffDepartmentRelatedService.listByDepartmentId(departmentId);
List<StaffDepartmentRelatedDTO> resultList = EntityUtil.changeEntityListByJSON(StaffDepartmentRelatedDTO.class, list); List<StaffDepartmentRelatedDTO> resultList = EntityUtil.changeEntityListByJSON(StaffDepartmentRelatedDTO.class, list);
return resultList; return resultList;
} }
@Override @Override
public List<StaffDepartmentRelatedDTO> listByDepartmentIds( public List<StaffDepartmentRelatedDTO> listByDepartmentIds(List<String> departmentIds) {
List<String> departmentIds) {
List<TabHaobanStaffDepartmentRelated> list = staffDepartmentRelatedMapper.listByDepartmentIds(departmentIds); List<TabHaobanStaffDepartmentRelated> list = staffDepartmentRelatedMapper.listByDepartmentIds(departmentIds);
List<StaffDepartmentRelatedDTO> resultList = EntityUtil.changeEntityListByJSON(StaffDepartmentRelatedDTO.class, list); List<StaffDepartmentRelatedDTO> resultList = EntityUtil.changeEntityListByJSON(StaffDepartmentRelatedDTO.class, list);
return resultList; return resultList;
} }
@Override @Override
public void updateById(StaffDepartmentRelatedDTO dto) { public void updateById(StaffDepartmentRelatedDTO dto) {
TabHaobanStaffDepartmentRelated tab = EntityUtil.changeEntityByJSON(TabHaobanStaffDepartmentRelated.class, dto); TabHaobanStaffDepartmentRelated tab = EntityUtil.changeEntityByJSON(TabHaobanStaffDepartmentRelated.class, dto);
...@@ -187,13 +180,13 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela ...@@ -187,13 +180,13 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
String wxUserId = staffDTO.getWxUserId(); String wxUserId = staffDTO.getWxUserId();
String corpId = tabHaobanWxEnterprise.getCorpid(); String corpId = tabHaobanWxEnterprise.getCorpid();
String name = staffDTO.getStaffName(); String name = staffDTO.getStaffName();
if(content.length()>30){ if (content.length() > 30) {
content = content.substring(0, 26); content = content.substring(0, 26);
content = content+"..."; content = content + "...";
} }
//先发送下,试试 //先发送下,试试
QywxXcxSendMessageDTO messageDTO = new QywxXcxSendMessageDTO(); QywxXcxSendMessageDTO messageDTO = new QywxXcxSendMessageDTO();
List<ItemDTO> items = new ArrayList();; List<ItemDTO> items = new ArrayList();
ItemDTO dto1 = new ItemDTO(); ItemDTO dto1 = new ItemDTO();
ItemDTO dto2 = new ItemDTO(); ItemDTO dto2 = new ItemDTO();
ItemDTO dto3 = new ItemDTO(); ItemDTO dto3 = new ItemDTO();
...@@ -269,17 +262,18 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela ...@@ -269,17 +262,18 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
} }
//导购删除,,审核记录,,消息发送 //导购删除,,审核记录,,消息发送
public void sendClerkDel (String clerkName,String clerkCode,String storeId,int auditStatus,String auditReason){ @Override
public void sendClerkDel(String clerkName, String clerkCode, String storeId, int auditStatus, String auditReason) {
//TODO huang 发送店长,门店关联记录列表 //TODO huang 发送店长,门店关联记录列表
String messageTitle = "门店导购变更"; String messageTitle = "门店导购变更";
String messageContent ="删除导购:"+ clerkName+"("+clerkCode+")"; String messageContent = "删除导购:" + clerkName + "(" + clerkCode + ")";
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("storeId", storeId); jsonObject.put("storeId", storeId);
String data = jsonObject.toJSONString(); String data = jsonObject.toJSONString();
ClerkDTO gicClerk = clerkService.getClerkLeaderByStoreId(storeId); ClerkDTO gicClerk = clerkService.getClerkLeaderByStoreId(storeId);
if(gicClerk == null){ if (gicClerk == null) {
logger.info("店长不存在,发送消息失败{}",storeId); logger.info("店长不存在,发送消息失败{}", storeId);
return ; return;
} }
TabHaobanStaffClerkRelation tab = tabHaobanStaffClerkRelationMapper.getOneByClerkId(gicClerk.getClerkId()); TabHaobanStaffClerkRelation tab = tabHaobanStaffClerkRelationMapper.getOneByClerkId(gicClerk.getClerkId());
if(tab == null){ if(tab == null){
...@@ -301,17 +295,17 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela ...@@ -301,17 +295,17 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
String corpId = map.get("corpId"); String corpId = map.get("corpId");
String name = map.get("clerkName"); String name = map.get("clerkName");
if(jodd.util.StringUtil.isEmpty(wxUserId)){ if (jodd.util.StringUtil.isEmpty(wxUserId)) {
logger.info("wxUserId不存在============clerkId={}",clerkId); logger.info("wxUserId不存在============clerkId={}", clerkId);
return false; return false;
} }
if(content.length()>30){ if (content.length() > 30) {
content = content.substring(0, 26); content = content.substring(0, 26);
content = content+"..."; content = content + "...";
} }
//先发送下,试试 //先发送下,试试
QywxXcxSendMessageDTO messageDTO = new QywxXcxSendMessageDTO(); QywxXcxSendMessageDTO messageDTO = new QywxXcxSendMessageDTO();
List<ItemDTO> items = new ArrayList();; List<ItemDTO> items = new ArrayList();
ItemDTO dto1 = new ItemDTO(); ItemDTO dto1 = new ItemDTO();
ItemDTO dto2 = new ItemDTO(); ItemDTO dto2 = new ItemDTO();
dto1.setKey("接收人"); dto1.setKey("接收人");
...@@ -391,22 +385,22 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela ...@@ -391,22 +385,22 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
@Override @Override
public boolean sendAuditMessage(String staffId, String title, public boolean sendAuditMessage(String staffId, String title,
String content, String pageUrl,int auditStatus, String auditReason) { String content, String pageUrl,int auditStatus, String auditReason) {
Map<String,String> map = getWxUserIdByStaffId(staffId); Map<String, String> map = getWxUserIdByStaffId(staffId);
String wxUserId = map.get("wxUserId"); String wxUserId = map.get("wxUserId");
String corpId = map.get("corpId"); String corpId = map.get("corpId");
String name = map.get("staffName"); String name = map.get("staffName");
if(jodd.util.StringUtil.isEmpty(wxUserId)){ if (StringUtils.isEmpty(wxUserId)) {
logger.info("wxUserId不存在============clerkId={}",staffId); logger.info("wxUserId不存在============clerkId={}", staffId);
return false; return false;
} }
if(content.length()>30){ if (content.length() > 30) {
content = content.substring(0, 26); content = content.substring(0, 26);
content = content+"..."; content = content + "...";
} }
//先发送下,试试 //先发送下,试试
QywxXcxSendMessageDTO messageDTO = new QywxXcxSendMessageDTO(); QywxXcxSendMessageDTO messageDTO = new QywxXcxSendMessageDTO();
List<ItemDTO> items = new ArrayList();; List<ItemDTO> items = new ArrayList();
ItemDTO dto1 = new ItemDTO(); ItemDTO dto1 = new ItemDTO();
ItemDTO dto2 = new ItemDTO(); ItemDTO dto2 = new ItemDTO();
ItemDTO dto3 = new ItemDTO(); ItemDTO dto3 = new ItemDTO();
...@@ -440,6 +434,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela ...@@ -440,6 +434,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
logger.info("发送===============》{}",b); logger.info("发送===============》{}",b);
return b; return b;
} }
@Override @Override
public String getPageUrl(int type, String data) { public String getPageUrl(int type, String data) {
String baseUrl = "/pages/route/index"; String baseUrl = "/pages/route/index";
......
...@@ -56,6 +56,9 @@ ...@@ -56,6 +56,9 @@
<dubbo:service interface="com.gic.haoban.manage.api.service.QywxTagApiService" ref="qywxTagApiServiceImpl" <dubbo:service interface="com.gic.haoban.manage.api.service.QywxTagApiService" ref="qywxTagApiServiceImpl"
timeout="10000"/> timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.OperationSettingApiService" ref="operationSettingApiServiceImpl"
timeout="10000"/>
<dubbo:reference interface="com.gic.enterprise.api.service.DepartmentService" id="gicDepartmentService"/> <dubbo:reference interface="com.gic.enterprise.api.service.DepartmentService" id="gicDepartmentService"/>
<dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxDepartmentApiService" id="qywxDepartmentApiService"/> <dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxDepartmentApiService" id="qywxDepartmentApiService"/>
<dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxSuiteApiService" id="qywxSuiteApiService"/> <dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxSuiteApiService" id="qywxSuiteApiService"/>
......
...@@ -2,45 +2,46 @@ ...@@ -2,45 +2,46 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gic.haoban.manage.service.dao.mapper.StaffClerkBindLogMapper"> <mapper namespace="com.gic.haoban.manage.service.dao.mapper.StaffClerkBindLogMapper">
<resultMap id="BaseResultMap" type="com.gic.haoban.manage.service.entity.TabHaobanStaffClerkBindLog"> <resultMap id="BaseResultMap" type="com.gic.haoban.manage.service.entity.TabHaobanStaffClerkBindLog">
<id column="log_id" jdbcType="INTEGER" property="logId" /> <id column="log_id" jdbcType="INTEGER" property="logId"/>
<result column="staff_id" jdbcType="VARCHAR" property="staffId" /> <result column="staff_id" jdbcType="VARCHAR" property="staffId"/>
<result column="wx_enterprise_id" jdbcType="VARCHAR" property="wxEnterpriseId" /> <result column="wx_enterprise_id" jdbcType="VARCHAR" property="wxEnterpriseId"/>
<result column="opt_staff_id" jdbcType="VARCHAR" property="optStaffId" /> <result column="opt_staff_id" jdbcType="VARCHAR" property="optStaffId"/>
<result column="opt_type" jdbcType="INTEGER" property="optType" /> <result column="opt_type" jdbcType="INTEGER" property="optType"/>
<result column="channel_code" jdbcType="INTEGER" property="channelCode" /> <result column="channel_code" jdbcType="INTEGER" property="channelCode"/>
<result column="enterprise_id" jdbcType="VARCHAR" property="enterpriseId" /> <result column="enterprise_id" jdbcType="VARCHAR" property="enterpriseId"/>
<result column="clerk_id" jdbcType="VARCHAR" property="clerkId" /> <result column="clerk_id" jdbcType="VARCHAR" property="clerkId"/>
<result column="clerk_code" jdbcType="VARCHAR" property="clerkCode" /> <result column="clerk_code" jdbcType="VARCHAR" property="clerkCode"/>
<result column="clerk_phone" jdbcType="VARCHAR" property="clerkPhone" /> <result column="clerk_phone" jdbcType="VARCHAR" property="clerkPhone"/>
<result column="status_flag" jdbcType="INTEGER" property="statusFlag" /> <result column="status_flag" jdbcType="INTEGER" property="statusFlag"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" /> <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" /> <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
log_id, staff_id, wx_enterprise_id, opt_staff_id, opt_type, channel_code, enterprise_id, log_id
, staff_id, wx_enterprise_id, opt_staff_id, opt_type, channel_code, enterprise_id,
clerk_id, clerk_code,clerk_phone, status_flag, create_time, update_time clerk_id, clerk_code,clerk_phone, status_flag, create_time, update_time
</sql> </sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap"> <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List"/>
from tab_haoban_staff_clerk_bind_log from tab_haoban_staff_clerk_bind_log
where log_id = #{logId,jdbcType=INTEGER} where log_id = #{logId,jdbcType=INTEGER}
</select> </select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer"> <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from tab_haoban_staff_clerk_bind_log delete
from tab_haoban_staff_clerk_bind_log
where log_id = #{logId,jdbcType=INTEGER} where log_id = #{logId,jdbcType=INTEGER}
</delete> </delete>
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabHaobanStaffClerkBindLog"> <insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabHaobanStaffClerkBindLog">
insert into tab_haoban_staff_clerk_bind_log (staff_id, wx_enterprise_id, insert into tab_haoban_staff_clerk_bind_log (staff_id, wx_enterprise_id,
opt_staff_id, opt_type, channel_code, opt_staff_id, opt_type, channel_code,
enterprise_id, clerk_id, clerk_code, clerk_phone, enterprise_id, clerk_id, clerk_code, clerk_phone,
status_flag, create_time, update_time status_flag, create_time, update_time)
) values (#{staffId,jdbcType=VARCHAR}, #{wxEnterpriseId,jdbcType=VARCHAR},
values ( #{staffId,jdbcType=VARCHAR}, #{wxEnterpriseId,jdbcType=VARCHAR},
#{optStaffId,jdbcType=VARCHAR}, #{optType,jdbcType=INTEGER}, #{channelCode,jdbcType=INTEGER}, #{optStaffId,jdbcType=VARCHAR}, #{optType,jdbcType=INTEGER}, #{channelCode,jdbcType=INTEGER},
#{enterpriseId,jdbcType=VARCHAR}, #{clerkId,jdbcType=VARCHAR}, #{clerkCode,jdbcType=VARCHAR},#{clerk_phone,jdbcType=VARCHAR}, #{enterpriseId,jdbcType=VARCHAR}, #{clerkId,jdbcType=VARCHAR}, #{clerkCode,jdbcType=VARCHAR},
#{statusFlag,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP} #{clerk_phone,jdbcType=VARCHAR},
) #{statusFlag,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP})
</insert> </insert>
<insert id="insertSelective" parameterType="com.gic.haoban.manage.service.entity.TabHaobanStaffClerkBindLog"> <insert id="insertSelective" parameterType="com.gic.haoban.manage.service.entity.TabHaobanStaffClerkBindLog">
insert into tab_haoban_staff_clerk_bind_log insert into tab_haoban_staff_clerk_bind_log
...@@ -128,7 +129,8 @@ ...@@ -128,7 +129,8 @@
</if> </if>
</trim> </trim>
</insert> </insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.haoban.manage.service.entity.TabHaobanStaffClerkBindLog"> <update id="updateByPrimaryKeySelective"
parameterType="com.gic.haoban.manage.service.entity.TabHaobanStaffClerkBindLog">
update tab_haoban_staff_clerk_bind_log update tab_haoban_staff_clerk_bind_log
<set> <set>
<if test="staffId != null"> <if test="staffId != null">
...@@ -184,7 +186,7 @@ ...@@ -184,7 +186,7 @@
</update> </update>
<select id="listStaffClerkBindLog" resultMap="BaseResultMap"> <select id="listStaffClerkBindLog" resultMap="BaseResultMap">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List"/>
from tab_haoban_staff_clerk_bind_log from tab_haoban_staff_clerk_bind_log
where wx_enterprise_id=#{wxEnterpriseId} where wx_enterprise_id=#{wxEnterpriseId}
<if test="clerkIds!=null and clerkIds.size()>0"> <if test="clerkIds!=null and clerkIds.size()>0">
...@@ -213,4 +215,20 @@ ...@@ -213,4 +215,20 @@
</if> </if>
order by create_time desc order by create_time desc
</select> </select>
<select id="staffClerkUnBindLog" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_staff_clerk_bind_log
where wx_enterprise_id = #{wxEnterpriseId}
<if test="clerkId!=null ">
and clerk_id = #{clerkId}
</if>
<if test="enterpriseId!=null">
and enterprise_id = #{enterpriseId}
</if>
<if test="optType!=-1">
and opt_type= #{optType}
</if>
order by create_time desc
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -437,7 +437,11 @@ ...@@ -437,7 +437,11 @@
and audit_type = 3 and audit_type = 3
and audit_status = 0 and audit_status = 0
and enterprise_id = #{enterpriseId,jdbcType=VARCHAR} and enterprise_id = #{enterpriseId,jdbcType=VARCHAR}
and (related_Id = #{clerkCode} or old_value like concat ('%',#{phoneNumber},'%')) and (related_Id = #{clerkCode}
<if test="phoneNumber != null and phoneNumber != ''">
or old_value like concat ('%',#{phoneNumber},'%')
</if>
)
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -573,4 +573,15 @@ ...@@ -573,4 +573,15 @@
and status_flag = 1 and status_flag = 1
and external_user_id = #{externalUserId} and external_user_id = #{externalUserId}
</select> </select>
<update id="updateMemberIdByMemberId">
UPDATE
tab_haoban_external_clerk_related
SET
member_id=#{memberId},
update_time = now()
where
member_id = #{oldMemberId}
and status_flag = 1
</update>
</mapper> </mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gic.haoban.manage.service.dao.mapper.TabHaobanOperationSettingMapper">
<resultMap type="com.gic.haoban.manage.service.entity.TabHaobanOperationSetting"
id="TabHaobanOperationSettingMap">
<result property="settingId" column="setting_id" jdbcType="VARCHAR"/>
<result property="wxEnterpriseId" column="wx_enterprise_id" jdbcType="VARCHAR"/>
<result property="clerkPhoneFlag" column="clerk_phone_flag" jdbcType="INTEGER"/>
<result property="storeEditFlag" column="store_edit_flag" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="statusFlag" column="status_flag" jdbcType="INTEGER"/>
</resultMap>
<sql id="Base_Column_List">
setting_id, wx_enterprise_id, clerk_phone_flag, store_edit_flag, create_time, update_time, status_flag </sql>
<!--新增所有列-->
<insert id="insert" keyProperty="settingId" useGeneratedKeys="true" parameterType="com.gic.haoban.manage.service.entity.TabHaobanOperationSetting">
INSERT INTO tab_haoban_operation_setting
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="settingId != null and settingId != ''">
setting_id,
</if>
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
wx_enterprise_id,
</if>
<if test="clerkPhoneFlag != null">
clerk_phone_flag,
</if>
<if test="storeEditFlag != null">
store_edit_flag,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="statusFlag != null">
status_flag,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="settingId != null and settingId != ''">
#{settingId},
</if>
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
#{wxEnterpriseId},
</if>
<if test="clerkPhoneFlag != null">
#{clerkPhoneFlag},
</if>
<if test="storeEditFlag != null">
#{storeEditFlag},
</if>
<if test="createTime != null">
#{createTime},
</if>
<if test="updateTime != null">
#{updateTime},
</if>
<if test="statusFlag != null">
#{statusFlag},
</if>
</trim>
</insert>
<!--通过主键修改数据-->
<update id="update" parameterType="com.gic.haoban.manage.service.entity.TabHaobanOperationSetting">
update tab_haoban_operation_setting
<set>
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
wx_enterprise_id = #{wxEnterpriseId},
</if>
<if test="clerkPhoneFlag != null">
clerk_phone_flag = #{clerkPhoneFlag},
</if>
<if test="storeEditFlag != null">
store_edit_flag = #{storeEditFlag},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
<if test="statusFlag != null">
status_flag = #{statusFlag},
</if>
</set>
where setting_id = #{settingId}
</update>
<!--通过主键删除-->
<delete id="deleteById">
delete from tab_haoban_operation_setting where setting_id = #{settingId}
</delete>
<!--查询单个-->
<select id="queryById" resultMap="TabHaobanOperationSettingMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_operation_setting
where setting_id = #{settingId}
</select>
<!--通过实体作为筛选条件查询-->
<select id="queryAll" parameterType="com.gic.haoban.manage.service.entity.TabHaobanOperationSetting" resultMap="TabHaobanOperationSettingMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_operation_setting
<where>
<if test="settingId != null and settingId != ''">
and setting_id = #{settingId}
</if>
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
and wx_enterprise_id = #{wxEnterpriseId}
</if>
<if test="clerkPhoneFlag != null">
and clerk_phone_flag = #{clerkPhoneFlag}
</if>
<if test="storeEditFlag != null">
and store_edit_flag = #{storeEditFlag}
</if>
<if test="createTime != null">
and create_time = #{createTime}
</if>
<if test="updateTime != null">
and update_time = #{updateTime}
</if>
<if test="statusFlag != null">
and status_flag = #{statusFlag}
</if>
</where>
</select>
<select id="queryCountByPage" resultType="int">
select
count(*)
from tab_haoban_operation_setting
</select>
<select id="queryListByPage" resultMap="TabHaobanOperationSettingMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_operation_setting
limit #{offset}, #{limit}
</select>
</mapper>
...@@ -310,6 +310,13 @@ ...@@ -310,6 +310,13 @@
and status_flag=1 and status_flag=1
</select> </select>
<select id="getByClerkIdNoStatus" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
from tab_haoban_staff_clerk_relation
where clerk_id = #{clerkId,jdbcType=VARCHAR}
</select>
<update id="delByPrimaryKey" > <update id="delByPrimaryKey" >
update tab_haoban_staff_clerk_relation update tab_haoban_staff_clerk_relation
set set
......
import com.gic.haoban.common.utils.UuidUtil;
import com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanOperationSettingMapper;
import com.gic.haoban.manage.service.entity.TabHaobanOperationSetting;
import com.gic.haoban.manage.service.service.ExternalClerkRelatedService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.Date;
/**
* desc:
*
* @author: YongEn
* @date: 2021/8/26
**/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:applicationContext-conf.xml"})
public class TestOperDatabase {
@Autowired
private TabHaobanOperationSettingMapper tabHaobanOperationSettingMapper;
@Autowired
private ExternalClerkRelatedService externalClerkRelatedService;
@Test
public void testOperSetting() {
String s = externalClerkRelatedService.checkAndUpdateMemberByUnonId("ff8080815dacd3a2015dacd3ef5c0000", "ff8080817b95cd7e017b95f2c0ec009d", "orXl9t9_320bmRutZoL8YEpPAc00");
System.out.println(s);
}
}
...@@ -6,17 +6,14 @@ ...@@ -6,17 +6,14 @@
<groupId>com.gic</groupId> <groupId>com.gic</groupId>
<artifactId>gic-pom-base</artifactId> <artifactId>gic-pom-base</artifactId>
<version>3.0-SNAPSHOT</version> <version>3.0-SNAPSHOT</version>
<relativePath/>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>haoban-manage3-web</artifactId> <artifactId>haoban-manage3-web</artifactId>
<version>${libraryVersion}</version> <version>${libraryVersion}</version>
<packaging>war</packaging> <packaging>war</packaging>
<name>haoban-manage3-web Maven Webapp</name> <name>haoban-manage3-web Maven Webapp</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<haobanService>1.0-SNAPSHOT</haobanService> <haobanService>1.0-SNAPSHOT</haobanService>
......
package com.gic.haoban.manage.web.controller; package com.gic.haoban.manage.web.controller;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.gic.cloud.common.api.base.Page; import com.gic.cloud.common.api.base.Page;
import com.gic.cloud.data.api.dto.AdsGicLogHaobanStoreIntervalLoginDDTO; import com.gic.cloud.data.api.dto.*;
import com.gic.cloud.data.api.dto.AdsGicLogHaobanStoreLoginDDTO;
import com.gic.cloud.data.api.dto.AreaLoginDTO;
import com.gic.cloud.data.api.dto.HaobanClerkLoginDTO;
import com.gic.cloud.data.api.dto.HaobanLoginInfoDTO;
import com.gic.cloud.data.api.dto.MemberAnalyzeParamsDTO;
import com.gic.cloud.data.api.service.MaidianDataService; import com.gic.cloud.data.api.service.MaidianDataService;
import com.gic.cloud.web.service.api.dto.CloudStoreGroupDTO; import com.gic.cloud.web.service.api.dto.CloudStoreGroupDTO;
import com.gic.cloud.web.service.api.service.CloudStoreGroupService; import com.gic.cloud.web.service.api.service.CloudStoreGroupService;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.haoban.common.utils.ExcelUtils; import com.gic.haoban.common.utils.ExcelUtils;
import com.gic.haoban.common.utils.HaobanResponse; import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode; import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.redis.data.util.RedisUtil; import com.gic.redis.data.util.RedisUtil;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat;
import java.util.*;
@RestController @RestController
@RequestMapping("web") @RequestMapping("web")
public class MaidianDataController extends WebBaseController{ public class MaidianDataController extends WebBaseController {
private static Logger logger = LoggerFactory.getLogger(MaidianDataController.class); private static final Logger logger = LoggerFactory.getLogger(MaidianDataController.class);
@Autowired @Autowired
private MaidianDataService maidianDataService; private MaidianDataService maidianDataService;
@Autowired @Autowired
private CloudStoreGroupService cloudStoreGroupService; private CloudStoreGroupService cloudStoreGroupService;
@Autowired
private WxEnterpriseRelatedApiService wxEnterpriseRelatedApiService;
//首页-分组列表 //首页-分组列表
@RequestMapping("/use-haoban3-service") @RequestMapping("/use-haoban3-service")
public HaobanResponse useHaoban3Service(String wxEnterpriseId) { public HaobanResponse useHaoban3Service(String wxEnterpriseId) {
Object o = RedisUtil.getCache("usesMaidianWxEnterpriseId"); Object o = RedisUtil.getCache("usesMaidianWxEnterpriseId");
boolean b = false; boolean b = false;
if(o == null){ if (o != null) {
}else {
String wxEnterpriseIds = o.toString(); String wxEnterpriseIds = o.toString();
if(wxEnterpriseIds.contains(wxEnterpriseId)||"-1".equals(wxEnterpriseIds)){ if (wxEnterpriseIds.contains(wxEnterpriseId) || "-1".equals(wxEnterpriseIds)) {
b = true; b = true;
} }
} }
return resultResponse(HaoBanErrCode.ERR_1,b); return resultResponse(HaoBanErrCode.ERR_1, b);
} }
//首页-分组列表 //首页-分组列表
@RequestMapping("/cloud-grouplist-pid") @RequestMapping("/cloud-grouplist-pid")
public HaobanResponse cloudGrouplistPid(String enterpriseId) { public HaobanResponse cloudGrouplistPid(String enterpriseId) {
Map<String, Object> returnMap = new HashMap<String, Object>(); Map<String, Object> returnMap = new HashMap<String, Object>();
List<CloudStoreGroupDTO> list = cloudStoreGroupService.queryAllStoreGroupByStoreGroupId(enterpriseId); List<CloudStoreGroupDTO> list = cloudStoreGroupService.queryAllStoreGroupByStoreGroupId(enterpriseId);
if(CollectionUtil.isEmpty(list)){ if (CollectionUtil.isEmpty(list)) {
list = new ArrayList<>(); list = new ArrayList<>();
} }
returnMap.put("list", list); returnMap.put("list", list);
return resultResponse(HaoBanErrCode.ERR_1,returnMap); return resultResponse(HaoBanErrCode.ERR_1, returnMap);
} }
//首页-企业概况 //首页-企业概况
@RequestMapping("/total-activation-data") @RequestMapping("/total-activation-data")
public HaobanResponse totalActivationData(MemberAnalyzeParamsDTO paramsDTO) { public HaobanResponse totalActivationData(MemberAnalyzeParamsDTO paramsDTO) {
paramsDTO.setWebFlag(1); paramsDTO.setWebFlag(1);
Map<String, Object> returnMap = new HashMap<String, Object>(); Map<String, Object> returnMap = new HashMap<String, Object>();
AdsGicLogHaobanStoreLoginDDTO dto = maidianDataService.totalActivationData(paramsDTO); AdsGicLogHaobanStoreLoginDDTO dto = maidianDataService.totalActivationData(paramsDTO);
if(dto == null){ if (dto == null) {
return resultResponse(HaoBanErrCode.ERR_1,returnMap); return resultResponse(HaoBanErrCode.ERR_1, returnMap);
} }
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
paramsDTO.setStartDate(sdf.format(new Date())); paramsDTO.setStartDate(sdf.format(new Date()));
AdsGicLogHaobanStoreLoginDDTO today = maidianDataService.totalActivationData(paramsDTO); AdsGicLogHaobanStoreLoginDDTO today = maidianDataService.totalActivationData(paramsDTO);
if(today == null){ if (today == null) {
today = new AdsGicLogHaobanStoreLoginDDTO(); today = new AdsGicLogHaobanStoreLoginDDTO();
} }
returnMap.put("loginClerkCnt", dto.getLoginClerkCnt()) ; returnMap.put("loginClerkCnt", dto.getLoginClerkCnt());
returnMap.put("activeClerkCnt", dto.getActiveClerkCnt()) ; returnMap.put("activeClerkCnt", dto.getActiveClerkCnt());
returnMap.put("loginClerkTimes", dto.getLoginClerkTimes()) ; returnMap.put("loginClerkTimes", dto.getLoginClerkTimes());
returnMap.put("notActiveClerkCnt", dto.getNotActiveClerkCnt()) ; returnMap.put("notActiveClerkCnt", dto.getNotActiveClerkCnt());
returnMap.put("totalClerkCnt", dto.getTotalClerkCnt()) ; returnMap.put("totalClerkCnt", dto.getTotalClerkCnt());
returnMap.put("notLoginClerkCnt", dto.getNotLoginClerkCnt()) ; returnMap.put("notLoginClerkCnt", dto.getNotLoginClerkCnt());
if(dto.getLoginClerkCnt() == null||dto.getLoginClerkCnt()==0){ if (dto.getLoginClerkCnt() == null || dto.getLoginClerkCnt() == 0) {
returnMap.put("avgLoginTimes",0) ; returnMap.put("avgLoginTimes", 0);
returnMap.put("avgVisitTime", 0) ; returnMap.put("avgVisitTime", 0);
}else { } else {
returnMap.put("avgLoginTimes", dto.getLoginClerkTimes()/dto.getLoginClerkCnt()) ; returnMap.put("avgLoginTimes", dto.getLoginClerkTimes() / dto.getLoginClerkCnt());
returnMap.put("avgVisitTime", dto.getStayTime()/dto.getLoginClerkCnt()) ; returnMap.put("avgVisitTime", dto.getStayTime() / dto.getLoginClerkCnt());
} }
returnMap.put("toDayLoginClerkCnt", today.getLoginClerkCnt()) ; returnMap.put("toDayLoginClerkCnt", today.getLoginClerkCnt());
return resultResponse(HaoBanErrCode.ERR_1,returnMap); return resultResponse(HaoBanErrCode.ERR_1, returnMap);
} }
//首页-好办登陆信息总人数概况 //首页-好办登陆信息总人数概况
@RequestMapping("/total-login-data") @RequestMapping("/total-login-data")
public HaobanResponse totalLoginData(MemberAnalyzeParamsDTO paramsDTO,int datesType) { public HaobanResponse totalLoginData(MemberAnalyzeParamsDTO paramsDTO, int datesType) {
paramsDTO.setWebFlag(1); paramsDTO.setWebFlag(1);
Map<String, Object> returnMap = new HashMap<String, Object>(); Map<String, Object> returnMap = new HashMap<String, Object>();
List<HaobanLoginInfoDTO> resultList = new ArrayList<HaobanLoginInfoDTO>(); List<HaobanLoginInfoDTO> resultList = new ArrayList<HaobanLoginInfoDTO>();
if(datesType == 1){ if (datesType == 1) {
//近7日 //近7日
List<AdsGicLogHaobanStoreLoginDDTO> list = maidianDataService.totalLoginData(paramsDTO); List<AdsGicLogHaobanStoreLoginDDTO> list = maidianDataService.totalLoginData(paramsDTO);
resultList = EntityUtil.changeEntityListByJSON(HaobanLoginInfoDTO.class, list); resultList = EntityUtil.changeEntityListByJSON(HaobanLoginInfoDTO.class, list);
}else { } else {
//当日 //当日
List<AdsGicLogHaobanStoreIntervalLoginDDTO> list = maidianDataService.totalLoginInternalData(paramsDTO); List<AdsGicLogHaobanStoreIntervalLoginDDTO> list = maidianDataService.totalLoginInternalData(paramsDTO);
resultList = EntityUtil.changeEntityListByJSON(HaobanLoginInfoDTO.class, list); resultList = EntityUtil.changeEntityListByJSON(HaobanLoginInfoDTO.class, list);
} }
for(HaobanLoginInfoDTO dto : resultList){ for (HaobanLoginInfoDTO dto : resultList) {
if(dto.getLoginClerkCnt() == 0){ if (dto.getLoginClerkCnt() == 0) {
dto.setAvgVisitTime("0"); dto.setAvgVisitTime("0");
dto.setAvgLoginTimes("0"); dto.setAvgLoginTimes("0");
}else{ } else {
dto.setAvgVisitTime((double)dto.getStayTime()/dto.getLoginClerkCnt()+""); dto.setAvgVisitTime((double) dto.getStayTime() / dto.getLoginClerkCnt() + "");
dto.setAvgLoginTimes(dto.getLoginClerkTimes()/dto.getLoginClerkCnt()+""); dto.setAvgLoginTimes(dto.getLoginClerkTimes() / dto.getLoginClerkCnt() + "");
} }
} }
if(CollectionUtil.isEmpty(resultList)){ if (CollectionUtil.isEmpty(resultList)) {
resultList = new ArrayList<>(); resultList = new ArrayList<>();
} }
returnMap.put("result", resultList) ; returnMap.put("result", resultList);
return resultResponse(HaoBanErrCode.ERR_1,returnMap); return resultResponse(HaoBanErrCode.ERR_1, returnMap);
} }
//首页-区域排行 //首页-区域排行
@RequestMapping("/area-login-ranking") @RequestMapping("/area-login-ranking")
public HaobanResponse areaLoginRanking(MemberAnalyzeParamsDTO paramsDTO) { public HaobanResponse areaLoginRanking(MemberAnalyzeParamsDTO paramsDTO) {
paramsDTO.setWebFlag(1); paramsDTO.setWebFlag(1);
Map<String, Object> returnMap = new HashMap<String, Object>(); Map<String, Object> returnMap = new HashMap<String, Object>();
List<AreaLoginDTO> list = maidianDataService.areaLoginRanking(paramsDTO); List<AreaLoginDTO> list = maidianDataService.areaLoginRanking(paramsDTO);
if(CollectionUtil.isEmpty(list)){ if (CollectionUtil.isEmpty(list)) {
list = new ArrayList<>(); list = new ArrayList<>();
} }
returnMap.put("result", list) ; returnMap.put("result", list);
return resultResponse(HaoBanErrCode.ERR_1,returnMap); return resultResponse(HaoBanErrCode.ERR_1, returnMap);
} }
//激活明细-激活趋势图 //激活明细-激活趋势图
@RequestMapping("/activite-date") @RequestMapping("/activite-date")
public HaobanResponse activiteDate(MemberAnalyzeParamsDTO paramsDTO) { public HaobanResponse activiteDate(MemberAnalyzeParamsDTO paramsDTO) {
...@@ -158,98 +146,101 @@ private static Logger logger = LoggerFactory.getLogger(MaidianDataController.cla ...@@ -158,98 +146,101 @@ private static Logger logger = LoggerFactory.getLogger(MaidianDataController.cla
//近7日 //近7日
List<AdsGicLogHaobanStoreLoginDDTO> list = maidianDataService.totalLoginData(paramsDTO); List<AdsGicLogHaobanStoreLoginDDTO> list = maidianDataService.totalLoginData(paramsDTO);
resultList = EntityUtil.changeEntityListByJSON(HaobanLoginInfoDTO.class, list); resultList = EntityUtil.changeEntityListByJSON(HaobanLoginInfoDTO.class, list);
if(CollectionUtil.isEmpty(resultList)){ if (CollectionUtil.isEmpty(resultList)) {
resultList = new ArrayList<>(); resultList = new ArrayList<>();
} }
returnMap.put("result", resultList) ; returnMap.put("result", resultList);
return resultResponse(HaoBanErrCode.ERR_1,returnMap); return resultResponse(HaoBanErrCode.ERR_1, returnMap);
} }
//激活明细-激活列表 //激活明细-激活列表
@RequestMapping("/activite-list") @RequestMapping("/activite-list")
public HaobanResponse activiteList(MemberAnalyzeParamsDTO paramsDTO) { public HaobanResponse activiteList(MemberAnalyzeParamsDTO paramsDTO) {
paramsDTO.setWebFlag(1); paramsDTO.setWebFlag(1);
Page<HaobanClerkLoginDTO> page= maidianDataService.pageActiviteList(paramsDTO); Page<HaobanClerkLoginDTO> page = maidianDataService.pageActiviteList(paramsDTO);
return resultResponse(HaoBanErrCode.ERR_1,page); return resultResponse(HaoBanErrCode.ERR_1, page);
} }
//导出-激活明细-激活列表 //导出-激活明细-激活列表
@RequestMapping("/export-activite-list") @RequestMapping("/export-activite-list")
public HaobanResponse exportActiviteList(HttpServletRequest request,HttpServletResponse response,MemberAnalyzeParamsDTO paramsDTO) { public HaobanResponse exportActiviteList(HttpServletRequest request, HttpServletResponse response, MemberAnalyzeParamsDTO paramsDTO) {
paramsDTO.setWebFlag(1); paramsDTO.setWebFlag(1);
paramsDTO.setCurrentPage(1); paramsDTO.setCurrentPage(1);
paramsDTO.setPageSize(Integer.MAX_VALUE); paramsDTO.setPageSize(Integer.MAX_VALUE);
Page<HaobanClerkLoginDTO> page= maidianDataService.pageActiviteList(paramsDTO); Page<HaobanClerkLoginDTO> page = maidianDataService.pageActiviteList(paramsDTO);
List<String> titleList = Arrays.asList( "导购姓名","导购代码","归属门店","最后登录时间","活跃状态"); List<String> titleList = Arrays.asList("导购姓名", "导购代码", "归属门店", "最后登录时间", "活跃状态");
List<String> fileList = Arrays.asList("clerkName", "clerkCode", "storeName", "lastLoginTime", "activationStatus"); List<String> fileList = Arrays.asList("clerkName", "clerkCode", "storeName", "lastLoginTime", "activationStatus");
try { try {
ExcelUtils.xls(response, request, "详情报表", page.getList(), fileList, titleList); ExcelUtils.xls(response, request, "详情报表", page.getList(), fileList, titleList);
} catch (Exception e) { } catch (Exception e) {
logger.info(e.getMessage(),e); logger.info(e.getMessage(), e);
} }
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
//导出-登陆明细-明细列表 //导出-登陆明细-明细列表
@RequestMapping("/export-login-detail-list") @RequestMapping("/export-login-detail-list")
public HaobanResponse exportLoginDetailList(HttpServletRequest request,HttpServletResponse response,MemberAnalyzeParamsDTO paramsDTO) { public HaobanResponse exportLoginDetailList(HttpServletRequest request, HttpServletResponse response, MemberAnalyzeParamsDTO paramsDTO) {
paramsDTO.setWebFlag(1); paramsDTO.setWebFlag(1);
//默认排序 //默认排序
if(StringUtils.isEmpty(paramsDTO.getSortColumn())) { if (StringUtils.isEmpty(paramsDTO.getSortColumn())) {
paramsDTO.setSortColumn("lastLoginTime"); paramsDTO.setSortColumn("lastLoginTime");
} }
if(StringUtils.isEmpty(paramsDTO.getSortType())) { if (StringUtils.isEmpty(paramsDTO.getSortType())) {
paramsDTO.setSortType("desc"); paramsDTO.setSortType("desc");
} }
paramsDTO.setCurrentPage(1); paramsDTO.setCurrentPage(1);
paramsDTO.setPageSize(Integer.MAX_VALUE); paramsDTO.setPageSize(Integer.MAX_VALUE);
Map<String, Object> returnMap = new HashMap<String, Object>(); Map<String, Object> returnMap = new HashMap<String, Object>();
Page<HaobanClerkLoginDTO> page= maidianDataService.pageClerkLogin(paramsDTO); Page<HaobanClerkLoginDTO> page = maidianDataService.pageClerkLogin(paramsDTO);
if(paramsDTO.getLoginStatus() == 1){ if (paramsDTO.getLoginStatus() == 1) {
//已登陆 //已登陆
try { try {
List<String> titleList = Arrays.asList( "导购姓名","导购代码","归属门店","最后登录时间","登录次数","平均访问总时长"); List<String> titleList = Arrays.asList("导购姓名", "导购代码", "归属门店", "最后登录时间", "登录次数", "平均访问总时长");
List<String> fileList = Arrays.asList("clerkName", "clerkCode", "storeName", "lastLoginTime", "loginTimes", "avgVisitTimeString"); List<String> fileList = Arrays.asList("clerkName", "clerkCode", "storeName", "lastLoginTime", "loginTimes", "avgVisitTimeString");
ExcelUtils.xls(response, request, "详情报表", page.getList(), fileList, titleList); ExcelUtils.xls(response, request, "详情报表", page.getList(), fileList, titleList);
} catch (Exception e) { } catch (Exception e) {
logger.info(e.getMessage(),e); logger.info(e.getMessage(), e);
} }
}else{ } else {
//未登陆 //未登陆
try { try {
List<String> titleList = Arrays.asList( "导购姓名","导购代码","归属门店","最后登录时间"); List<String> titleList = Arrays.asList("导购姓名", "导购代码", "归属门店", "最后登录时间");
List<String> fileList = Arrays.asList("clerkName", "clerkCode", "storeName", "lastLoginTime"); List<String> fileList = Arrays.asList("clerkName", "clerkCode", "storeName", "lastLoginTime");
ExcelUtils.xls(response, request, "详情报表", page.getList(), fileList, titleList); ExcelUtils.xls(response, request, "详情报表", page.getList(), fileList, titleList);
} catch (Exception e) { } catch (Exception e) {
logger.info(e.getMessage(),e); logger.info(e.getMessage(), e);
} }
} }
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
//登陆明细-明细列表 //登陆明细-明细列表
@RequestMapping("/login-detail-list") @RequestMapping("/login-detail-list")
public HaobanResponse loginDetailList(MemberAnalyzeParamsDTO paramsDTO) { public HaobanResponse loginDetailList(MemberAnalyzeParamsDTO paramsDTO) {
paramsDTO.setWebFlag(1); paramsDTO.setWebFlag(1);
//默认排序 //默认排序
if(StringUtils.isEmpty(paramsDTO.getSortColumn())) { if (StringUtils.isEmpty(paramsDTO.getSortColumn())) {
paramsDTO.setSortColumn("lastLoginTime"); paramsDTO.setSortColumn("lastLoginTime");
} }
if(StringUtils.isEmpty(paramsDTO.getSortType())) { if (StringUtils.isEmpty(paramsDTO.getSortType())) {
paramsDTO.setSortType("desc"); paramsDTO.setSortType("desc");
} }
Map<String, Object> returnMap = new HashMap<String, Object>(); Map<String, Object> returnMap = new HashMap<String, Object>();
Page<HaobanClerkLoginDTO> page= maidianDataService.pageClerkLogin(paramsDTO); Page<HaobanClerkLoginDTO> page = maidianDataService.pageClerkLogin(paramsDTO);
returnMap.put("result", page) ; returnMap.put("result", page);
return resultResponse(HaoBanErrCode.ERR_1,returnMap); return resultResponse(HaoBanErrCode.ERR_1, returnMap);
} }
//区域排行-区域图表 //区域排行-区域图表
@RequestMapping("area-ranking-date") @RequestMapping("area-ranking-date")
public HaobanResponse areaRankingDate(MemberAnalyzeParamsDTO paramsDTO) { public HaobanResponse areaRankingDate(MemberAnalyzeParamsDTO paramsDTO) {
paramsDTO.setWebFlag(1); paramsDTO.setWebFlag(1);
Map<String, Object> returnMap = new HashMap<String, Object>(); Map<String, Object> returnMap = new HashMap<String, Object>();
List<AreaLoginDTO> list = maidianDataService.areaRankingDate(paramsDTO); List<AreaLoginDTO> list = maidianDataService.areaRankingDate(paramsDTO);
returnMap.put("result", list) ; returnMap.put("result", list);
return resultResponse(HaoBanErrCode.ERR_1,returnMap); return resultResponse(HaoBanErrCode.ERR_1, returnMap);
} }
//区域排行-区域列表 //区域排行-区域列表
...@@ -257,40 +248,40 @@ private static Logger logger = LoggerFactory.getLogger(MaidianDataController.cla ...@@ -257,40 +248,40 @@ private static Logger logger = LoggerFactory.getLogger(MaidianDataController.cla
public HaobanResponse areaRankingList(MemberAnalyzeParamsDTO paramsDTO) { public HaobanResponse areaRankingList(MemberAnalyzeParamsDTO paramsDTO) {
paramsDTO.setWebFlag(1); paramsDTO.setWebFlag(1);
//默认排序 //默认排序
if(StringUtils.isEmpty(paramsDTO.getSortColumn())) { if (StringUtils.isEmpty(paramsDTO.getSortColumn())) {
paramsDTO.setSortColumn("loginRate"); paramsDTO.setSortColumn("loginRate");
} }
if(StringUtils.isEmpty(paramsDTO.getSortType())) { if (StringUtils.isEmpty(paramsDTO.getSortType())) {
paramsDTO.setSortType("desc"); paramsDTO.setSortType("desc");
} }
paramsDTO.setAreaType("store"); paramsDTO.setAreaType("store");
Map<String, Object> returnMap = new HashMap<String, Object>(); Map<String, Object> returnMap = new HashMap<String, Object>();
Page<AreaLoginDTO> page = maidianDataService.areaRankingList(paramsDTO); Page<AreaLoginDTO> page = maidianDataService.areaRankingList(paramsDTO);
returnMap.put("result", page) ; returnMap.put("result", page);
return resultResponse(HaoBanErrCode.ERR_1,returnMap); return resultResponse(HaoBanErrCode.ERR_1, returnMap);
} }
//导出-区域排行-区域列表 //导出-区域排行-区域列表
@RequestMapping("/export-area-ranking-list") @RequestMapping("/export-area-ranking-list")
public HaobanResponse exportAreaRankingList(HttpServletRequest request,HttpServletResponse response,MemberAnalyzeParamsDTO paramsDTO) { public HaobanResponse exportAreaRankingList(HttpServletRequest request, HttpServletResponse response, MemberAnalyzeParamsDTO paramsDTO) {
paramsDTO.setWebFlag(1); paramsDTO.setWebFlag(1);
//默认排序 //默认排序
if(StringUtils.isEmpty(paramsDTO.getSortColumn())) { if (StringUtils.isEmpty(paramsDTO.getSortColumn())) {
paramsDTO.setSortColumn("loginRate"); paramsDTO.setSortColumn("loginRate");
} }
if(StringUtils.isEmpty(paramsDTO.getSortType())) { if (StringUtils.isEmpty(paramsDTO.getSortType())) {
paramsDTO.setSortType("desc"); paramsDTO.setSortType("desc");
} }
paramsDTO.setAreaType("store"); paramsDTO.setAreaType("store");
paramsDTO.setCurrentPage(1); paramsDTO.setCurrentPage(1);
paramsDTO.setPageSize(Integer.MAX_VALUE); paramsDTO.setPageSize(Integer.MAX_VALUE);
Page<AreaLoginDTO> page = maidianDataService.areaRankingList(paramsDTO); Page<AreaLoginDTO> page = maidianDataService.areaRankingList(paramsDTO);
List<String> titleList = Arrays.asList( "门店名称","门店code","分组名称","登录率","登录人数"); List<String> titleList = Arrays.asList("门店名称", "门店code", "分组名称", "登录率", "登录人数");
List<String> fileList = Arrays.asList("exportName", "storeCode", "storeGroupName", "loginRateString", "loginClerkCnt"); List<String> fileList = Arrays.asList("exportName", "storeCode", "storeGroupName", "loginRateString", "loginClerkCnt");
try { try {
ExcelUtils.xls(response, request, "详情报表", page.getList(), fileList, titleList); ExcelUtils.xls(response, request, "详情报表", page.getList(), fileList, titleList);
} catch (Exception e) { } catch (Exception e) {
logger.info(e.getMessage(),e); logger.info(e.getMessage(), e);
} }
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
......
...@@ -37,7 +37,7 @@ private static Logger logger = LoggerFactory.getLogger(SendCodeController.class) ...@@ -37,7 +37,7 @@ private static Logger logger = LoggerFactory.getLogger(SendCodeController.class)
*/ */
@RequestMapping("/send-code") @RequestMapping("/send-code")
public HaobanResponse sendCode(String phoneNumber, @RequestParam(defaultValue = "86") String nationcode, public HaobanResponse sendCode(String phoneNumber, @RequestParam(defaultValue = "86") String nationcode,
Integer type, @RequestParam(defaultValue = "0") int isTest,String wxEnterpriseId) { Integer type, @RequestParam(defaultValue = "0") int isTest, String enterpriseId) {
if (StringUtils.isBlank(phoneNumber) || null == type) { if (StringUtils.isBlank(phoneNumber) || null == type) {
logger.info("没有phoneNumber!"); logger.info("没有phoneNumber!");
return resultResponse(HaoBanErrCode.ERR_5); return resultResponse(HaoBanErrCode.ERR_5);
...@@ -76,7 +76,7 @@ private static Logger logger = LoggerFactory.getLogger(SendCodeController.class) ...@@ -76,7 +76,7 @@ private static Logger logger = LoggerFactory.getLogger(SendCodeController.class)
logger.info("{}-{} 的 验证码:{}",nationcode,phoneNumber, smsCode); logger.info("{}-{} 的 验证码:{}",nationcode,phoneNumber, smsCode);
//非测试 //非测试
if (isTest != 1) { if (isTest != 1) {
SendSmsResponse smsResponse = validationCodeService.sendValidationCode(nationcode,phoneNumber, smsCode); SendSmsResponse smsResponse = validationCodeService.sendValidationCodeHb3(nationcode, phoneNumber, smsCode, enterpriseId, null, null, false);
logger.info("{}-{} 的 验证码 发送结果回执:{}",nationcode,phoneNumber, JSON.toJSONString(smsResponse)); logger.info("{}-{} 的 验证码 发送结果回执:{}",nationcode,phoneNumber, JSON.toJSONString(smsResponse));
if (!smsResponse.isSuccess()) { if (!smsResponse.isSuccess()) {
HaobanResponse response = new HaobanResponse(); HaobanResponse response = new HaobanResponse();
......
package com.gic.haoban.manage.web.controller;
import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.manage.api.dto.OperationSettingDTO;
import com.gic.haoban.manage.api.service.OperationSettingApiService;
import com.gic.haoban.manage.web.anno.HttpLimit;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import org.apache.commons.lang3.StringUtils;
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.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.Objects;
/**
* desc:设置controller
*
* @author: YongEn
* @date: 2021/8/26
**/
@RestController
@RequestMapping("/setting")
public class SettingController extends WebBaseController {
@Autowired
private OperationSettingApiService operationSettingApiService;
@RequestMapping("/operation-setting/save-or-update")
private HaobanResponse operationSettingSaveOrUpdate(OperationSettingDTO dto) {
// 保存或更新操作设置
if (Objects.isNull(dto)
|| StringUtils.isEmpty(dto.getWxEnterpriseId())) {
return resultResponse(HaoBanErrCode.ERR_2);
}
operationSettingApiService.saveOrUpdate(dto);
return resultResponse(HaoBanErrCode.ERR_1);
}
@RequestMapping(value = "/get-operation-setting", method = RequestMethod.GET)
private HaobanResponse getOperationSetting(String wxEnterpriseId) {
// 查询操作配置
OperationSettingDTO dto = operationSettingApiService.getByWxEnterpriseId(wxEnterpriseId);
if (Objects.isNull(dto)) {
return resultResponse(HaoBanErrCode.ERR_8);
}
return resultResponse(HaoBanErrCode.ERR_1, dto);
}
}
...@@ -9,25 +9,21 @@ import com.gic.clerk.api.service.ClerkNewService; ...@@ -9,25 +9,21 @@ import com.gic.clerk.api.service.ClerkNewService;
import com.gic.clerk.api.service.ClerkService; import com.gic.clerk.api.service.ClerkService;
import com.gic.commons.util.DateUtil; import com.gic.commons.util.DateUtil;
import com.gic.commons.util.ExcelUtils; import com.gic.commons.util.ExcelUtils;
import com.gic.enterprise.api.dto.*; import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.dto.EnterpriseDTO;
import com.gic.enterprise.api.service.*;
import com.gic.enterprise.api.service.EnterpriseService; import com.gic.enterprise.api.service.EnterpriseService;
import com.gic.enterprise.api.service.StoreService;
import com.gic.haoban.base.api.common.BasePageInfo; import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.base.api.common.PageResult; import com.gic.haoban.base.api.common.PageResult;
import com.gic.haoban.base.api.common.ServiceResponse; import com.gic.haoban.base.api.common.ServiceResponse;
import com.gic.haoban.common.utils.EntityUtil; import com.gic.haoban.common.utils.EntityUtil;
import com.gic.haoban.common.utils.HaobanResponse; import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.manage.api.dto.*; import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.dto.DepartmentDTO;
import com.gic.haoban.manage.api.enums.BindTypeEnum;
import com.gic.haoban.manage.api.enums.ChannelCodeEnum; import com.gic.haoban.manage.api.enums.ChannelCodeEnum;
import com.gic.haoban.manage.api.service.*; import com.gic.haoban.manage.api.service.*;
import com.gic.haoban.manage.web.auth.AuthRequestUtil; import com.gic.haoban.manage.web.auth.AuthRequestUtil;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode; import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.haoban.manage.web.qo.StaffEditJsonQO; import com.gic.haoban.manage.web.qo.StaffEditJsonQO;
import com.gic.haoban.manage.web.vo.ClerkInfoVo; import com.gic.haoban.manage.web.vo.ClerkInfoVo;
import com.gic.haoban.manage.web.vo.StaffExportVO; import com.gic.haoban.manage.web.vo.StaffExportVO;
import com.gic.haoban.manage.web.vo.StaffVO; import com.gic.haoban.manage.web.vo.StaffVO;
import com.gic.wechat.api.service.qywx.QywxUserApiService; import com.gic.wechat.api.service.qywx.QywxUserApiService;
...@@ -40,22 +36,15 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -40,22 +36,15 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collector;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.*;
import java.util.stream.Collectors;
@RestController @RestController
public class StaffController extends WebBaseController{ public class StaffController extends WebBaseController {
private static Logger logger = LoggerFactory.getLogger(StaffController.class); private static final Logger logger = LoggerFactory.getLogger(StaffController.class);
@Autowired @Autowired
private StaffApiService staffApiService; private StaffApiService staffApiService;
...@@ -91,29 +80,29 @@ public class StaffController extends WebBaseController{ ...@@ -91,29 +80,29 @@ public class StaffController extends WebBaseController{
@RequestMapping("staff-add") @RequestMapping("staff-add")
public HaobanResponse staffAdd(StaffDTO staffDTO,String departmentIds){ public HaobanResponse staffAdd(StaffDTO staffDTO, String departmentIds) {
LoginDTO login = (LoginDTO) AuthRequestUtil.getLoginUser(); LoginDTO login = (LoginDTO) AuthRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
String staffName = staffDTO.getStaffName(); String staffName = staffDTO.getStaffName();
String phoneNumber = staffDTO.getPhoneNumber(); String phoneNumber = staffDTO.getPhoneNumber();
String nationcode = staffDTO.getNationCode(); String nationcode = staffDTO.getNationCode();
staffDTO.setWxEnterpriseId(wxEnterpriseId); staffDTO.setWxEnterpriseId(wxEnterpriseId);
if(StringUtils.isBlank(staffName)) { if (StringUtils.isBlank(staffName)) {
return resultResponse(HaoBanErrCode.ERR_10004); return resultResponse(HaoBanErrCode.ERR_10004);
} }
StaffDTO staff = staffApiService.selectByNationcodeAndPhoneNumber(wxEnterpriseId,nationcode,phoneNumber); StaffDTO staff = staffApiService.selectByNationcodeAndPhoneNumber(wxEnterpriseId, nationcode, phoneNumber);
if(staff != null) { if (staff != null) {
return resultResponse(HaoBanErrCode.ERR_10005); return resultResponse(HaoBanErrCode.ERR_10005);
} }
ServiceResponse hr = staffApiService.add(staffDTO,departmentIds); ServiceResponse hr = staffApiService.add(staffDTO, departmentIds);
if(hr.getCode() == 0){ if (hr.getCode() == 0) {
return resultResponse(HaoBanErrCode.ERR_DEFINE, hr.getMessage(), null, hr.getMessage()); return resultResponse(HaoBanErrCode.ERR_DEFINE, hr.getMessage(), null, hr.getMessage());
} }
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
@RequestMapping("staff-sel") @RequestMapping("staff-sel")
public HaobanResponse staffSel(String staffId,String staffDepartmentRelatedId){ public HaobanResponse staffSel(String staffId) {
StaffDTO staff = staffApiService.selectById(staffId); StaffDTO staff = staffApiService.selectById(staffId);
List<StaffDepartmentRelatedDTO> list = staffApiService.listStaffDepartmentByStaffId(staffId); List<StaffDepartmentRelatedDTO> list = staffApiService.listStaffDepartmentByStaffId(staffId);
List<DepartmentDTO> departmentList = new ArrayList<DepartmentDTO>(); List<DepartmentDTO> departmentList = new ArrayList<DepartmentDTO>();
...@@ -123,20 +112,20 @@ public class StaffController extends WebBaseController{ ...@@ -123,20 +112,20 @@ public class StaffController extends WebBaseController{
} }
staff.setDepartmentList(departmentList); staff.setDepartmentList(departmentList);
return resultResponse(HaoBanErrCode.ERR_1,staff); return resultResponse(HaoBanErrCode.ERR_1, staff);
} }
@RequestMapping("staff-list") @RequestMapping("staff-list")
public HaobanResponse staffList(String departmentId,Integer activeFlag,String keyWord,BasePageInfo pageInfo){ public HaobanResponse staffList(String departmentId, Integer activeFlag, String keyWord, BasePageInfo pageInfo) {
LoginDTO login = (LoginDTO) AuthRequestUtil.getLoginUser(); LoginDTO login = (LoginDTO) AuthRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
List<String> departmentIdSet = new ArrayList<>(); List<String> departmentIdSet = new ArrayList<>();
departmentIdSet.add(departmentId); departmentIdSet.add(departmentId);
List<DepartmentDTO> sonDepartmentList = departmentApiService.listSonByDepartmentIds(departmentIdSet, wxEnterpriseId); List<DepartmentDTO> sonDepartmentList = departmentApiService.listSonByDepartmentIds(departmentIdSet, wxEnterpriseId);
List<String> departmentIds = sonDepartmentList.stream().map(DepartmentDTO::getDepartmentId).collect(Collectors.toList()); List<String> departmentIds = sonDepartmentList.stream().map(DepartmentDTO::getDepartmentId).collect(Collectors.toList());
Page<StaffDTO> page = staffApiService.pageStaff(departmentIds,activeFlag,keyWord,pageInfo); Page<StaffDTO> page = staffApiService.pageStaff(departmentIds, activeFlag, keyWord, pageInfo);
List<StaffDTO> list = page.getResult(); List<StaffDTO> list = page.getResult();
logger.info("pages={},totalPage={}",page.getCurrentPage(),page.getTotalPage()); logger.info("pages={},totalPage={}", page.getCurrentPage(), page.getTotalPage());
PageResult<StaffDTO> pageVo = new PageResult<>(); PageResult<StaffDTO> pageVo = new PageResult<>();
pageVo.setList(list); pageVo.setList(list);
pageVo.setPageNum(page.getCurrentPage()); pageVo.setPageNum(page.getCurrentPage());
...@@ -147,13 +136,13 @@ public class StaffController extends WebBaseController{ ...@@ -147,13 +136,13 @@ public class StaffController extends WebBaseController{
} }
@RequestMapping("staff-del") @RequestMapping("staff-del")
public HaobanResponse staffDel(String staffDepartmentStaffRelatedId){ public HaobanResponse staffDel(String staffDepartmentStaffRelatedId) {
StaffDepartmentRelatedDTO related = staffDepartmentRelatedApiService.getByStaffDepartmentRelatedId(staffDepartmentStaffRelatedId); StaffDepartmentRelatedDTO related = staffDepartmentRelatedApiService.getByStaffDepartmentRelatedId(staffDepartmentStaffRelatedId);
if(related == null){ if (related == null) {
return resultResponse(HaoBanErrCode.ERR_8); return resultResponse(HaoBanErrCode.ERR_8);
} }
DepartmentDTO department = departmentApiService.selectById(related.getDepartmentId()); DepartmentDTO department = departmentApiService.selectById(related.getDepartmentId());
if(department.getTempFlag() != null && department.getTempFlag() == 1){ if (department.getTempFlag() != null && department.getTempFlag() == 1) {
return resultResponse(HaoBanErrCode.ERR_10014); return resultResponse(HaoBanErrCode.ERR_10014);
} }
staffApiService.del(staffDepartmentStaffRelatedId); staffApiService.del(staffDepartmentStaffRelatedId);
...@@ -161,20 +150,20 @@ public class StaffController extends WebBaseController{ ...@@ -161,20 +150,20 @@ public class StaffController extends WebBaseController{
} }
@RequestMapping("staff-batch-del") @RequestMapping("staff-batch-del")
public HaobanResponse staffBatchDel(String staffDepartmentRelatedIds){ public HaobanResponse staffBatchDel(String staffDepartmentRelatedIds) {
if(StringUtils.isBlank(staffDepartmentRelatedIds)){ if (StringUtils.isBlank(staffDepartmentRelatedIds)) {
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
} }
String[] staffArr = staffDepartmentRelatedIds.split(","); String[] staffArr = staffDepartmentRelatedIds.split(",");
int size = staffArr.length; int size = staffArr.length;
for (String string : staffArr) { for (String string : staffArr) {
StaffDepartmentRelatedDTO related = staffDepartmentRelatedApiService.getByStaffDepartmentRelatedId(string); StaffDepartmentRelatedDTO related = staffDepartmentRelatedApiService.getByStaffDepartmentRelatedId(string);
if(related == null){ if (related == null) {
continue; continue;
} }
DepartmentDTO department = departmentApiService.selectById(related.getDepartmentId()); DepartmentDTO department = departmentApiService.selectById(related.getDepartmentId());
if(department.getTempFlag() != null && department.getTempFlag() == 1){ if (department.getTempFlag() != null && department.getTempFlag() == 1) {
if(size == 1){ if (size == 1) {
return resultResponse(HaoBanErrCode.ERR_10014); return resultResponse(HaoBanErrCode.ERR_10014);
} }
continue; continue;
...@@ -185,26 +174,26 @@ public class StaffController extends WebBaseController{ ...@@ -185,26 +174,26 @@ public class StaffController extends WebBaseController{
} }
@RequestMapping("staff-edit") @RequestMapping("staff-edit")
public HaobanResponse staffEdit(StaffDTO staffDTO,String departmentIds){ public HaobanResponse staffEdit(StaffDTO staffDTO, String departmentIds) {
String staffId = staffDTO.getStaffId(); String staffId = staffDTO.getStaffId();
StaffDTO staff = staffApiService.selectById(staffId); StaffDTO staff = staffApiService.selectById(staffId);
if(staff == null) { if (staff == null) {
return resultResponse(HaoBanErrCode.ERR_10006); return resultResponse(HaoBanErrCode.ERR_10006);
} }
String phoneNumber = staffDTO.getPhoneNumber(); String phoneNumber = staffDTO.getPhoneNumber();
String nationcode = staffDTO.getNationCode(); String nationcode = staffDTO.getNationCode();
String wxEnterpriseId = staff.getWxEnterpriseId(); String wxEnterpriseId = staff.getWxEnterpriseId();
StaffDTO old = staffApiService.selectByNationcodeAndPhoneNumber(wxEnterpriseId,nationcode,phoneNumber); StaffDTO old = staffApiService.selectByNationcodeAndPhoneNumber(wxEnterpriseId, nationcode, phoneNumber);
if(old != null && !old.getStaffId().equals(staffId)){ if (old != null && !old.getStaffId().equals(staffId)) {
return resultResponse(HaoBanErrCode.ERR_10005); return resultResponse(HaoBanErrCode.ERR_10005);
} }
staffApiService.staffEdit(staffDTO,departmentIds); staffApiService.staffEdit(staffDTO, departmentIds);
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
@RequestMapping("staff-invite") @RequestMapping("staff-invite")
public HaobanResponse staffInvite(String staffIds){ public HaobanResponse staffInvite(String staffIds) {
if(StringUtils.isBlank(staffIds)){ if (StringUtils.isBlank(staffIds)) {
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
} }
String[] staffArr = staffIds.split(","); String[] staffArr = staffIds.split(",");
...@@ -212,16 +201,16 @@ public class StaffController extends WebBaseController{ ...@@ -212,16 +201,16 @@ public class StaffController extends WebBaseController{
String wxEnterpriseId = ""; String wxEnterpriseId = "";
for (String staffId : staffArr) { for (String staffId : staffArr) {
StaffDTO staff = staffApiService.selectById(staffId); StaffDTO staff = staffApiService.selectById(staffId);
if(staff != null){ if (staff != null) {
String userId = staff.getWxUserId(); String userId = staff.getWxUserId();
wxEnterpriseId = staff.getWxEnterpriseId(); wxEnterpriseId = staff.getWxEnterpriseId();
userArr.add(userId); userArr.add(userId);
} }
} }
WxEnterpriseDTO enterpriseDTO = wxEnterpriseApiService.getOne(wxEnterpriseId); WxEnterpriseDTO enterpriseDTO = wxEnterpriseApiService.getOne(wxEnterpriseId);
WxApplicationDTO application = wxApplicationApiService.selectByWxEnterpriseIdAndApplicationType(wxEnterpriseId,1); WxApplicationDTO application = wxApplicationApiService.selectByWxEnterpriseIdAndApplicationType(wxEnterpriseId, 1);
if(enterpriseDTO != null) { if (enterpriseDTO != null) {
if(application != null) { if (application != null) {
qywxUserApiService.inviteUser(enterpriseDTO.getCorpid(), application.getSiteId(), userArr); qywxUserApiService.inviteUser(enterpriseDTO.getCorpid(), application.getSiteId(), userArr);
} }
} }
...@@ -230,15 +219,15 @@ public class StaffController extends WebBaseController{ ...@@ -230,15 +219,15 @@ public class StaffController extends WebBaseController{
} }
@RequestMapping("staff-batch-edit-department") @RequestMapping("staff-batch-edit-department")
public HaobanResponse staffBatchEditDepartment(String params){ public HaobanResponse staffBatchEditDepartment(String params) {
List<StaffEditJsonQO> list = JSON.parseArray(params, StaffEditJsonQO.class); List<StaffEditJsonQO> list = JSON.parseArray(params, StaffEditJsonQO.class);
for (StaffEditJsonQO staffEditJsonQO : list) { for (StaffEditJsonQO staffEditJsonQO : list) {
String staffDepartmentRelatedId = staffEditJsonQO.getStaffDepartmentRelatedId(); String staffDepartmentRelatedId = staffEditJsonQO.getStaffDepartmentRelatedId();
String departmentIds = staffEditJsonQO.getCurrDepartmentIds(); String departmentIds = staffEditJsonQO.getCurrDepartmentIds();
StaffDepartmentRelatedDTO related = staffDepartmentRelatedApiService.getByStaffDepartmentRelatedId(staffDepartmentRelatedId); StaffDepartmentRelatedDTO related = staffDepartmentRelatedApiService.getByStaffDepartmentRelatedId(staffDepartmentRelatedId);
if(related != null) { if (related != null) {
StaffDTO staff = staffApiService.selectById(related.getStaffId()); StaffDTO staff = staffApiService.selectById(related.getStaffId());
if(staff != null) { if (staff != null) {
staffApiService.staffEdit(staff, departmentIds); staffApiService.staffEdit(staff, departmentIds);
} }
} }
...@@ -248,10 +237,10 @@ public class StaffController extends WebBaseController{ ...@@ -248,10 +237,10 @@ public class StaffController extends WebBaseController{
@RequestMapping("get-clerk-info") @RequestMapping("get-clerk-info")
public HaobanResponse getClerkInfo(String clerkId){ public HaobanResponse getClerkInfo(String clerkId) {
StaffVO staffVO = new StaffVO(); StaffVO staffVO = new StaffVO();
ClerkDTO clerk = clerkService.getClerkByClerkId(clerkId); ClerkDTO clerk = clerkService.getClerkByClerkId(clerkId);
if(clerk != null) { if (clerk != null) {
String storeId = clerk.getStoreId(); String storeId = clerk.getStoreId();
StoreDTO storeDTO = storeService.getStore(storeId); StoreDTO storeDTO = storeService.getStore(storeId);
staffVO.setStaffName(clerk.getClerkName()); staffVO.setStaffName(clerk.getClerkName());
...@@ -259,42 +248,43 @@ public class StaffController extends WebBaseController{ ...@@ -259,42 +248,43 @@ public class StaffController extends WebBaseController{
staffVO.setPhoneNumber(clerk.getPhoneNumber()); staffVO.setPhoneNumber(clerk.getPhoneNumber());
staffVO.setPosition(clerk.getPositionName()); staffVO.setPosition(clerk.getPositionName());
staffVO.setHeadImg(clerk.getHeadImgUrl()); staffVO.setHeadImg(clerk.getHeadImgUrl());
staffVO.setDepartmentName(storeDTO==null?"":storeDTO.getStoreName()); staffVO.setDepartmentName(storeDTO == null ? "" : storeDTO.getStoreName());
} }
return resultResponse(HaoBanErrCode.ERR_1,staffVO); return resultResponse(HaoBanErrCode.ERR_1, staffVO);
} }
@RequestMapping("get-staff-info") @RequestMapping("get-staff-info")
public HaobanResponse getStaffInfo(String staffId){ public HaobanResponse getStaffInfo(String staffId) {
StaffVO staffVO = new StaffVO(); StaffVO staffVO = new StaffVO();
StaffDTO staff = staffApiService.selectById(staffId); StaffDTO staff = staffApiService.selectById(staffId);
if(staff != null) { if (staff != null) {
List<StaffDepartmentRelatedDTO> list = staffDepartmentRelatedApiService.listByStaffId(staffId); List<StaffDepartmentRelatedDTO> list = staffDepartmentRelatedApiService.listByStaffId(staffId);
staffVO.setStaffName(staff.getStaffName()); staffVO.setStaffName(staff.getStaffName());
staffVO.setNationCode(staff.getNationCode()); staffVO.setNationCode(staff.getNationCode());
staffVO.setPhoneNumber(staff.getPhoneNumber()); staffVO.setPhoneNumber(staff.getPhoneNumber());
staffVO.setPosition(staff.getPostion()); staffVO.setPosition(staff.getPostion());
staffVO.setHeadImg(staff.getHeadImg()); staffVO.setHeadImg(staff.getHeadImg());
if(CollectionUtil.isNotEmpty(list)){ if (CollectionUtil.isNotEmpty(list)) {
String departmentId = list.get(0).getDepartmentId(); String departmentId = list.get(0).getDepartmentId();
DepartmentDTO departmentDTO = departmentApiService.selectById(departmentId); DepartmentDTO departmentDTO = departmentApiService.selectById(departmentId);
if(departmentDTO != null){ if (departmentDTO != null) {
staffVO.setDepartmentName(departmentDTO.getDepartmentName()); staffVO.setDepartmentName(departmentDTO.getDepartmentName());
} }
} }
} }
return resultResponse(HaoBanErrCode.ERR_1,staffVO); return resultResponse(HaoBanErrCode.ERR_1, staffVO);
} }
/** /**
* 成员关联关系接口 * 成员关联关系接口
*
* @param staffId * @param staffId
* @return * @return
*/ */
@RequestMapping("staff-clerk-relation") @RequestMapping("staff-clerk-relation")
public HaobanResponse staffClerkList(String staffId){ public HaobanResponse staffClerkList(String staffId) {
StaffDTO staff = staffApiService.selectById(staffId); StaffDTO staff = staffApiService.selectById(staffId);
if(staff == null) { if (staff == null) {
return resultResponse(HaoBanErrCode.ERR_10007); return resultResponse(HaoBanErrCode.ERR_10007);
} }
List<StaffClerkInfoDTO> retList = staffClerkRelationApiService.listBindDetailByStaffId(staffId); List<StaffClerkInfoDTO> retList = staffClerkRelationApiService.listBindDetailByStaffId(staffId);
...@@ -311,28 +301,29 @@ public class StaffController extends WebBaseController{ ...@@ -311,28 +301,29 @@ public class StaffController extends WebBaseController{
} }
}); });
} }
return resultResponse(HaoBanErrCode.ERR_1,retList); return resultResponse(HaoBanErrCode.ERR_1, retList);
} }
/** /**
* 成员关联关系接口 * 成员关联关系接口
*
* @param staffId * @param staffId
* @return * @return
*/ */
@RequestMapping("del-clerk-relation") @RequestMapping("del-clerk-relation")
public HaobanResponse delStaffClerkList(String staffId,String clerkId){ public HaobanResponse delStaffClerkList(String staffId, String clerkId) {
LoginDTO login = (LoginDTO) AuthRequestUtil.getLoginUser(); LoginDTO login = (LoginDTO) AuthRequestUtil.getLoginUser();
StaffDTO staffDTO = login.getStaffDTO(); StaffDTO staffDTO = login.getStaffDTO();
if (staffDTO==null) { if (staffDTO == null) {
logger.info("登录异常"); logger.info("登录异常");
return resultResponse(HaoBanErrCode.ERR_4); return resultResponse(HaoBanErrCode.ERR_4);
} }
StaffDTO staff = staffApiService.selectById(staffId); StaffDTO staff = staffApiService.selectById(staffId);
if(staff == null) { if (staff == null) {
return resultResponse(HaoBanErrCode.ERR_10007); return resultResponse(HaoBanErrCode.ERR_10007);
} }
boolean b = staffClerkRelationApiService.unbindByStaffAndClerkId(staffDTO.getStaffId(), clerkId); boolean b = staffClerkRelationApiService.unbindByStaffAndClerkId(staffDTO.getStaffId(), clerkId);
return resultResponse(HaoBanErrCode.ERR_1,b); return resultResponse(HaoBanErrCode.ERR_1, b);
} }
//获取门店详情 //获取门店详情
...@@ -345,25 +336,20 @@ public class StaffController extends WebBaseController{ ...@@ -345,25 +336,20 @@ public class StaffController extends WebBaseController{
if (enterprise.getExpireTime() == null) { if (enterprise.getExpireTime() == null) {
if (enterprise.getEnabledState() == null) { if (enterprise.getEnabledState() == null) {
return false; return false;
} else if (enterprise.getEnabledState() == 1) { } else return enterprise.getEnabledState() != 1;
return false; } else
} else { return enterprise.getExpireTime().getTime() <= System.currentTimeMillis() || enterprise.getEnabledState() != 1;
return true;
}
} else if (enterprise.getExpireTime().getTime() > System.currentTimeMillis() && enterprise.getEnabledState() == 1) {
return false;
}
return true;
} }
/** /**
* 成员关联关系搜索接口 * 成员关联关系搜索接口
*
* @param search * @param search
* @return * @return
*/ */
@RequestMapping("search-clerk-relation") @RequestMapping("search-clerk-relation")
public HaobanResponse staffClerkSearch(String search){ public HaobanResponse staffClerkSearch(String search) {
LoginDTO login = (LoginDTO) AuthRequestUtil.getLoginUser(); LoginDTO login = (LoginDTO) AuthRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
if (null == wxEnterpriseId) { if (null == wxEnterpriseId) {
...@@ -373,7 +359,7 @@ public class StaffController extends WebBaseController{ ...@@ -373,7 +359,7 @@ public class StaffController extends WebBaseController{
if (CollectionUtil.isEmpty(list)) { if (CollectionUtil.isEmpty(list)) {
return resultResponse(HaoBanErrCode.ERR_10010); return resultResponse(HaoBanErrCode.ERR_10010);
} }
List<String> enterpriseIds = list.stream().filter(dto->{ List<String> enterpriseIds = list.stream().filter(dto -> {
boolean over = isEnterpriseOver(dto.getEnterpriseId()); boolean over = isEnterpriseOver(dto.getEnterpriseId());
return !over; return !over;
}).map(EnterpriseDetailDTO::getEnterpriseId).collect(Collectors.toList()); }).map(EnterpriseDetailDTO::getEnterpriseId).collect(Collectors.toList());
...@@ -394,7 +380,7 @@ public class StaffController extends WebBaseController{ ...@@ -394,7 +380,7 @@ public class StaffController extends WebBaseController{
if (hasRelationClerkIds.containsKey(clerkInfoVo.getClerkId())) { if (hasRelationClerkIds.containsKey(clerkInfoVo.getClerkId())) {
clerkInfoVo.setRelationStatus(1); clerkInfoVo.setRelationStatus(1);
StaffDTO staffDTO = staffApiService.selectById(hasRelationClerkIds.get(clerkInfoVo.getClerkId()).getStaffId()); StaffDTO staffDTO = staffApiService.selectById(hasRelationClerkIds.get(clerkInfoVo.getClerkId()).getStaffId());
if (staffDTO !=null) { if (staffDTO != null) {
clerkInfoVo.setStaffName(staffDTO.getStaffName()); clerkInfoVo.setStaffName(staffDTO.getStaffName());
clerkInfoVo.setStaffId(staffDTO.getStaffId()); clerkInfoVo.setStaffId(staffDTO.getStaffId());
} }
...@@ -409,23 +395,23 @@ public class StaffController extends WebBaseController{ ...@@ -409,23 +395,23 @@ public class StaffController extends WebBaseController{
} }
} }
return resultResponse(HaoBanErrCode.ERR_1,retList); return resultResponse(HaoBanErrCode.ERR_1, retList);
//todo 还没好
} }
/** /**
* 新建关联 * 新建关联
*
* @param staffId * @param staffId
* @return * @return
*/ */
@RequestMapping("add-clerk-relation") @RequestMapping("add-clerk-relation")
public HaobanResponse staffClerkSearch(String staffId,String clerkId){ public HaobanResponse staffClerkSearch(String staffId, String clerkId) {
LoginDTO login = (LoginDTO) AuthRequestUtil.getLoginUser(); LoginDTO login = (LoginDTO) AuthRequestUtil.getLoginUser();
StaffDTO loginStaffDTO = login.getStaffDTO(); StaffDTO loginStaffDTO = login.getStaffDTO();
if (null == loginStaffDTO) { if (null == loginStaffDTO) {
return resultResponse(HaoBanErrCode.ERR_4); return resultResponse(HaoBanErrCode.ERR_4);
} }
if (StringUtils.isAnyBlank(staffId,clerkId)) { if (StringUtils.isAnyBlank(staffId, clerkId)) {
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
} }
StaffDTO staffDTO = staffApiService.selectById(staffId); StaffDTO staffDTO = staffApiService.selectById(staffId);
...@@ -446,11 +432,11 @@ public class StaffController extends WebBaseController{ ...@@ -446,11 +432,11 @@ public class StaffController extends WebBaseController{
relationDTO.setWxUserId(staffDTO.getWxUserId()); relationDTO.setWxUserId(staffDTO.getWxUserId());
ServiceResponse response = staffClerkRelationApiService.bindStaffClerk(relationDTO,loginStaffDTO.getStaffId(),ChannelCodeEnum.ADMIN_BIND.getCode()); ServiceResponse response = staffClerkRelationApiService.bindStaffClerk(relationDTO, loginStaffDTO.getStaffId(), ChannelCodeEnum.ADMIN_BIND.getCode());
logger.info("返回信息:{}", JSONObject.toJSONString(response)); logger.info("返回信息:{}", JSONObject.toJSONString(response));
if (response.getCode()==1) { if (response.getCode() == 1) {
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
}else{ } else {
HaoBanErrCode errDefine = HaoBanErrCode.ERR_DEFINE; HaoBanErrCode errDefine = HaoBanErrCode.ERR_DEFINE;
errDefine.setMsg(response.getMessage()); errDefine.setMsg(response.getMessage());
return resultResponse(errDefine); return resultResponse(errDefine);
...@@ -459,56 +445,38 @@ public class StaffController extends WebBaseController{ ...@@ -459,56 +445,38 @@ public class StaffController extends WebBaseController{
/** /**
* 绑定日志 * 绑定日志
*
* @return * @return
*/ */
@RequestMapping("staff-clerk-bind-log") @RequestMapping("staff-clerk-bind-log")
public HaobanResponse bindLogs(String search,String enterpriseId,@RequestParam(defaultValue = "-1") Integer optType,BasePageInfo qo){ public HaobanResponse bindLogs(String search, String enterpriseId, @RequestParam(defaultValue = "-1") Integer optType, BasePageInfo qo) {
LoginDTO login = (LoginDTO) AuthRequestUtil.getLoginUser(); LoginDTO login = (LoginDTO) AuthRequestUtil.getLoginUser();
StaffDTO loginStaffDTO = login.getStaffDTO(); StaffDTO loginStaffDTO = login.getStaffDTO();
if (null == loginStaffDTO) { if (null == loginStaffDTO) {
return resultResponse(HaoBanErrCode.ERR_4); return resultResponse(HaoBanErrCode.ERR_4);
} }
Page<StaffClerkBindLogDetailDTO> page = staffClerkRelationApiService.pageStaffClerkBindLog(loginStaffDTO.getWxEnterpriseId(), search, enterpriseId, optType, qo); Page<StaffClerkBindLogDetailDTO> page = staffClerkRelationApiService.pageStaffClerkBindLog(loginStaffDTO.getWxEnterpriseId(), search, enterpriseId, optType, qo);
return resultResponse(HaoBanErrCode.ERR_1,page); return resultResponse(HaoBanErrCode.ERR_1, page);
} }
/** /**
*
* @Description 会员导出
* @return 返回值类型: <pre> * @return 返回值类型: <pre>
* @author 作者: qwm * @author 作者: qwm
* @date 时间: 2020年12月18日 上午11:11:35 <pre> * @date 时间: 2020年12月18日 上午11:11:35 <pre>
* @Description 会员导出
*/ */
@RequestMapping("staff-export") @RequestMapping("staff-export")
public HaobanResponse staffExport(HttpServletResponse response, HttpServletRequest request){ public HaobanResponse staffExport(HttpServletRequest request, HttpServletResponse response, String departmentId, Integer activeFlag, String keyWord, BasePageInfo pageInfo) {
BasePageInfo pageInfo = new BasePageInfo(); pageInfo.setPageSize(Integer.MAX_VALUE);
int pageSize = 1000; List<String> departmentIdSet = new ArrayList<>();
int pageNum = 1; departmentIdSet.add(departmentId);
pageInfo.setPageNum(pageNum);
pageInfo.setPageSize(pageSize);
LoginDTO login = (LoginDTO) AuthRequestUtil.getLoginUser(); LoginDTO login = (LoginDTO) AuthRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
WxEnterpriseDTO enterprise = wxEnterpriseApiService.getOne(wxEnterpriseId); List<DepartmentDTO> relationList = departmentApiService.listSonByDepartmentIds(departmentIdSet, wxEnterpriseId);
String wxEnterpriseName = ""; Map<String, DepartmentDTO> departmentMap = relationList.stream().collect(Collectors.toMap(DepartmentDTO::getDepartmentId, s -> s));
if(enterprise != null){ List<String> departmentIds = relationList.stream().map(DepartmentDTO::getDepartmentId).collect(Collectors.toList());
wxEnterpriseName = enterprise.getCorpName(); Page<StaffDTO> page = staffApiService.pageStaff(departmentIds, activeFlag, keyWord, pageInfo);
}
List<DepartmentShortDTO> relationList = departmentApiService.listAllDepartment(wxEnterpriseId);
Map<String,DepartmentShortDTO> departmentMap = relationList.stream().collect(Collectors.toMap(DepartmentShortDTO::getDepartmentId, s -> s));
List<String> departmentIds = relationList.stream().map(DepartmentShortDTO::getDepartmentId).collect(Collectors.toList());
Page<StaffDTO> page = staffApiService.pageStaff(departmentIds,null,null,pageInfo);
List<StaffDTO> list = page.getResult(); List<StaffDTO> list = page.getResult();
logger.info("pages={},totalPage={}",page.getCurrentPage(),page.getTotalPage());
while(page.getCurrentPage() < page.getTotalPage()){
pageNum ++ ;
pageInfo.setPageNum(pageNum);
page = staffApiService.pageStaff(departmentIds,null,null,pageInfo);
List<StaffDTO> sonList = page.getResult();
if(CollectionUtils.isNotEmpty(sonList)){
list.addAll(sonList);
}
logger.info("sonList={}",sonList.size());
}
List<StaffExportVO> voList = new ArrayList<>(); List<StaffExportVO> voList = new ArrayList<>();
for (StaffDTO staffDTO : list) { for (StaffDTO staffDTO : list) {
StaffExportVO vo = new StaffExportVO(); StaffExportVO vo = new StaffExportVO();
...@@ -516,33 +484,22 @@ public class StaffController extends WebBaseController{ ...@@ -516,33 +484,22 @@ public class StaffController extends WebBaseController{
vo.setPhoneNumber(staffDTO.getPhoneNumber()); vo.setPhoneNumber(staffDTO.getPhoneNumber());
vo.setStaffName(staffDTO.getStaffName()); vo.setStaffName(staffDTO.getStaffName());
vo.setPosition(staffDTO.getPostion()); vo.setPosition(staffDTO.getPostion());
vo.setDepartmentName(departmentMap.get(staffDTO.getDepartmentIds()) == null?null:departmentMap.get(staffDTO.getDepartmentIds()).getDepartmentName()); vo.setDepartmentName(departmentMap.get(staffDTO.getDepartmentIds()) == null ? null : departmentMap.get(staffDTO.getDepartmentIds()).getDepartmentName());
String active = "是"; vo.setActiveFlag((staffDTO.getActiveFlag() == null || staffDTO.getActiveFlag() == 0) ? "否" : "是");
if(staffDTO.getActiveFlag() == null || staffDTO.getActiveFlag() == 0){
active = "否";
}
vo.setActiveFlag(active);
voList.add(vo); voList.add(vo);
} }
//拼接导购信息 //拼接导购信息
WxEnterpriseDTO enterprise = wxEnterpriseApiService.getOne(wxEnterpriseId);
String wxEnterpriseName = "";
if (enterprise != null) {
wxEnterpriseName = enterprise.getCorpName();
}
mergeClerkInfo(voList, wxEnterpriseId); mergeClerkInfo(voList, wxEnterpriseId);
String fileName = wxEnterpriseName + "通讯录" + DateUtil.dateToStr(new Date(), DateUtil.FORMAT_DATE_8); String fileName = wxEnterpriseName + "通讯录" + DateUtil.dateToStr(new Date(), DateUtil.FORMAT_DATE_8);
List<String> fileList = new ArrayList<>(); List<String> titleList = Arrays.asList("姓名", "职务", "部门", "手机号", "使用状态", "关联导购");
List<String> titleList = new ArrayList<>(); List<String> fileList = Arrays.asList("staffName", "position", "departmentName", "phoneNumber", "activeFlag", "clerkName");
titleList.add("姓名");
titleList.add("职务");
titleList.add("部门");
titleList.add("手机号");
titleList.add("使用状态");
titleList.add("关联导购");
fileList.add("staffName");
fileList.add("position");
fileList.add("departmentName");
fileList.add("phoneNumber");
fileList.add("activeFlag");
fileList.add("clerkName");
try { try {
ExcelUtils.csv(response, request, fileName, voList, fileList, titleList); ExcelUtils.xls(response, request, fileName, voList, fileList, titleList);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
logger.info("导出失败"); logger.info("导出失败");
...@@ -550,47 +507,47 @@ public class StaffController extends WebBaseController{ ...@@ -550,47 +507,47 @@ public class StaffController extends WebBaseController{
return null; return null;
} }
private void mergeClerkInfo(List<StaffExportVO> list,String wxEnterpriseId){ private void mergeClerkInfo(List<StaffExportVO> list, String wxEnterpriseId) {
BasePageInfo pageInfoRelation = new BasePageInfo(); BasePageInfo pageInfoRelation = new BasePageInfo();
int pageSizeRelation = 1000; int pageSizeRelation = 1000;
int pageNumRelation = 1; int pageNumRelation = 1;
pageInfoRelation.setPageNum(pageNumRelation); pageInfoRelation.setPageNum(pageNumRelation);
pageInfoRelation.setPageSize(pageSizeRelation); pageInfoRelation.setPageSize(pageSizeRelation);
Page<StaffClerkRelationDTO> bindPage = staffClerkRelationApiService.pageByWxEnterpriseId(wxEnterpriseId,pageInfoRelation); Page<StaffClerkRelationDTO> bindPage = staffClerkRelationApiService.pageByWxEnterpriseId(wxEnterpriseId, pageInfoRelation);
List<StaffClerkRelationDTO> bindList = bindPage.getResult(); List<StaffClerkRelationDTO> bindList = bindPage.getResult();
Set<String> clerkIdList = bindList.stream().map(StaffClerkRelationDTO::getClerkId).collect(Collectors.toSet()); Set<String> clerkIdList = bindList.stream().map(StaffClerkRelationDTO::getClerkId).collect(Collectors.toSet());
List<ClerkDTO> clerkList = clerkService.getClerkByClerkIds(clerkIdList); List<ClerkDTO> clerkList = clerkService.getClerkByClerkIds(clerkIdList);
while (bindPage.getCurrentPage() < bindPage.getTotalPage()) { while (bindPage.getCurrentPage() < bindPage.getTotalPage()) {
pageNumRelation ++ ; pageNumRelation++;
pageInfoRelation.setPageNum(pageNumRelation); pageInfoRelation.setPageNum(pageNumRelation);
bindPage = staffClerkRelationApiService.pageByWxEnterpriseId(wxEnterpriseId,pageInfoRelation); bindPage = staffClerkRelationApiService.pageByWxEnterpriseId(wxEnterpriseId, pageInfoRelation);
List<StaffClerkRelationDTO> sonList = bindPage.getResult(); List<StaffClerkRelationDTO> sonList = bindPage.getResult();
Set<String> clerkSonIdList = sonList.stream().map(StaffClerkRelationDTO::getClerkId).collect(Collectors.toSet()); Set<String> clerkSonIdList = sonList.stream().map(StaffClerkRelationDTO::getClerkId).collect(Collectors.toSet());
List<ClerkDTO> sonClerkList = clerkService.getClerkByClerkIds(clerkSonIdList); List<ClerkDTO> sonClerkList = clerkService.getClerkByClerkIds(clerkSonIdList);
if(CollectionUtils.isNotEmpty(sonClerkList)){ if (CollectionUtils.isNotEmpty(sonClerkList)) {
clerkList.addAll(sonClerkList); clerkList.addAll(sonClerkList);
} }
if(CollectionUtils.isNotEmpty(sonList)){ if (CollectionUtils.isNotEmpty(sonList)) {
bindList.addAll(sonList); bindList.addAll(sonList);
} }
} }
Map<String,List<StaffClerkRelationDTO>> bindMap = bindList.stream().collect(Collectors.groupingBy(StaffClerkRelationDTO::getStaffId)); Map<String, List<StaffClerkRelationDTO>> bindMap = bindList.stream().collect(Collectors.groupingBy(StaffClerkRelationDTO::getStaffId));
Map<String,ClerkDTO> clerkMap = clerkList.stream().collect(Collectors.toMap(ClerkDTO::getClerkId, s -> s, (v1, v2) -> v2)); Map<String, ClerkDTO> clerkMap = clerkList.stream().collect(Collectors.toMap(ClerkDTO::getClerkId, s -> s, (v1, v2) -> v2));
for (StaffExportVO staffDTO : list) { for (StaffExportVO staffDTO : list) {
List<StaffClerkRelationDTO> relationList = bindMap.get(staffDTO.getStaffId()); List<StaffClerkRelationDTO> relationList = bindMap.get(staffDTO.getStaffId());
if(CollectionUtils.isNotEmpty(relationList)){ if (CollectionUtils.isNotEmpty(relationList)) {
String clerkName = ""; StringBuffer clerkName = new StringBuffer();
for (StaffClerkRelationDTO staffClerkRelationDTO : relationList) { for (StaffClerkRelationDTO staffClerkRelationDTO : relationList) {
ClerkDTO clerk = clerkMap.get(staffClerkRelationDTO.getClerkId()); ClerkDTO clerk = clerkMap.get(staffClerkRelationDTO.getClerkId());
if(clerk != null){ if (clerk != null) {
clerkName += clerk.getClerkName() + ","; clerkName.append(clerk.getClerkName()).append(",");
} }
} }
if(StringUtils.isNoneBlank(clerkName)){ if (StringUtils.isNoneBlank(clerkName.toString())) {
clerkName = clerkName.substring(0,clerkName.length() - 1); clerkName = new StringBuffer(clerkName.substring(0, clerkName.length() - 1));
} }
staffDTO.setClerkName(clerkName); staffDTO.setClerkName(clerkName.toString());
} }
} }
......
...@@ -9,19 +9,22 @@ ...@@ -9,19 +9,22 @@
http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/context/spring-context.xsd
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<context:component-scan base-package="com.gic.haoban" /> <context:component-scan base-package="com.gic.haoban"/>
<!-- 应用名称 --> <!-- 应用名称 -->
<dubbo:application name="haoban-manage3-web"/> <dubbo:application name="haoban-manage3-web"/>
<dubbo:protocol name="dubbo" port="30009"/> <dubbo:protocol name="dubbo" port="30009"/>
<!-- 使用zookeeper注册中心暴露服务地址 --> <!-- 使用zookeeper注册中心暴露服务地址 -->
<!-- <dubbo:registry address="zookeeper://192.168.1.118:2181" protocol="dubbo" id="localAdd"/> --> <!-- <dubbo:registry address="zookeeper://192.168.1.118:2181" protocol="dubbo" id="localAdd"/> -->
<!--<dubbo:registry address="zookeeper://115.159.182.172:2199" protocol="dubbo" id="remoteAdd"/>--> <!--<dubbo:registry address="zookeeper://115.159.182.172:2199" protocol="dubbo" id="remoteAdd"/>-->
<!--<dubbo:registry address="zookeeper://localhost:2181|zookeeper://115.159.182.172:2199" protocol="dubbo"/>--> <!--<dubbo:registry address="zookeeper://localhost:2181|zookeeper://115.159.182.172:2199" protocol="dubbo"/>-->
<dubbo:reference interface="com.gic.haoban.manage.api.service.StaffApiService" id="staffApiService"/> <dubbo:reference interface="com.gic.haoban.manage.api.service.StaffApiService" id="staffApiService"
<dubbo:reference interface="com.gic.haoban.manage.api.service.StaffClerkRelationApiService" id="staffClerkRelationApiService"/> timeout="15000"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService" id="wxEnterpriseRelatedApiService" /> <dubbo:reference interface="com.gic.haoban.manage.api.service.StaffClerkRelationApiService"
id="staffClerkRelationApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService"
id="wxEnterpriseRelatedApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.ApplicationApiService" id="applicationApiService"/> <dubbo:reference interface="com.gic.haoban.manage.api.service.ApplicationApiService" id="applicationApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.WxEnterpriseApiService" id="wxEnterpriseApiService"/> <dubbo:reference interface="com.gic.haoban.manage.api.service.WxEnterpriseApiService" id="wxEnterpriseApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.ClerkMainStoreRelatedApiService" <dubbo:reference interface="com.gic.haoban.manage.api.service.ClerkMainStoreRelatedApiService"
...@@ -76,4 +79,7 @@ ...@@ -76,4 +79,7 @@
<dubbo:reference id="authorizeService" interface="com.gic.enterprise.api.service.AuthorizeService" timeout="10000" <dubbo:reference id="authorizeService" interface="com.gic.enterprise.api.service.AuthorizeService" timeout="10000"
retries="0" check="false"/> retries="0" check="false"/>
<dubbo:reference id="operationSettingApiServiceImpl" interface="com.gic.haoban.manage.api.service.OperationSettingApiService" timeout="10000"
retries="0" check="false"/>
</beans> </beans>
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
<groupId>com.gic</groupId> <groupId>com.gic</groupId>
<artifactId>gic-pom-base</artifactId> <artifactId>gic-pom-base</artifactId>
<version>3.0-SNAPSHOT</version> <version>3.0-SNAPSHOT</version>
<relativePath/>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
......
package com.gic.haoban.manage.web.controller; package com.gic.haoban.manage.web.controller;
import java.util.ArrayList;
import java.util.List;
import com.gic.haoban.manage.api.enums.ChannelCodeEnum;
import com.gic.redis.data.util.RedisUtil;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
...@@ -26,10 +13,11 @@ import com.gic.haoban.common.utils.HaobanResponse; ...@@ -26,10 +13,11 @@ import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.common.utils.PageUtil; import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.communicate.api.service.SyncHaobanToGicServiceApi; import com.gic.haoban.communicate.api.service.SyncHaobanToGicServiceApi;
import com.gic.haoban.manage.api.dto.AuditDTO; import com.gic.haoban.manage.api.dto.AuditDTO;
import com.gic.haoban.manage.api.dto.StaffClerkBindLogDetailDTO;
import com.gic.haoban.manage.api.dto.StaffClerkRelationDTO; import com.gic.haoban.manage.api.dto.StaffClerkRelationDTO;
import com.gic.haoban.manage.api.dto.StaffDTO; import com.gic.haoban.manage.api.dto.StaffDTO;
import com.gic.haoban.manage.api.enums.AuditRsultType;
import com.gic.haoban.manage.api.enums.AuditType; import com.gic.haoban.manage.api.enums.AuditType;
import com.gic.haoban.manage.api.enums.ChannelCodeEnum;
import com.gic.haoban.manage.api.service.AuditApiService; import com.gic.haoban.manage.api.service.AuditApiService;
import com.gic.haoban.manage.api.service.StaffApiService; import com.gic.haoban.manage.api.service.StaffApiService;
import com.gic.haoban.manage.api.service.StaffClerkRelationApiService; import com.gic.haoban.manage.api.service.StaffClerkRelationApiService;
...@@ -37,39 +25,46 @@ import com.gic.haoban.manage.api.service.StaffDepartmentRelatedApiService; ...@@ -37,39 +25,46 @@ import com.gic.haoban.manage.api.service.StaffDepartmentRelatedApiService;
import com.gic.haoban.manage.web.anno.HttpLimit; import com.gic.haoban.manage.web.anno.HttpLimit;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode; import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.haoban.manage.web.vo.AuditVO; import com.gic.haoban.manage.web.vo.AuditVO;
import com.gic.haoban.manage.web.vo.StaffClerkBindLogDetailVO;
import com.gic.redis.data.util.RedisUtil;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
@RestController @RestController
public class AuditController extends WebBaseController{ public class AuditController extends WebBaseController {
private static Logger logger= LoggerFactory.getLogger(AuditController.class); private static final Logger logger = LoggerFactory.getLogger(AuditController.class);
@Autowired @Autowired
private AuditApiService auditApiService; private AuditApiService auditApiService;
@Autowired @Autowired
private StaffClerkRelationApiService staffClerkRelationApiService; private StaffClerkRelationApiService staffClerkRelationApiService;
@Autowired @Autowired
private StaffApiService staffApiService; private StaffApiService staffApiService;
@Autowired @Autowired
private SyncHaobanToGicServiceApi syncHaobanToGicServiceApi; private SyncHaobanToGicServiceApi syncHaobanToGicServiceApi;
@Autowired @Autowired
private StaffDepartmentRelatedApiService staffDepartmentRelatedApiService; private StaffDepartmentRelatedApiService staffDepartmentRelatedApiService;
@Autowired @Autowired
private ClerkService clerkService; private ClerkService clerkService;
//关联记录列表 //关联记录列表
@RequestMapping("clerk-apply-list") @RequestMapping("clerk-apply-list")
public HaobanResponse staffStoreList(String staffId,Integer auditType,Integer auditStatus,String wxEnterpriseId,BasePageInfo pageInfo){ public HaobanResponse staffStoreList(String staffId, Integer auditType, Integer auditStatus, String wxEnterpriseId, BasePageInfo pageInfo) {
if(StringUtils.isAnyBlank(staffId,wxEnterpriseId)){ if (StringUtils.isAnyBlank(staffId, wxEnterpriseId)) {
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
} }
Page<AuditDTO> page = auditApiService.listByStaffId(staffId,auditType,auditStatus,pageInfo); Page<AuditDTO> page = auditApiService.listByStaffId(staffId, auditType, auditStatus, pageInfo);
List<AuditDTO> list = page.getResult(); List<AuditDTO> list = page.getResult();
List<AuditVO> voList = new ArrayList<AuditVO>(); List<AuditVO> voList = new ArrayList<AuditVO>();
for (AuditDTO auditDTO : list) { for (AuditDTO auditDTO : list) {
...@@ -80,12 +75,12 @@ public class AuditController extends WebBaseController{ ...@@ -80,12 +75,12 @@ public class AuditController extends WebBaseController{
JSONObject json = JSON.parseObject(oldValue); JSONObject json = JSON.parseObject(oldValue);
clerkCode = json.getString("clerkCode"); clerkCode = json.getString("clerkCode");
staffName = json.getString("staffName"); staffName = json.getString("staffName");
if(auditDTO.getAuditType() == 3){ if (auditDTO.getAuditType() == 3) {
vo.setCommitReason("添加导购账号:("+clerkCode+")"); vo.setCommitReason("添加导购账号:(" + clerkCode + ")");
}else if(auditDTO.getAuditType() == 4){ } else if (auditDTO.getAuditType() == 4) {
vo.setCommitReason("删除导购账号:("+clerkCode+")"); vo.setCommitReason("删除导购账号:(" + clerkCode + ")");
}else{ } else {
vo.setCommitReason("绑定申请{"+staffName+"}绑定登录导购code "+clerkCode); vo.setCommitReason("绑定申请{" + staffName + "}绑定登录导购code " + clerkCode);
} }
voList.add(vo); voList.add(vo);
} }
...@@ -96,17 +91,51 @@ public class AuditController extends WebBaseController{ ...@@ -96,17 +91,51 @@ public class AuditController extends WebBaseController{
pageVO.setTotalCount(page.getTotalCount()); pageVO.setTotalCount(page.getTotalCount());
pageVO.setTotalPage(page.getTotalPage()); pageVO.setTotalPage(page.getTotalPage());
PageResult2 pageResult2 = PageUtil.getPageInfo(pageVO); PageResult2 pageResult2 = PageUtil.getPageInfo(pageVO);
return resultResponse(HaoBanErrCode.ERR_1,pageResult2); return resultResponse(HaoBanErrCode.ERR_1, pageResult2);
}
/**
* @param wxEnterpriseId 微信企业Id
* @param clerkId 导购Id
* @param enterpriseId 企业Id
* @param optType 操作类型 0 绑定 1解绑 默认传 1
* @param pageInfo 页面
* @return
*/
@RequestMapping("clerk-unbind-list")
public HaobanResponse staffUnbindList(String wxEnterpriseId, String clerkId, String enterpriseId, @RequestParam(defaultValue = "1") Integer optType, BasePageInfo pageInfo) {
Page<StaffClerkBindLogDetailDTO> page = staffClerkRelationApiService.pageStaffClerkUnBindLog(wxEnterpriseId, clerkId, enterpriseId, optType, pageInfo);
if (page == null) {
return resultResponse(HaoBanErrCode.ERR_8);
}
List<StaffClerkBindLogDetailDTO> list = page.getResult();
List<StaffClerkBindLogDetailVO> voList = new ArrayList<StaffClerkBindLogDetailVO>();
for (StaffClerkBindLogDetailDTO staffClerkBindLogDetailDTO : list) {
if (staffClerkBindLogDetailDTO.getChannelCode() != ChannelCodeEnum.AUDIT_BIND.getCode()) {
StaffClerkBindLogDetailVO vo = EntityUtil.changeEntityByJSON(StaffClerkBindLogDetailVO.class, staffClerkBindLogDetailDTO);
vo.setUnbindReason(ChannelCodeEnum.getNameByCode(vo.getChannelCode()));
voList.add(vo);
} }
}
Page<StaffClerkBindLogDetailVO> pageVO = new Page<>();
pageVO.setCurrentPage(page.getCurrentPage());
pageVO.setPageSize(page.getPageSize());
pageVO.setResult(voList);
pageVO.setTotalCount(page.getTotalCount());
pageVO.setTotalPage(page.getTotalPage());
PageResult2 pageResult2 = PageUtil.getPageInfo(pageVO);
return resultResponse(HaoBanErrCode.ERR_1, pageResult2);
}
//门店记录列表 //门店记录列表
@RequestMapping("store-apply-list") @RequestMapping("store-apply-list")
public HaobanResponse storeApplyList(String storeId,String wxEnterpriseId,BasePageInfo pageInfo,Integer auditType,Integer auditStatus){ public HaobanResponse storeApplyList(String storeId, String wxEnterpriseId, BasePageInfo pageInfo, Integer auditType, Integer auditStatus) {
if(StringUtils.isAnyBlank(storeId,wxEnterpriseId)){ if (StringUtils.isAnyBlank(storeId, wxEnterpriseId)) {
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
} }
Page<AuditDTO> page = auditApiService.pageStoreListByParams(storeId,pageInfo,auditType,auditStatus); Page<AuditDTO> page = auditApiService.pageStoreListByParams(storeId, pageInfo, auditType, auditStatus);
List<AuditDTO> list = page.getResult(); List<AuditDTO> list = page.getResult();
List<AuditVO> voList = new ArrayList<AuditVO>(); List<AuditVO> voList = new ArrayList<AuditVO>();
for (AuditDTO auditDTO : list) { for (AuditDTO auditDTO : list) {
...@@ -117,23 +146,23 @@ public class AuditController extends WebBaseController{ ...@@ -117,23 +146,23 @@ public class AuditController extends WebBaseController{
JSONObject json = JSON.parseObject(oldValue); JSONObject json = JSON.parseObject(oldValue);
clerkCode = json.getString("clerkCode"); clerkCode = json.getString("clerkCode");
staffName = json.getString("staffName"); staffName = json.getString("staffName");
String headPic = json.get("headPic")== null ? "": json.get("headPic").toString(); String headPic = json.get("headPic") == null ? "" : json.get("headPic").toString();
if(auditDTO.getAuditType() == 3){ if (auditDTO.getAuditType() == 3) {
vo.setCommitReason("添加导购账号:("+clerkCode+")"); vo.setCommitReason("添加导购账号:(" + clerkCode + ")");
}else if(auditDTO.getAuditType() == 4){ } else if (auditDTO.getAuditType() == 4) {
vo.setCommitReason("删除导购账号:("+clerkCode+")"); vo.setCommitReason("删除导购账号:(" + clerkCode + ")");
}else if(auditDTO.getAuditType() == 5){ } else if (auditDTO.getAuditType() == 5) {
vo.setCommitReason("解除绑定:("+clerkCode+")"); vo.setCommitReason("解除绑定:(" + clerkCode + ")");
}else{ } else {
vo.setCommitReason("绑定申请{"+staffName+"}绑定登录导购code "+clerkCode); vo.setCommitReason("绑定申请{" + staffName + "}绑定登录导购code " + clerkCode);
} }
vo.setCommitName(auditDTO.getCommitStaffName()); vo.setCommitName(auditDTO.getCommitStaffName());
vo.setFailReason(auditDTO.getAuditReason()); vo.setFailReason(auditDTO.getAuditReason());
vo.setStaffName(auditDTO.getCommitName()); vo.setStaffName(auditDTO.getCommitName());
vo.setClerkName(auditDTO.getCommitName()); vo.setClerkName(auditDTO.getCommitName());
vo.setHeadPic(headPic); vo.setHeadPic(headPic);
if(auditDTO.getAuditType() != 0){ if (auditDTO.getAuditType() != 0) {
vo.setUpdateTime(auditDTO.getUpdateTime()); vo.setUpdateTime(auditDTO.getUpdateTime());
} }
voList.add(vo); voList.add(vo);
...@@ -145,13 +174,14 @@ public class AuditController extends WebBaseController{ ...@@ -145,13 +174,14 @@ public class AuditController extends WebBaseController{
pageVO.setTotalCount(page.getTotalCount()); pageVO.setTotalCount(page.getTotalCount());
pageVO.setTotalPage(page.getTotalPage()); pageVO.setTotalPage(page.getTotalPage());
PageResult2 pageResult2 = PageUtil.getPageInfo(pageVO); PageResult2 pageResult2 = PageUtil.getPageInfo(pageVO);
return resultResponse(HaoBanErrCode.ERR_1,pageResult2); return resultResponse(HaoBanErrCode.ERR_1, pageResult2);
} }
//查单个 //查单个
@RequestMapping("get-store-record") @RequestMapping("get-store-record")
public HaobanResponse getStoreRecord(String auditId){ public HaobanResponse getStoreRecord(String auditId) {
if(auditId == null){ if (auditId == null) {
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
} }
AuditDTO auditDTO = auditApiService.findById(auditId); AuditDTO auditDTO = auditApiService.findById(auditId);
...@@ -162,35 +192,36 @@ public class AuditController extends WebBaseController{ ...@@ -162,35 +192,36 @@ public class AuditController extends WebBaseController{
JSONObject json = JSON.parseObject(oldValue); JSONObject json = JSON.parseObject(oldValue);
clerkCode = json.getString("clerkCode"); clerkCode = json.getString("clerkCode");
staffName = json.getString("staffName"); staffName = json.getString("staffName");
String headPic = json.get("headPic")== null ? "": json.get("headPic").toString(); String headPic = json.get("headPic") == null ? "" : json.get("headPic").toString();
if(auditDTO.getAuditType() == 3){ if (auditDTO.getAuditType() == 3) {
vo.setCommitReason("添加导购账号:("+clerkCode+")"); vo.setCommitReason("添加导购账号:(" + clerkCode + ")");
}else if(auditDTO.getAuditType() == 4){ } else if (auditDTO.getAuditType() == 4) {
vo.setCommitReason("删除导购账号:("+clerkCode+")"); vo.setCommitReason("删除导购账号:(" + clerkCode + ")");
}else if(auditDTO.getAuditType() == 5){ } else if (auditDTO.getAuditType() == 5) {
vo.setCommitReason("解除绑定:("+clerkCode+")"); vo.setCommitReason("解除绑定:(" + clerkCode + ")");
}else{ } else {
vo.setCommitReason("绑定申请{"+staffName+"}绑定登录导购code "+clerkCode); vo.setCommitReason("绑定申请{" + staffName + "}绑定登录导购code " + clerkCode);
} }
vo.setHeadPic(headPic); vo.setHeadPic(headPic);
vo.setCommitName(auditDTO.getCommitStaffName()); vo.setCommitName(auditDTO.getCommitStaffName());
vo.setFailReason(auditDTO.getAuditReason()); vo.setFailReason(auditDTO.getAuditReason());
vo.setStaffName(auditDTO.getCommitName()); vo.setStaffName(auditDTO.getCommitName());
vo.setClerkName(auditDTO.getCommitName()); vo.setClerkName(auditDTO.getCommitName());
if(auditDTO.getAuditType() != 0){ if (auditDTO.getAuditType() != 0) {
vo.setUpdateTime(auditDTO.getUpdateTime()); vo.setUpdateTime(auditDTO.getUpdateTime());
} }
return resultResponse(HaoBanErrCode.ERR_1,vo); return resultResponse(HaoBanErrCode.ERR_1, vo);
} }
//审核,1同意,2拒绝,3取消审核 //审核,1同意,2拒绝,3取消审核
@HttpLimit @HttpLimit
@RequestMapping("clerk-audit") @RequestMapping("clerk-audit")
public HaobanResponse clerkAudit(String auditId,String auditReason,Integer auditStatus,String wxEnterpriseId,String staffId){ public HaobanResponse clerkAudit(String auditId, String auditReason, Integer auditStatus, String wxEnterpriseId, String staffId) {
if(StringUtils.isAnyBlank(auditId,wxEnterpriseId)){ if (StringUtils.isAnyBlank(auditId, wxEnterpriseId)) {
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
} }
if(auditStatus == null){ if (auditStatus == null) {
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
} }
String key = "audit-" + auditId; String key = "audit-" + auditId;
...@@ -202,39 +233,39 @@ public class AuditController extends WebBaseController{ ...@@ -202,39 +233,39 @@ public class AuditController extends WebBaseController{
return resultResponse(HaoBanErrCode.ERR_10017); return resultResponse(HaoBanErrCode.ERR_10017);
} }
StaffDTO staff = staffApiService.selectById(staffId); StaffDTO staff = staffApiService.selectById(staffId);
if(staff != null){ if (staff != null) {
audit.setAuditName(staff.getStaffName()); audit.setAuditName(staff.getStaffName());
} }
String oldValue = audit.getOldValue(); String oldValue = audit.getOldValue();
JSONObject json = JSON.parseObject(oldValue); JSONObject json = JSON.parseObject(oldValue);
String clerkCode = json.get("clerkCode")==null?"":json.get("clerkCode").toString(); String clerkCode = json.get("clerkCode") == null ? "" : json.get("clerkCode").toString();
String enterpriseId = audit.getEnterpriseId(); String enterpriseId = audit.getEnterpriseId();
String clerkId = json.getString("clerkId")==null?"":json.get("clerkId").toString(); String clerkId = json.getString("clerkId") == null ? "" : json.get("clerkId").toString();
String clerkName = json.get("clerkName")==null?"":json.get("clerkName").toString(); String clerkName = json.get("clerkName") == null ? "" : json.get("clerkName").toString();
String wxUserId = json.getString("wxUserId")==null?"":json.get("wxUserId").toString(); String wxUserId = json.getString("wxUserId") == null ? "" : json.get("wxUserId").toString();
Integer sex = json.getInteger("sex")==null?0:json.getInteger("sex"); Integer sex = json.getInteger("sex") == null ? 0 : json.getInteger("sex");
String phoneNumber = json.getString("phoneNumber")==null?"":json.get("phoneNumber").toString(); String phoneNumber = json.getString("phoneNumber") == null ? "" : json.get("phoneNumber").toString();
String nationCode = json.getString("nationCode")==null?"":json.get("nationCode").toString(); String nationCode = json.getString("nationCode") == null ? "" : json.get("nationCode").toString();
String auditStaffId = json.getString("staffId")==null?"":json.get("staffId").toString(); String auditStaffId = json.getString("staffId") == null ? "" : json.get("staffId").toString();
String storeId = audit.getCommitStoreId(); String storeId = audit.getCommitStoreId();
if(auditStatus == 1){ if (auditStatus == 1) {
//审核同意 //审核同意
if(audit.getAuditType() == AuditType.CLERK_BIND.getCode()){ if (audit.getAuditType() == AuditType.CLERK_BIND.getCode()) {
//导购绑定 //导购绑定
StaffClerkRelationDTO staffClerkRelation = staffClerkRelationApiService.getByCodeAndEnterpriseId(clerkCode,enterpriseId); StaffClerkRelationDTO staffClerkRelation = staffClerkRelationApiService.getByCodeAndEnterpriseId(clerkCode, enterpriseId);
StaffClerkRelationDTO have = staffClerkRelationApiService.getOneByStoreIdAndStaffId(storeId, auditStaffId); StaffClerkRelationDTO have = staffClerkRelationApiService.getOneByStoreIdAndStaffId(storeId, auditStaffId);
if(have !=null){ if (have != null) {
audit.setAuditStatus(5); audit.setAuditStatus(5);
audit.setAuditReason("该成员在该门店下已经绑定过一个导购了"); audit.setAuditReason("该成员在该门店下已经绑定过一个导购了");
}else{ } else {
ClerkDTO clerkDTO = clerkService.getClerkByClerkId(clerkId); ClerkDTO clerkDTO = clerkService.getClerkByClerkId(clerkId);
if(clerkDTO == null){ if (clerkDTO == null) {
audit.setAuditStatus(5); audit.setAuditStatus(5);
audit.setAuditReason("gic已删除该导购"); audit.setAuditReason("gic已删除该导购");
}else{ } else {
if(staffClerkRelation == null){ if (staffClerkRelation == null) {
staffClerkRelation = new StaffClerkRelationDTO(); staffClerkRelation = new StaffClerkRelationDTO();
} }
staffClerkRelation.setEnterpriseId(enterpriseId); staffClerkRelation.setEnterpriseId(enterpriseId);
...@@ -244,44 +275,44 @@ public class AuditController extends WebBaseController{ ...@@ -244,44 +275,44 @@ public class AuditController extends WebBaseController{
staffClerkRelation.setWxEnterpriseId(wxEnterpriseId); staffClerkRelation.setWxEnterpriseId(wxEnterpriseId);
staffClerkRelation.setWxUserId(wxUserId); staffClerkRelation.setWxUserId(wxUserId);
staffClerkRelation.setStaffId(auditStaffId); staffClerkRelation.setStaffId(auditStaffId);
staffClerkRelationApiService.delAndInsert(staffClerkRelation,staffId, ChannelCodeEnum.AUDIT_BIND.getCode()); staffClerkRelationApiService.delAndInsert(staffClerkRelation, staffId, ChannelCodeEnum.AUDIT_BIND.getCode());
audit.setAuditStatus(1); audit.setAuditStatus(1);
//发送消息 //发送消息
staffDepartmentRelatedApiService.sendClerkBind(auditStaffId, clerkCode,storeId, auditStatus, auditReason); staffDepartmentRelatedApiService.sendClerkBind(auditStaffId, clerkCode, storeId, auditStatus, auditReason);
} }
} }
} }
if(audit.getAuditType() == AuditType.CLERK_ADD.getCode()){ if (audit.getAuditType() == AuditType.CLERK_ADD.getCode()) {
//导购新增 //导购新增
boolean flag = syncHaobanToGicServiceApi.syncClerkToGicClerkAdd(storeId, clerkCode, sex, clerkName, phoneNumber, nationCode, null); boolean flag = syncHaobanToGicServiceApi.syncClerkToGicClerkAdd(storeId, clerkCode, sex, clerkName, phoneNumber, nationCode, null);
if(!flag){ if (!flag) {
return resultResponse(HaoBanErrCode.ERR_10010); return resultResponse(HaoBanErrCode.ERR_10010);
} }
audit.setAuditStatus(1); audit.setAuditStatus(1);
// ClerkDTO clerkDTO = clerkService.getClerkByClerkCode(enterpriseId, clerkCode); // ClerkDTO clerkDTO = clerkService.getClerkByClerkCode(enterpriseId, clerkCode);
staffDepartmentRelatedApiService.sendClerkAdd(clerkName, clerkCode, storeId,auditStatus, auditReason); staffDepartmentRelatedApiService.sendClerkAdd(clerkName, clerkCode, storeId, auditStatus, auditReason);
} }
if(audit.getAuditType() == AuditType.CLERK_DEL.getCode()){ if (audit.getAuditType() == AuditType.CLERK_DEL.getCode()) {
//导购删除 //导购删除
syncHaobanToGicServiceApi.delGicClerk(clerkId); syncHaobanToGicServiceApi.delGicClerk(clerkId);
audit.setAuditStatus(1); audit.setAuditStatus(1);
staffDepartmentRelatedApiService.sendClerkDel(clerkName, clerkCode,storeId, auditStatus, auditReason); staffDepartmentRelatedApiService.sendClerkDel(clerkName, clerkCode, storeId, auditStatus, auditReason);
} }
}else if(auditStatus == 2){ } else if (auditStatus == 2) {
//审核拒绝 //审核拒绝
audit.setAuditReason(auditReason); audit.setAuditReason(auditReason);
audit.setAuditStatus(2); audit.setAuditStatus(2);
//发送消息 //发送消息
if(audit.getAuditType() == AuditType.CLERK_BIND.getCode()){ if (audit.getAuditType() == AuditType.CLERK_BIND.getCode()) {
staffDepartmentRelatedApiService.sendStaffBind(auditStaffId, clerkCode, storeId, auditStatus, auditReason); staffDepartmentRelatedApiService.sendStaffBind(auditStaffId, clerkCode, storeId, auditStatus, auditReason);
}else if (audit.getAuditType() == AuditType.CLERK_ADD.getCode()){ } else if (audit.getAuditType() == AuditType.CLERK_ADD.getCode()) {
staffDepartmentRelatedApiService.sendClerkAdd(clerkName, clerkCode, storeId,auditStatus, auditReason); staffDepartmentRelatedApiService.sendClerkAdd(clerkName, clerkCode, storeId, auditStatus, auditReason);
}else if (audit.getAuditType() == AuditType.CLERK_DEL.getCode()){ } else if (audit.getAuditType() == AuditType.CLERK_DEL.getCode()) {
staffDepartmentRelatedApiService.sendClerkDel(clerkName, clerkCode,storeId, auditStatus, auditReason); staffDepartmentRelatedApiService.sendClerkDel(clerkName, clerkCode, storeId, auditStatus, auditReason);
} }
}else if(auditStatus == 3){ } else if (auditStatus == 3) {
//取消审核 //取消审核
audit.setAuditStatus(3); audit.setAuditStatus(3);
} }
......
...@@ -32,6 +32,7 @@ import org.apache.commons.lang3.StringUtils; ...@@ -32,6 +32,7 @@ import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -80,6 +81,10 @@ public class ClerkController extends WebBaseController{ ...@@ -80,6 +81,10 @@ public class ClerkController extends WebBaseController{
@Autowired @Autowired
private ExternalClerkRelatedApiService externalClerkRelatedApiService; private ExternalClerkRelatedApiService externalClerkRelatedApiService;
@Autowired
private OperationSettingApiService operationSettingApiService;
//选择成员列表 //选择成员列表
@RequestMapping("/staff-list") @RequestMapping("/staff-list")
public HaobanResponse staffList(String storeId) { public HaobanResponse staffList(String storeId) {
...@@ -215,6 +220,24 @@ public class ClerkController extends WebBaseController{ ...@@ -215,6 +220,24 @@ public class ClerkController extends WebBaseController{
return resultResponse(HaoBanErrCode.ERR_1, auditSettingVO); return resultResponse(HaoBanErrCode.ERR_1, auditSettingVO);
} }
@RequestMapping("/get-operation-setting")
public HaobanResponse getOperatorSetting(String wxEnterpriseId, String enterpriseId) {
// 查询操作配置
OperationSettingDTO dto = operationSettingApiService.getByWxEnterpriseId(wxEnterpriseId);
if (Objects.isNull(dto)) {
return resultResponse(HaoBanErrCode.ERR_8);
}
OperationSettingVO vo = EntityUtil.changeEntity(OperationSettingVO.class, dto);
// 是否开启导购编辑,如果不开启,默认无效
WxEnterpriseRelationDetailDTO info = wxEnterpriseRelatedApiService.getEnterpriseBindInfo(wxEnterpriseId, enterpriseId);
if (Objects.nonNull(info) && info.getClerkEditFlag() == 1) {
vo.setEffectFlag(1);
} else {
vo.setEffectFlag(0);
}
return resultResponse(HaoBanErrCode.ERR_1, vo);
}
//新增店员 //新增店员
@HttpLimit @HttpLimit
@RequestMapping("/staff-add") @RequestMapping("/staff-add")
...@@ -226,12 +249,20 @@ public class ClerkController extends WebBaseController{ ...@@ -226,12 +249,20 @@ public class ClerkController extends WebBaseController{
String nationcode = staffDTO.getNationCode(); String nationcode = staffDTO.getNationCode();
String postion = staffDTO.getPostion(); String postion = staffDTO.getPostion();
Integer sex = staffDTO.getSex(); Integer sex = staffDTO.getSex();
if(StringUtils.isAnyBlank(staffName,phoneNumber,commitName)) { if(StringUtils.isAnyBlank(staffName, commitName)) {
return resultResponse(HaoBanErrCode.ERR_10004); return resultResponse(HaoBanErrCode.ERR_10004);
} }
if(!GooglePhoneNumberUtil.checkPhoneNumber(phoneNumber, nationcode)){ if (StringUtils.isEmpty(clerkCode)) {
return resultResponse(HaoBanErrCode.ERR_111116);
}
if(StringUtils.isNotEmpty(phoneNumber) &&
!GooglePhoneNumberUtil.checkPhoneNumber(phoneNumber, nationcode)){
return resultResponse(HaoBanErrCode.ERR_10012); return resultResponse(HaoBanErrCode.ERR_10012);
} }
// 导购code校验-字母和数字
if (!clerkCode.matches("[a-zA-Z0-9]+")) {
return resultResponse(HaoBanErrCode.ERR_10023);
}
if(version == null){ if(version == null){
StaffDTO staff = staffApiService.selectByNationcodeAndPhoneNumber(wxEnterpriseId,nationcode,phoneNumber); StaffDTO staff = staffApiService.selectByNationcodeAndPhoneNumber(wxEnterpriseId,nationcode,phoneNumber);
if(staff != null) { if(staff != null) {
...@@ -255,7 +286,12 @@ public class ClerkController extends WebBaseController{ ...@@ -255,7 +286,12 @@ public class ClerkController extends WebBaseController{
return resultResponse(HaoBanErrCode.ERR_10013); return resultResponse(HaoBanErrCode.ERR_10013);
} }
AuditSettingDTO dto = auditSettingApiService.findSettingByWxEnterpriseId(wxEnterpriseId); AuditSettingDTO dto = auditSettingApiService.findSettingByWxEnterpriseId(wxEnterpriseId);
if(dto.getClerkChangeFlag() == 1){ // 企业绑定详情-导购编辑权限
WxEnterpriseRelationDetailDTO enterpriseBindInfo = wxEnterpriseRelatedApiService
.getEnterpriseBindInfo(wxEnterpriseId, enterpriseId);
if(dto.getAuditFlag() == 1
&& dto.getClerkChangeFlag() == 1
&& enterpriseBindInfo.getClerkEditFlag() == 1) {
AuditDTO auditDTO =auditApiService.findByBindRelatedIdAndAuditType(clerkCode, AuditType.CLERK_ADD.getCode()); AuditDTO auditDTO =auditApiService.findByBindRelatedIdAndAuditType(clerkCode, AuditType.CLERK_ADD.getCode());
if(auditDTO !=null){ if(auditDTO !=null){
logger.info("已经存在了审核记录,待审核{}",clerkCode); logger.info("已经存在了审核记录,待审核{}",clerkCode);
......
package com.gic.haoban.manage.web.controller; package com.gic.haoban.manage.web.controller;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.service.StoreService;
import com.gic.haoban.common.utils.CheckSmsCodeUtil; import com.gic.haoban.common.utils.CheckSmsCodeUtil;
import com.gic.haoban.common.utils.GooglePhoneNumberUtil; import com.gic.haoban.common.utils.GooglePhoneNumberUtil;
import com.gic.haoban.common.utils.HaobanResponse; import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.communicate.api.service.valid.ValidationCodeService; import com.gic.haoban.communicate.api.service.valid.ValidationCodeService;
import com.gic.haoban.manage.api.dto.StaffDTO;
import com.gic.haoban.manage.api.service.StaffApiService; import com.gic.haoban.manage.api.service.StaffApiService;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode; import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.redis.data.util.RedisUtil; import com.gic.redis.data.util.RedisUtil;
import com.gic.reponse.SendSmsResponse; import com.gic.reponse.SendSmsResponse;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController @RestController
public class SendCodeController extends WebBaseController{ public class SendCodeController extends WebBaseController{
...@@ -30,6 +30,10 @@ public class SendCodeController extends WebBaseController{ ...@@ -30,6 +30,10 @@ public class SendCodeController extends WebBaseController{
@Autowired @Autowired
private ValidationCodeService validationCodeService; private ValidationCodeService validationCodeService;
@Autowired
private StoreService storeService;
/** /**
* 验证码发送 * 验证码发送
* *
...@@ -38,7 +42,7 @@ public class SendCodeController extends WebBaseController{ ...@@ -38,7 +42,7 @@ public class SendCodeController extends WebBaseController{
*/ */
@RequestMapping("/send-code") @RequestMapping("/send-code")
public HaobanResponse sendCode(String phoneNumber, @RequestParam(defaultValue = "86") String nationcode, public HaobanResponse sendCode(String phoneNumber, @RequestParam(defaultValue = "86") String nationcode,
Integer type, @RequestParam(defaultValue = "0") int isTest,String wxEnterpriseId) { Integer type, @RequestParam(defaultValue = "0") int isTest, String wxEnterpriseId, String storeId, String clerkId) {
if (StringUtils.isBlank(phoneNumber) || null == type) { if (StringUtils.isBlank(phoneNumber) || null == type) {
logger.info("没有phoneNumber!"); logger.info("没有phoneNumber!");
return resultResponse(HaoBanErrCode.ERR_5); return resultResponse(HaoBanErrCode.ERR_5);
...@@ -81,7 +85,13 @@ public class SendCodeController extends WebBaseController{ ...@@ -81,7 +85,13 @@ public class SendCodeController extends WebBaseController{
logger.info("{}-{} 的 验证码:{}",nationcode,phoneNumber, smsCode); logger.info("{}-{} 的 验证码:{}",nationcode,phoneNumber, smsCode);
//非测试 //非测试
if (isTest != 1) { if (isTest != 1) {
SendSmsResponse smsResponse = validationCodeService.sendValidationCode(nationcode,phoneNumber, smsCode); SendSmsResponse smsResponse = null;
if (StringUtils.isAnyBlank(storeId, clerkId)) {
smsResponse = validationCodeService.sendValidationCode(nationcode, phoneNumber, smsCode);
} else {
StoreDTO storeDTO = storeService.getStore(storeId);
smsResponse = validationCodeService.sendValidationCodeHb3(nationcode, phoneNumber, smsCode, storeDTO.getEnterpriseId(), storeId, clerkId, true);
}
logger.info("{}-{} 的 验证码 发送结果回执:{}",nationcode,phoneNumber, JSON.toJSONString(smsResponse)); logger.info("{}-{} 的 验证码 发送结果回执:{}",nationcode,phoneNumber, JSON.toJSONString(smsResponse));
if (!smsResponse.isSuccess()) { if (!smsResponse.isSuccess()) {
HaobanResponse response = new HaobanResponse(); HaobanResponse response = new HaobanResponse();
......
...@@ -218,6 +218,8 @@ public enum HaoBanErrCode { ...@@ -218,6 +218,8 @@ public enum HaoBanErrCode {
ERR_10022(10022, "已有刷新在执行中,请不要重复刷新"), ERR_10022(10022, "已有刷新在执行中,请不要重复刷新"),
ERR_10023(10023, "code格式不正确"),
ERR_11122(11122,"手机号已存在"), ERR_11122(11122,"手机号已存在"),
ERR_11123(11123, "请到好办端刷新企业微信好友"), ERR_11123(11123, "请到好办端刷新企业微信好友"),
......
package com.gic.haoban.manage.web.vo;
import java.io.Serializable;
import java.util.Date;
/**
*
* @author YongEn
* @date 2021-08-26 10:38:04
*/
public class OperationSettingVO implements Serializable {
private static final long serialVersionUID = 382528365529162044L;
/**
* 是否生效
*/
private Integer effectFlag;
/**
* 操作设置id
*/
private String settingId;
/**
* 企业微信id
*/
private String wxEnterpriseId;
/**
* 导购手机号是否必填 1 是 0 否
*/
private Integer clerkPhoneFlag;
/**
* 店长是否可编辑门店 1 是 0 否
*/
private Integer storeEditFlag;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 数据状态 1 正常 0 已删除
*/
private Integer statusFlag;
public Integer getEffectFlag() {
return effectFlag;
}
public void setEffectFlag(Integer effectFlag) {
this.effectFlag = effectFlag;
}
public String getSettingId() {
return settingId;
}
public void setSettingId(String settingId) {
this.settingId = settingId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public Integer getClerkPhoneFlag() {
return clerkPhoneFlag;
}
public void setClerkPhoneFlag(Integer clerkPhoneFlag) {
this.clerkPhoneFlag = clerkPhoneFlag;
}
public Integer getStoreEditFlag() {
return storeEditFlag;
}
public void setStoreEditFlag(Integer storeEditFlag) {
this.storeEditFlag = storeEditFlag;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Integer getStatusFlag() {
return statusFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
@Override
public String toString() {
return "OperationSettingDTO{" +
"settingId='" + settingId + '\'' +
", wxEnterpriseId='" + wxEnterpriseId + '\'' +
", clerkPhoneFlag=" + clerkPhoneFlag +
", storeEditFlag=" + storeEditFlag +
", createTime=" + createTime +
", updateTime=" + updateTime +
", statusFlag=" + statusFlag +
'}';
}
}
package com.gic.haoban.manage.web.vo;
import java.io.Serializable;
import java.util.Date;
public class StaffClerkBindLogDetailVO implements Serializable{
private Integer logId;
private String staffId;
private String staffName;
private String optStaffId;
private String optStaffName;
private String clerkId;
private String clerkName;
private String clerkPhoneNumber;
private String clerkCode;
private String wxEnterpriseId;
private Integer channelCode;
private String unbindReason;
private Date updateTime;
private Date createTime;
public Integer getLogId() { return logId; }
public void setLogId(Integer logId) { this.logId = logId; }
public String getStaffId() { return staffId; }
public void setStaffId(String staffId) { this.staffId = staffId; }
public String getStaffName() { return staffName; }
public void setStaffName(String staffName) { this.staffName = staffName; }
public String getOptStaffId() { return optStaffId; }
public void setOpStaffId(String opStaffId) { this.optStaffId = opStaffId; }
public String getOptStaffName() { return optStaffName; }
public void setOptStaffName(String opStaffName) { this.optStaffName = opStaffName; }
public void setOptStaffId(String optStaffId) { this.optStaffId = optStaffId; }
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 getClerkPhoneNumber() { return clerkPhoneNumber; }
public void setClerkPhoneNumber(String clerkPhoneNumber) { this.clerkPhoneNumber = clerkPhoneNumber; }
public String getClerkCode() { return clerkCode; }
public void setClerkCode(String clerkCode) { this.clerkCode = clerkCode; }
public String getWxEnterpriseId() { return wxEnterpriseId; }
public void setWxEnterpriseId(String wxEnterpriseId) { this.wxEnterpriseId = wxEnterpriseId; }
public Integer getChannelCode() { return channelCode; }
public void setChannelCode(Integer channelCode) { this.channelCode = channelCode; }
public String getUnbindReason() { return unbindReason; }
public void setUnbindReason(String unbindReason) { this.unbindReason = unbindReason; }
public Date getUpdateTime() { return updateTime; }
public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; }
public Date getCreateTime() { return createTime; }
public void setCreateTime(Date createTime) { this.createTime = createTime; }
}
...@@ -71,4 +71,7 @@ ...@@ -71,4 +71,7 @@
<dubbo:reference interface="com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService" <dubbo:reference interface="com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService"
id="externalClerkRelatedApiService"/> id="externalClerkRelatedApiService"/>
<dubbo:reference id="operationSettingApiServiceImpl" interface="com.gic.haoban.manage.api.service.OperationSettingApiService" timeout="10000"
retries="0" check="false"/>
</beans> </beans>
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