Commit fd55454e by 徐高华

登录调整

parent d6097a4e
package com.gic.haoban.manage.api.dto;
import java.io.Serializable;
public class LoginDTO implements Serializable {
private static final long serialVersionUID = 1L;
private StaffDTO staffDTO;
private String wxEnterpriseId;
private String enterpriseId;
private Integer wxEnterpriseType;
public Integer getWxEnterpriseType() {
return wxEnterpriseType;
}
public void setWxEnterpriseType(Integer wxEnterpriseType) {
this.wxEnterpriseType = wxEnterpriseType;
}
public StaffDTO getStaffDTO() {
return staffDTO;
}
public void setStaffDTO(StaffDTO staffDTO) {
this.staffDTO = staffDTO;
}
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;
}
}
...@@ -36,4 +36,6 @@ public interface TabHaobanAuditMapper { ...@@ -36,4 +36,6 @@ public interface TabHaobanAuditMapper {
TabHaobanAudit findByBindRelatedIdAndAuditType(@Param("relatedId")String relatedId,@Param("auditType")int auditType); TabHaobanAudit findByBindRelatedIdAndAuditType(@Param("relatedId")String relatedId,@Param("auditType")int auditType);
List<TabHaobanAudit> judgeHavePhoneNumberOrCode(@Param("enterpriseId")String enterpriseId,@Param("clerkCode")String clerkCode, @Param("phoneNumber")String phoneNumber); List<TabHaobanAudit> judgeHavePhoneNumberOrCode(@Param("enterpriseId")String enterpriseId,@Param("clerkCode")String clerkCode, @Param("phoneNumber")String phoneNumber);
int getAuditCount(String enterpriseId , @Param("storeIds")List<String> storeIds) ;
} }
\ No newline at end of file
...@@ -443,5 +443,9 @@ ...@@ -443,5 +443,9 @@
</if> </if>
) )
</select> </select>
<select id="getAuditCount">
</select>
</mapper> </mapper>
\ No newline at end of file
package com.gic.haoban.manage.web.auth;
import com.alibaba.fastjson.JSON;
import com.gic.haoban.common.utils.EntityUtil;
import com.gic.haoban.manage.api.dto.LoginDTO;
import com.gic.redis.data.util.RedisUtil;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.Date;
import java.util.concurrent.TimeUnit;
/**
* Created 2018/7/26.
* 新方法 AuthWebRequestUtil
* @author hua
*/
@Deprecated
public class AuthRequestUtil {
private static final Logger logger = LoggerFactory.getLogger(AuthRequestUtil.class);
public static final String REDIS_LOGIN_USER_TOKEN_PREFIX = "GIC:HAOBAN:HAOBAN_MOBILE_APP:LOGIN_USER:";
public static final String REDIS_FAKE_LOGIN_FLAG_PREFIX = "GIC:HAOBAN:HAOBAN_MOBILE_APP:FAKE_LOGIN_TOKEN:";
public static String LOGIN_SESSION_KEY = "HAOBAN:LOGINUSER";
public static void setSessionUser(Object obj) {
String userJson = JSON.toJSONString(obj);
getSession().setAttribute(LOGIN_SESSION_KEY, userJson);
}
public static void delSessionUser() {
getSession().removeAttribute(LOGIN_SESSION_KEY);
}
public static LoginDTO getAppLoginUser(String token) {
logger.info("token-web=" + token);
if (StringUtils.isBlank(token)) {
return null;
}
return EntityUtil.changeEntityByJSON(LoginDTO.class, RedisUtil.getCache(token));
}
private static void setLoginUserLastToken(String token, Object obj) {
try {
String userId = BeanUtils.getProperty(obj, "user.userId");
if (StringUtils.isNotBlank(userId) && StringUtils.isNotBlank(token)) {
RedisUtil.setCache(REDIS_LOGIN_USER_TOKEN_PREFIX + userId, token, 31L, TimeUnit.DAYS);
}
} catch (Exception e) {
logger.error(e.getMessage());
}
}
/**
* 是否为用户最后一次登录token
*
* @param token
* @param userId
* @return
*/
public static boolean isLoginUserLastToken(String token, String userId) {
Object lastUserLoginToken = RedisUtil.getCache(REDIS_LOGIN_USER_TOKEN_PREFIX + userId);
// 如果用户最后一次登录token不符则返回false
return !(lastUserLoginToken instanceof CharSequence) || StringUtils.equals(token, (CharSequence) lastUserLoginToken);
}
private static void setFakeLoginFlag(String token) {
if (StringUtils.isNotBlank(token)) {
RedisUtil.setCache(REDIS_FAKE_LOGIN_FLAG_PREFIX + token, new Date(), 30L, TimeUnit.DAYS);
}
}
/**
* 是否为伪登录token
*
* @param token
* @return
*/
public static boolean isFakeLoginToken(String token) {
return StringUtils.isNotBlank(token) && RedisUtil.getCache(REDIS_FAKE_LOGIN_FLAG_PREFIX + token) != null;
}
public static void setAppLoginUser(String token, Object obj) {
RedisUtil.setCache(token, obj, 30L, TimeUnit.DAYS);
getResponse().setHeader("token", token);
}
public static void setAppFakeLoginUser(String token, Object obj) {
RedisUtil.setCache(token, obj, 30L, TimeUnit.DAYS);
getResponse().setHeader("token", token);
setFakeLoginFlag(token);
}
public static void delToken() {
String token = getRequest().getHeader("token");
RedisUtil.delCache(token);
}
public static void setAppLoginUser(Object obj, String token) {
RedisUtil.setCache(token, obj, 30L, TimeUnit.DAYS);
getResponse().setHeader("token", token);
}
public static void setAppFakeLoginUser(Object obj) {
String token = getRequest().getHeader("token");
RedisUtil.setCache(token, obj, 30L, TimeUnit.DAYS);
getResponse().setHeader("token", token);
}
public static HttpSession getSession() {
HttpSession session = null;
try {
session = getRequest().getSession();
} catch (Exception e) {
}
return session;
}
public static HttpServletRequest getRequest() {
ServletRequestAttributes attrs = (ServletRequestAttributes) RequestContextHolder
.getRequestAttributes();
return attrs.getRequest();
}
public static HttpServletResponse getResponse() {
ServletRequestAttributes attrs = (ServletRequestAttributes) RequestContextHolder
.getRequestAttributes();
return attrs.getResponse();
}
public static LoginDTO getLoginUser() {
Cookie[] cookies = getRequest().getCookies();
String token = "";
if (cookies != null) {
for (Cookie cookie : cookies) {
if (cookie.getName().equals("token")) {
token = cookie.getValue();
}
}
}
return getAppLoginUser(token);
}
}
package com.gic.haoban.manage.web.controller; package com.gic.haoban.manage.web.controller;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO; import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.common.anno.IgnoreLogin; import com.gic.haoban.common.anno.IgnoreLogin;
import com.gic.haoban.common.utils.AuthWebRequestUtil; import com.gic.haoban.common.utils.AuthWebRequestUtil;
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.enums.SecretTypeEnum; import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.service.*; import com.gic.haoban.manage.api.service.*;
import com.gic.haoban.manage.web.config.Config; import com.gic.haoban.manage.web.config.Config;
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.wechat.api.service.qywx.QywxSuiteApiService; import com.gic.wechat.api.service.qywx.QywxSuiteApiService;
import com.gic.wechat.api.service.qywx.QywxUserApiService; import com.gic.wechat.api.service.qywx.QywxUserApiService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@RestController @RestController
public class ApplicationController extends WebBaseController { public class ApplicationController extends WebBaseController {
private static final Logger log = LogManager.getLogger(ApplicationController.class); private static final Logger log = LogManager.getLogger(ApplicationController.class);
@Autowired @Autowired
private ApplicationApiService applicationApiService; private ApplicationApiService applicationApiService;
@Autowired @Autowired
private QywxSuiteApiService qywxSuiteApiService; private QywxSuiteApiService qywxSuiteApiService;
@Autowired @Autowired
private WxApplicationApiService wxApplicationApiService; private WxApplicationApiService wxApplicationApiService;
@Autowired @Autowired
private WxEnterpriseApiService wxEnterpriseApiService; private WxEnterpriseApiService wxEnterpriseApiService;
@Autowired @Autowired
private Config config; private Config config;
@Autowired @Autowired
private DepartmentApiService departmentApiService; private DepartmentApiService departmentApiService;
@Autowired @Autowired
private ApplicationSettingApiService applicationSettingApiService; private ApplicationSettingApiService applicationSettingApiService;
@Autowired @Autowired
private DealSyncOperationApiService dealSyncOperationApiService; private DealSyncOperationApiService dealSyncOperationApiService;
@Autowired @Autowired
private QywxUserApiService qywxUserApiService; private QywxUserApiService qywxUserApiService;
@RequestMapping("application-list") @RequestMapping("application-list")
public HaobanResponse applicationList() { public HaobanResponse applicationList() {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
List<ApplicationDTO> list = applicationApiService.listApplicationByWxEnterpriseId(wxEnterpriseId); List<ApplicationDTO> list = applicationApiService.listApplicationByWxEnterpriseId(wxEnterpriseId);
return resultResponse(HaoBanErrCode.ERR_1, list); return resultResponse(HaoBanErrCode.ERR_1, list);
} }
@IgnoreLogin @IgnoreLogin
@RequestMapping("application-open-close-list") @RequestMapping("application-open-close-list")
public HaobanResponse applicationList(String wxEnterpriseId) { public HaobanResponse applicationList(String wxEnterpriseId) {
if (StringUtils.isAnyBlank(wxEnterpriseId)) { if (StringUtils.isAnyBlank(wxEnterpriseId)) {
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
} }
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
List<ApplicationDTO> list = applicationApiService.listApplicationByWxEnterpriseId(wxEnterpriseId); List<ApplicationDTO> list = applicationApiService.listApplicationByWxEnterpriseId(wxEnterpriseId);
List<String> applicationIds = list.stream().map(s -> s.getApplicationId()).collect(Collectors.toList()); List<String> applicationIds = list.stream().map(s -> s.getApplicationId()).collect(Collectors.toList());
List<ApplicationSettingDTO> result = applicationSettingApiService.listOpenByWxEnterpriseIdAndApplicationIds(wxEnterpriseId, applicationIds); List<ApplicationSettingDTO> result = applicationSettingApiService.listOpenByWxEnterpriseIdAndApplicationIds(wxEnterpriseId, applicationIds);
//开启 //开启
List<ApplicationDTO> openList = new ArrayList<ApplicationDTO>(); List<ApplicationDTO> openList = new ArrayList<ApplicationDTO>();
List<String> openApplicationIds = new ArrayList<>(); List<String> openApplicationIds = new ArrayList<>();
if (CollectionUtil.isNotEmpty(result)) { if (CollectionUtil.isNotEmpty(result)) {
openApplicationIds = result.stream().map(s -> s.getApplicationId()).collect(Collectors.toList()); openApplicationIds = result.stream().map(s -> s.getApplicationId()).collect(Collectors.toList());
openList = applicationApiService.listByApplications(openApplicationIds); openList = applicationApiService.listByApplications(openApplicationIds);
} }
//关闭 //关闭
List<ApplicationDTO> closeList = new ArrayList<ApplicationDTO>(); List<ApplicationDTO> closeList = new ArrayList<ApplicationDTO>();
applicationIds.removeAll(openApplicationIds); applicationIds.removeAll(openApplicationIds);
if (CollectionUtil.isNotEmpty(applicationIds)) { if (CollectionUtil.isNotEmpty(applicationIds)) {
closeList = applicationApiService.listByApplications(applicationIds); closeList = applicationApiService.listByApplications(applicationIds);
} }
Object o = RedisUtil.getCache("haobanWxEnterpriseIdAppOpen"); Object o = RedisUtil.getCache("haobanWxEnterpriseIdAppOpen");
String wxEnterpriseIds = o == null ? "" : o.toString(); String wxEnterpriseIds = o == null ? "" : o.toString();
if (!wxEnterpriseIds.contains(wxEnterpriseId)) { if (!wxEnterpriseIds.contains(wxEnterpriseId)) {
//不开启 //不开启
Iterator<ApplicationDTO> it = openList.iterator(); Iterator<ApplicationDTO> it = openList.iterator();
while (it.hasNext()) { while (it.hasNext()) {
ApplicationDTO s = it.next(); ApplicationDTO s = it.next();
if (s.getApplicationName().contains("内购券")) { if (s.getApplicationName().contains("内购券")) {
it.remove(); it.remove();
} }
} }
Iterator<ApplicationDTO> it2 = closeList.iterator(); Iterator<ApplicationDTO> it2 = closeList.iterator();
while (it2.hasNext()) { while (it2.hasNext()) {
ApplicationDTO s = it2.next(); ApplicationDTO s = it2.next();
if (s.getApplicationName().contains("内购券")) { if (s.getApplicationName().contains("内购券")) {
it2.remove(); it2.remove();
} }
} }
} }
map.put("open", openList); map.put("open", openList);
map.put("close", closeList); map.put("close", closeList);
return resultResponse(HaoBanErrCode.ERR_1, map); return resultResponse(HaoBanErrCode.ERR_1, map);
} }
@RequestMapping("open-or-close") @RequestMapping("open-or-close")
public HaobanResponse applicationList(String wxEnterpriseId, String applicationId, Integer openFlag) { public HaobanResponse applicationList(String wxEnterpriseId, String applicationId, Integer openFlag) {
if (StringUtils.isAnyBlank(wxEnterpriseId, applicationId)) { if (StringUtils.isAnyBlank(wxEnterpriseId, applicationId)) {
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
} }
if (openFlag == null) { if (openFlag == null) {
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
} }
applicationSettingApiService.saveSetting(wxEnterpriseId, applicationId, openFlag); applicationSettingApiService.saveSetting(wxEnterpriseId, applicationId, openFlag);
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
@RequestMapping("has-bind-contract") @RequestMapping("has-bind-contract")
public HaobanResponse hasBindContract() { public HaobanResponse hasBindContract() {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
WxEnterpriseDTO enterpriseDTO = this.wxEnterpriseApiService.getOne(wxEnterpriseId); WxEnterpriseDTO enterpriseDTO = this.wxEnterpriseApiService.getOne(wxEnterpriseId);
if (enterpriseDTO != null) { if (enterpriseDTO != null) {
SecretSettingDTO secretSetting = wxEnterpriseApiService.getSecretSetting(enterpriseDTO.getWxEnterpriseId(), SecretTypeEnum.HAOBAN_HELP.getVal(), null); SecretSettingDTO secretSetting = wxEnterpriseApiService.getSecretSetting(enterpriseDTO.getWxEnterpriseId(), SecretTypeEnum.HAOBAN_HELP.getVal(), null);
if (null == secretSetting || secretSetting.getCheckFlag() == 0) { if (null == secretSetting || secretSetting.getCheckFlag() == 0) {
log.info("没有配置secret:{}", JSONObject.toJSONString(enterpriseDTO)); log.info("没有配置secret:{}", JSONObject.toJSONString(enterpriseDTO));
return resultResponse(HaoBanErrCode.ERR_1, true); return resultResponse(HaoBanErrCode.ERR_1, true);
} }
if (enterpriseDTO.getContactFlag() != null && enterpriseDTO.getContactFlag() == 0) { if (enterpriseDTO.getContactFlag() != null && enterpriseDTO.getContactFlag() == 0) {
String taskId = dealSyncOperationApiService.createQywxTask(wxEnterpriseId, "同步企业微信架构", login.getStaffDTO().getStaffId(), "首次同步企业微信架构"); String taskId = dealSyncOperationApiService.createQywxTask(wxEnterpriseId, "同步企业微信架构", login.getStaffId(), "首次同步企业微信架构");
if (StringUtils.isBlank(taskId)) { if (StringUtils.isBlank(taskId)) {
log.info("【是否绑定】taskId={}", taskId); log.info("【是否绑定】taskId={}", taskId);
return resultResponse(HaoBanErrCode.ERR_1, true); return resultResponse(HaoBanErrCode.ERR_1, true);
} }
dealSyncOperationApiService.dealQywxDepartment(taskId, wxEnterpriseId); dealSyncOperationApiService.dealQywxDepartment(taskId, wxEnterpriseId);
enterpriseDTO.setContactFlag(1); enterpriseDTO.setContactFlag(1);
wxEnterpriseApiService.update(enterpriseDTO); wxEnterpriseApiService.update(enterpriseDTO);
applicationApiService.insertApplicationRelation(wxEnterpriseId); applicationApiService.insertApplicationRelation(wxEnterpriseId);
} }
} }
return resultResponse(HaoBanErrCode.ERR_1, true); return resultResponse(HaoBanErrCode.ERR_1, true);
} }
/** /**
* 初始化同步企业微信架构 * 初始化同步企业微信架构
* *
* @return * @return
*/ */
@RequestMapping("init-wx-department") @RequestMapping("init-wx-department")
public HaobanResponse initWxDepartment() { public HaobanResponse initWxDepartment() {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
WxEnterpriseDTO enterpriseDTO = this.wxEnterpriseApiService.getOne(wxEnterpriseId); WxEnterpriseDTO enterpriseDTO = this.wxEnterpriseApiService.getOne(wxEnterpriseId);
if (enterpriseDTO != null) { if (enterpriseDTO != null) {
SecretSettingDTO secretSetting = wxEnterpriseApiService.getSecretSetting(enterpriseDTO.getWxEnterpriseId(), SecretTypeEnum.HAOBAN_HELP.getVal(), null); SecretSettingDTO secretSetting = wxEnterpriseApiService.getSecretSetting(enterpriseDTO.getWxEnterpriseId(), SecretTypeEnum.HAOBAN_HELP.getVal(), null);
if (null == secretSetting || secretSetting.getCheckFlag() == 0) { if (null == secretSetting || secretSetting.getCheckFlag() == 0) {
log.info("没有配置secret"); log.info("没有配置secret");
return resultResponse(HaoBanErrCode.ERR_1, false); return resultResponse(HaoBanErrCode.ERR_1, false);
} }
if (StringUtils.isNotBlank(secretSetting.getSecretVal()) && enterpriseDTO.getContactFlag() != null) { if (StringUtils.isNotBlank(secretSetting.getSecretVal()) && enterpriseDTO.getContactFlag() != null) {
String taskId = dealSyncOperationApiService.createQywxTask(wxEnterpriseId, "后门同步企业微信架构", login.getStaffDTO().getStaffId(), "后门同步企业微信架构"); String taskId = dealSyncOperationApiService.createQywxTask(wxEnterpriseId, "后门同步企业微信架构", login.getStaffId(), "后门同步企业微信架构");
if (StringUtils.isBlank(taskId)) { if (StringUtils.isBlank(taskId)) {
return resultResponse(HaoBanErrCode.ERR_1, false); return resultResponse(HaoBanErrCode.ERR_1, false);
} }
dealSyncOperationApiService.dealQywxDepartment(taskId, wxEnterpriseId); dealSyncOperationApiService.dealQywxDepartment(taskId, wxEnterpriseId);
} }
} }
return resultResponse(HaoBanErrCode.ERR_1, true); return resultResponse(HaoBanErrCode.ERR_1, true);
} }
@RequestMapping("get-auth-url") @RequestMapping("get-auth-url")
public HaobanResponse getAuthUrl() { public HaobanResponse getAuthUrl() {
String suiteId = config.getSuiteId(); String suiteId = config.getSuiteId();
log.info("应用ID:{}", suiteId); log.info("应用ID:{}", suiteId);
String redictUrl = config.getHost() + "callback"; String redictUrl = config.getHost() + "callback";
String authorizationUrl = this.qywxSuiteApiService.getGrantAuthorizationUrl(suiteId, redictUrl); String authorizationUrl = this.qywxSuiteApiService.getGrantAuthorizationUrl(suiteId, redictUrl);
return resultResponse(HaoBanErrCode.ERR_1, authorizationUrl); return resultResponse(HaoBanErrCode.ERR_1, authorizationUrl);
} }
@RequestMapping("callback") @RequestMapping("callback")
public void callback(String auth_code, HttpServletResponse response) { public void callback(String auth_code, HttpServletResponse response) {
String suiteId = config.getSuiteId(); String suiteId = config.getSuiteId();
String result = this.qywxSuiteApiService.corpAuth(suiteId, auth_code); String result = this.qywxSuiteApiService.corpAuth(suiteId, auth_code);
log.info("企业微信回调结果:{}. {}", auth_code, result); log.info("企业微信回调结果:{}. {}", auth_code, result);
QywxCorpInfoDTO dto = JSON.parseObject(result, QywxCorpInfoDTO.class); QywxCorpInfoDTO dto = JSON.parseObject(result, QywxCorpInfoDTO.class);
WxApplicationDTO applicationDTO = new WxApplicationDTO(); WxApplicationDTO applicationDTO = new WxApplicationDTO();
WxEnterpriseDTO enterpriseDTO = this.wxEnterpriseApiService.getEnterpriseBycorpId(dto.getCorpid()); WxEnterpriseDTO enterpriseDTO = this.wxEnterpriseApiService.getEnterpriseBycorpId(dto.getCorpid());
if (enterpriseDTO != null) { if (enterpriseDTO != null) {
applicationDTO.setName(dto.getAgentName()); applicationDTO.setName(dto.getAgentName());
applicationDTO.setWxEnterpriseId(enterpriseDTO.getWxEnterpriseId()); applicationDTO.setWxEnterpriseId(enterpriseDTO.getWxEnterpriseId());
applicationDTO.setAgentId(dto.getAgentid()); applicationDTO.setAgentId(dto.getAgentid());
applicationDTO.setApplicationType(1); applicationDTO.setApplicationType(1);
applicationDTO.setAgentName(dto.getAgentName()); applicationDTO.setAgentName(dto.getAgentName());
applicationDTO.setSiteId(dto.getSuiteId()); applicationDTO.setSiteId(dto.getSuiteId());
wxApplicationApiService.addSuite(applicationDTO); wxApplicationApiService.addSuite(applicationDTO);
SecretSettingDTO secretSetting = wxEnterpriseApiService.getSecretSetting(enterpriseDTO.getWxEnterpriseId(), SecretTypeEnum.HAOBAN_HELP.getVal(), null); SecretSettingDTO secretSetting = wxEnterpriseApiService.getSecretSetting(enterpriseDTO.getWxEnterpriseId(), SecretTypeEnum.HAOBAN_HELP.getVal(), null);
if (null == secretSetting || secretSetting.getCheckFlag() == 0) { if (null == secretSetting || secretSetting.getCheckFlag() == 0) {
log.info("没有配置secret:{}", JSONObject.toJSONString(enterpriseDTO)); log.info("没有配置secret:{}", JSONObject.toJSONString(enterpriseDTO));
return; return;
} }
this.departmentApiService.initwxDepartment(dto.getCorpid(), secretSetting.getSecretVal(), enterpriseDTO.getWxEnterpriseId()); this.departmentApiService.initwxDepartment(dto.getCorpid(), secretSetting.getSecretVal(), enterpriseDTO.getWxEnterpriseId());
enterpriseDTO.setContactFlag(1); enterpriseDTO.setContactFlag(1);
wxEnterpriseApiService.update(enterpriseDTO); wxEnterpriseApiService.update(enterpriseDTO);
} }
String redirectUri = config.getHost() + "index"; String redirectUri = config.getHost() + "index";
redirectUri = redirectUri.replace("haoban-manage3-web", "haoban-3/#"); redirectUri = redirectUri.replace("haoban-manage3-web", "haoban-3/#");
try { try {
response.sendRedirect(redirectUri); response.sendRedirect(redirectUri);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
@RequestMapping("cancal-suite") @RequestMapping("cancal-suite")
@IgnoreLogin @IgnoreLogin
public HaobanResponse cancelSuite(String corpId, String suiteId) { public HaobanResponse cancelSuite(String corpId, String suiteId) {
this.wxApplicationApiService.cancelSuite(corpId, suiteId); this.wxApplicationApiService.cancelSuite(corpId, suiteId);
return resultResponse(HaoBanErrCode.ERR_0, "s"); return resultResponse(HaoBanErrCode.ERR_0, "s");
} }
@RequestMapping("list-external-user") @RequestMapping("list-external-user")
@IgnoreLogin @IgnoreLogin
public Object list(String corpid, String suiteid, String userid) { public Object list(String corpid, String suiteid, String userid) {
return this.qywxUserApiService.listExternalUserid(corpid, suiteid, userid); return this.qywxUserApiService.listExternalUserid(corpid, suiteid, userid);
} }
@RequestMapping("corp-external-user") @RequestMapping("corp-external-user")
@IgnoreLogin @IgnoreLogin
public Object corpuserid(String corpid, String suiteid) { public Object corpuserid(String corpid, String suiteid) {
return this.qywxUserApiService.listCorpExternalUser(corpid, suiteid); return this.qywxUserApiService.listCorpExternalUser(corpid, suiteid);
} }
@RequestMapping("get-external-user-info") @RequestMapping("get-external-user-info")
@IgnoreLogin @IgnoreLogin
public Object userInfo(String corpid, String suiteid, String userid) { public Object userInfo(String corpid, String suiteid, String userid) {
return resultResponse(HaoBanErrCode.ERR_0, this.qywxUserApiService.getExternalUseridInfo(corpid, suiteid, userid)); return resultResponse(HaoBanErrCode.ERR_0, this.qywxUserApiService.getExternalUseridInfo(corpid, suiteid, userid));
} }
@RequestMapping("get-external-unionid") @RequestMapping("get-external-unionid")
@IgnoreLogin @IgnoreLogin
public Object userInfoUninid(String corpid, String suiteid, String unionid) { public Object userInfoUninid(String corpid, String suiteid, String unionid) {
return resultResponse(HaoBanErrCode.ERR_0, this.qywxUserApiService.getExternalUseridByUnionid(corpid, suiteid, unionid)); return resultResponse(HaoBanErrCode.ERR_0, this.qywxUserApiService.getExternalUseridByUnionid(corpid, suiteid, unionid));
} }
/** /**
* 通讯录同步 * 通讯录同步
* *
* @return * @return
*/ */
@RequestMapping("sync-qywx") @RequestMapping("sync-qywx")
public Object syncQywx() { public Object syncQywx() {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
WxEnterpriseDTO enterpriseDTO = this.wxEnterpriseApiService.getOne(wxEnterpriseId); WxEnterpriseDTO enterpriseDTO = this.wxEnterpriseApiService.getOne(wxEnterpriseId);
if (enterpriseDTO != null) { if (enterpriseDTO != null) {
String taskId = dealSyncOperationApiService.createQywxTask(wxEnterpriseId, "后门同步企业微信架构", login.getStaffDTO().getStaffId(), "后门同步企业微信架构"); String taskId = dealSyncOperationApiService.createQywxTask(wxEnterpriseId, "后门同步企业微信架构", login.getStaffId(), "后门同步企业微信架构");
if (StringUtils.isBlank(taskId)) { if (StringUtils.isBlank(taskId)) {
return resultResponse(HaoBanErrCode.ERR_0, false); return resultResponse(HaoBanErrCode.ERR_0, false);
} }
String ret = dealSyncOperationApiService.dealQywxDepartment(taskId, wxEnterpriseId); String ret = dealSyncOperationApiService.dealQywxDepartment(taskId, wxEnterpriseId);
if (null != ret) { if (null != ret) {
return resultResponse(HaoBanErrCode.ERR_0, ret, null, null); return resultResponse(HaoBanErrCode.ERR_0, ret, null, null);
} }
} }
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
/** /**
* 初始化应用 * 初始化应用
* *
* @param wxEnterpriseId * @param wxEnterpriseId
* @return * @return
*/ */
@RequestMapping("init-application-relation") @RequestMapping("init-application-relation")
@IgnoreLogin @IgnoreLogin
public HaobanResponse insertApplicationRelation(String wxEnterpriseId) { public HaobanResponse insertApplicationRelation(String wxEnterpriseId) {
applicationApiService.insertApplicationRelation(wxEnterpriseId); applicationApiService.insertApplicationRelation(wxEnterpriseId);
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
} }
package com.gic.haoban.manage.web.controller; package com.gic.haoban.manage.web.controller;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.enterprise.api.dto.StoreDTO; import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.service.StoreService; 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.pojo.dto.WebLoginDTO; import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.base.api.common.pojo.dto.WebStaffDTO; import com.gic.haoban.common.anno.HttpLimit;
import com.gic.haoban.common.anno.HttpLimit; import com.gic.haoban.common.utils.AuthWebRequestUtil;
import com.gic.haoban.common.utils.AuthWebRequestUtil; import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.common.utils.HaobanResponse; import com.gic.haoban.common.utils.UuidUtil;
import com.gic.haoban.common.utils.UuidUtil; import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.dto.*; import com.gic.haoban.manage.api.enums.StoreFieldEnum;
import com.gic.haoban.manage.api.enums.StoreFieldEnum; import com.gic.haoban.manage.api.service.AuditApiService;
import com.gic.haoban.manage.api.service.AuditApiService; import com.gic.haoban.manage.api.service.AuditSettingApiService;
import com.gic.haoban.manage.api.service.AuditSettingApiService; 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.haoban.manage.web.vo.BatchApproveVO;
import com.gic.haoban.manage.web.vo.BatchApproveVO; import com.gic.redis.data.util.RedisUtil;
import com.gic.redis.data.util.RedisUtil; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.List; import java.util.Map;
import java.util.Map; import java.util.stream.Collectors;
import java.util.stream.Collectors;
@RestController
@RestController @RequestMapping("/audit")
@RequestMapping("/audit") public class AuditController extends WebBaseController{
public class AuditController extends WebBaseController{ private static final Logger log = LogManager.getLogger(AuditController.class);
private static final Logger log = LogManager.getLogger(AuditController.class);
@Autowired
@Autowired private AuditSettingApiService auditSettingApiService;
private AuditSettingApiService auditSettingApiService; @Autowired
@Autowired private AuditApiService auditApiService;
private AuditApiService auditApiService; @Autowired
@Autowired private StaffApiService staffApiService;
private StaffApiService staffApiService; @Autowired
@Autowired private StoreService storeService;
private StoreService storeService;
//设置保存
//设置保存 @HttpLimit
@HttpLimit @RequestMapping("open-or-close")
@RequestMapping("open-or-close") public HaobanResponse openOrClose(String wxEnterpriseId,Integer auditFlag,int clerkChangeFlag) {
public HaobanResponse openOrClose(String wxEnterpriseId,Integer auditFlag,int clerkChangeFlag) { if(StringUtils.isAnyBlank(wxEnterpriseId)){
if(StringUtils.isAnyBlank(wxEnterpriseId)){ return resultResponse(HaoBanErrCode.ERR_2);
return resultResponse(HaoBanErrCode.ERR_2); }
} if(auditFlag == null){
if(auditFlag == null){ return resultResponse(HaoBanErrCode.ERR_2);
return resultResponse(HaoBanErrCode.ERR_2); }
} auditSettingApiService.saveSetting(wxEnterpriseId, auditFlag,clerkChangeFlag);
auditSettingApiService.saveSetting(wxEnterpriseId, auditFlag,clerkChangeFlag); return resultResponse(HaoBanErrCode.ERR_1);
return resultResponse(HaoBanErrCode.ERR_1); }
} //设置查看
//设置查看 @RequestMapping("find-setting")
@RequestMapping("find-setting") public HaobanResponse findSetting(String wxEnterpriseId ) {
public HaobanResponse findSetting(String wxEnterpriseId ) { if(StringUtils.isAnyBlank(wxEnterpriseId)){
if(StringUtils.isAnyBlank(wxEnterpriseId)){ return resultResponse(HaoBanErrCode.ERR_2);
return resultResponse(HaoBanErrCode.ERR_2); }
} AuditSettingDTO auditSettingDTO = auditSettingApiService.findSettingByWxEnterpriseId(wxEnterpriseId);
AuditSettingDTO auditSettingDTO = auditSettingApiService.findSettingByWxEnterpriseId(wxEnterpriseId); if(auditSettingDTO == null){
if(auditSettingDTO == null){ auditSettingDTO = new AuditSettingDTO();
auditSettingDTO = new AuditSettingDTO(); auditSettingDTO.setAuditFlag(1);
auditSettingDTO.setAuditFlag(1); auditSettingDTO.setClerkChangeFlag(1);
auditSettingDTO.setClerkChangeFlag(1); }
} return resultResponse(HaoBanErrCode.ERR_1,auditSettingDTO);
return resultResponse(HaoBanErrCode.ERR_1,auditSettingDTO); }
} //分页查找
//分页查找 @RequestMapping("find-page")
@RequestMapping("find-page") public HaobanResponse findPage(String wxEnterpriseId,String enterpriseId,String search,BasePageInfo pageInfo ,Integer auditType,Integer auditStatus,Integer auditFlag ) {
public HaobanResponse findPage(String wxEnterpriseId,String enterpriseId,String search,BasePageInfo pageInfo ,Integer auditType,Integer auditStatus,Integer auditFlag ) { if(auditFlag == null){
if(auditFlag == null){ return resultResponse(HaoBanErrCode.ERR_2);
return resultResponse(HaoBanErrCode.ERR_2); }
} if(StringUtils.isAnyBlank(wxEnterpriseId)){
if(StringUtils.isAnyBlank(wxEnterpriseId)){ return resultResponse(HaoBanErrCode.ERR_2);
return resultResponse(HaoBanErrCode.ERR_2); }
} Page<AuditDTO> page = auditApiService.page(auditType, search, wxEnterpriseId,enterpriseId, auditStatus,auditFlag, pageInfo);
Page<AuditDTO> page = auditApiService.page(auditType, search, wxEnterpriseId,enterpriseId, auditStatus,auditFlag, pageInfo); List<AuditDTO> list = page.getResult();
List<AuditDTO> list = page.getResult(); List<String> storeIds = list.stream().map(s->s.getCommitStoreId()).collect(Collectors.toList());
List<String> storeIds = list.stream().map(s->s.getCommitStoreId()).collect(Collectors.toList()); String[] array=storeIds.toArray(new String[storeIds.size()]);
String[] array=storeIds.toArray(new String[storeIds.size()]); List<StoreDTO> stores = storeService.getStores(array);
List<StoreDTO> stores = storeService.getStores(array); Map<String,StoreDTO> map = com.gic.commons.util.CollectionUtil.toMap(stores, "storeId");
Map<String,StoreDTO> map = com.gic.commons.util.CollectionUtil.toMap(stores, "storeId"); for(AuditDTO dto:list){
for(AuditDTO dto:list){ if(dto.getAuditType() !=null && dto.getAuditType()== 1){
if(dto.getAuditType() !=null && dto.getAuditType()== 1){ String t = dto.getChangeField();
String t = dto.getChangeField(); String detail = "";
String detail = ""; if(StoreFieldEnum.STORE_NAME.getValue().equals(t)){
if(StoreFieldEnum.STORE_NAME.getValue().equals(t)){ detail = "将"+"门店名称"+"\""+dto.getOldValue()+"\""+"修改为"+"\""+dto.getNewValue()+"\"";
detail = "将"+"门店名称"+"\""+dto.getOldValue()+"\""+"修改为"+"\""+dto.getNewValue()+"\""; }else if(StoreFieldEnum.STORE_AREA.getValue().equals(t)){
}else if(StoreFieldEnum.STORE_AREA.getValue().equals(t)){ detail = "将"+"门店面积"+"\""+dto.getOldValue()+"\""+"修改为"+"\""+dto.getNewValue()+"\"";
detail = "将"+"门店面积"+"\""+dto.getOldValue()+"\""+"修改为"+"\""+dto.getNewValue()+"\""; }else if(StoreFieldEnum.CONACTS_PHONE.getValue().equals(t)){
}else if(StoreFieldEnum.CONACTS_PHONE.getValue().equals(t)){ detail = "将"+"联系电话"+"\""+dto.getOldValue()+"\""+"修改为"+"\""+dto.getNewValue()+"\"";
detail = "将"+"联系电话"+"\""+dto.getOldValue()+"\""+"修改为"+"\""+dto.getNewValue()+"\""; }else if(StoreFieldEnum.BUSINESS_TIME_STRING.getValue().equals(t)){
}else if(StoreFieldEnum.BUSINESS_TIME_STRING.getValue().equals(t)){ detail = "将"+"营业时间"+"\""+dto.getOldValue()+"\""+"修改为"+"\""+dto.getNewValue()+"\"";
detail = "将"+"营业时间"+"\""+dto.getOldValue()+"\""+"修改为"+"\""+dto.getNewValue()+"\""; }else if(StoreFieldEnum.STORE_ADDRESS.getValue().equals(t)){
}else if(StoreFieldEnum.STORE_ADDRESS.getValue().equals(t)){ String oldValue = dto.getOldValue();
String oldValue = dto.getOldValue(); String newValue = dto.getNewValue();
String newValue = dto.getNewValue(); JSONObject oldJSONObject = JSONObject.parseObject(oldValue);
JSONObject oldJSONObject = JSONObject.parseObject(oldValue); String oldAddress = oldJSONObject.get("storeAddress").toString();
String oldAddress = oldJSONObject.get("storeAddress").toString();
JSONObject newJSONObject = JSONObject.parseObject(newValue);
JSONObject newJSONObject = JSONObject.parseObject(newValue); String newAddress = newJSONObject.get("storeAddress").toString();
String newAddress = newJSONObject.get("storeAddress").toString(); detail = "将"+"门店地址"+"\""+oldAddress+"\""+"修改为"+"\""+newAddress+"\"";
detail = "将"+"门店地址"+"\""+oldAddress+"\""+"修改为"+"\""+newAddress+"\""; }else if(StoreFieldEnum.STORE_IMAG.getValue().equals(t)){
}else if(StoreFieldEnum.STORE_IMAG.getValue().equals(t)){ detail = "门店图片变更";
detail = "门店图片变更"; }
} dto.setDetail(detail);
dto.setDetail(detail); }else if(dto.getAuditType() !=null && dto.getAuditType()== 3){
}else if(dto.getAuditType() !=null && dto.getAuditType()== 3){ //新增导购
//新增导购 String oldValue = dto.getOldValue();
String oldValue = dto.getOldValue(); AuditStaffDTO auditStaffDTO = JSONObject.parseObject(oldValue, AuditStaffDTO.class);
AuditStaffDTO auditStaffDTO = JSONObject.parseObject(oldValue, AuditStaffDTO.class); String detail = "新增导购:"+auditStaffDTO.getClerkName()+"("+auditStaffDTO.getClerkCode()+")";
String detail = "新增导购:"+auditStaffDTO.getClerkName()+"("+auditStaffDTO.getClerkCode()+")"; dto.setDetail(detail);
dto.setDetail(detail); }else if(dto.getAuditType() !=null && dto.getAuditType()== 4){
}else if(dto.getAuditType() !=null && dto.getAuditType()== 4){ //删除导购
//删除导购 String oldValue = dto.getOldValue();
String oldValue = dto.getOldValue(); AuditStaffDTO auditStaffDTO = JSONObject.parseObject(oldValue, AuditStaffDTO.class);
AuditStaffDTO auditStaffDTO = JSONObject.parseObject(oldValue, AuditStaffDTO.class); String detail = "删除导购:"+auditStaffDTO.getClerkName()+"("+auditStaffDTO.getClerkCode()+")";
String detail = "删除导购:"+auditStaffDTO.getClerkName()+"("+auditStaffDTO.getClerkCode()+")"; dto.setDetail(detail);
dto.setDetail(detail); }else if(dto.getAuditType() !=null && dto.getAuditType()== 2){
}else if(dto.getAuditType() !=null && dto.getAuditType()== 2){ //门店导购绑定
//门店导购绑定 String oldValue = dto.getOldValue();
String oldValue = dto.getOldValue(); AuditStaffDTO oldAuditStaffDTO = JSONObject.parseObject(oldValue, AuditStaffDTO.class);
AuditStaffDTO oldAuditStaffDTO = JSONObject.parseObject(oldValue, AuditStaffDTO.class); String staffName = oldAuditStaffDTO.getStaffName();
String staffName = oldAuditStaffDTO.getStaffName(); String clerkCode = oldAuditStaffDTO.getClerkCode();
String clerkCode = oldAuditStaffDTO.getClerkCode(); String detail = staffName+"申请关联导购code:"+clerkCode;
String detail = staffName+"申请关联导购code:"+clerkCode; dto.setDetail(detail);
dto.setDetail(detail); }else if(dto.getAuditType() !=null && dto.getAuditType()== 5){
}else if(dto.getAuditType() !=null && dto.getAuditType()== 5){ //门店导购解绑
//门店导购解绑 String oldValue = dto.getOldValue();
String oldValue = dto.getOldValue(); AuditStaffDTO oldAuditStaffDTO = JSONObject.parseObject(oldValue, AuditStaffDTO.class);
AuditStaffDTO oldAuditStaffDTO = JSONObject.parseObject(oldValue, AuditStaffDTO.class); String staffName = oldAuditStaffDTO.getStaffName();
String staffName = oldAuditStaffDTO.getStaffName(); String clerkCode = oldAuditStaffDTO.getClerkCode();
String clerkCode = oldAuditStaffDTO.getClerkCode(); String detail = staffName+"申请解绑导购code:"+clerkCode;
String detail = staffName+"申请解绑导购code:"+clerkCode; dto.setDetail(detail);
dto.setDetail(detail); }
} String storeName = map.get(dto.getCommitStoreId())==null?"":map.get(dto.getCommitStoreId()).getStoreName();
String storeName = map.get(dto.getCommitStoreId())==null?"":map.get(dto.getCommitStoreId()).getStoreName(); dto.setCommitStoreName(storeName);
dto.setCommitStoreName(storeName); }
} page.setResult(list);
page.setResult(list); return resultResponse(HaoBanErrCode.ERR_1,page);
return resultResponse(HaoBanErrCode.ERR_1,page); }
}
//获取详情
//获取详情 @RequestMapping("get-staff-detail")
@RequestMapping("get-staff-detail") public HaobanResponse getStaffDetail(String staffId ) {
public HaobanResponse getStaffDetail(String staffId ) { if(StringUtils.isAnyBlank(staffId)){
if(StringUtils.isAnyBlank(staffId)){ return resultResponse(HaoBanErrCode.ERR_2);
return resultResponse(HaoBanErrCode.ERR_2); }
} StaffDTO staffDTO = staffApiService.selectById(staffId);
StaffDTO staffDTO = staffApiService.selectById(staffId); return resultResponse(HaoBanErrCode.ERR_1,staffDTO);
return resultResponse(HaoBanErrCode.ERR_1,staffDTO); }
}
//批量同意
//批量同意 @HttpLimit
@HttpLimit @RequestMapping("batch-approve")
@RequestMapping("batch-approve") public HaobanResponse batchApprove(String auditIds,String auditName ) {
public HaobanResponse batchApprove(String auditIds,String auditName ) { if(StringUtils.isAnyBlank(auditIds,auditName)){
if(StringUtils.isAnyBlank(auditIds,auditName)){ return resultResponse(HaoBanErrCode.ERR_2);
return resultResponse(HaoBanErrCode.ERR_2); }
} WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); String staffId = login.getStaffId();
String staffId = login.getStaffDTO().getStaffId(); String staffName = login.getStaffName();
String staffName = login.getStaffDTO().getStaffName(); String[] s = auditIds.split(",");
String[] s = auditIds.split(","); int successCount = 0;
int successCount = 0; int failCount = 0;
int failCount = 0; String batchId = UuidUtil.randomUUID();
String batchId = UuidUtil.randomUUID(); for(String auditId : s){
for(String auditId : s){ String result = auditApiService.audit(batchId,auditId,staffName,staffId);
String result = auditApiService.audit(batchId,auditId,staffName,staffId); if(StringUtils.isEmpty(result)){
if(StringUtils.isEmpty(result)){ successCount = successCount+1;
successCount = successCount+1; }else{
}else{ failCount = failCount+1;
failCount = failCount+1; }
} }
} BatchApproveVO vo = new BatchApproveVO();
BatchApproveVO vo = new BatchApproveVO(); vo.setSuccessCount(successCount);
vo.setSuccessCount(successCount); vo.setFailCount(failCount);
vo.setFailCount(failCount); vo.setBatchId(batchId);
vo.setBatchId(batchId); return resultResponse(HaoBanErrCode.ERR_1,vo);
return resultResponse(HaoBanErrCode.ERR_1,vo); }
}
//审核拒绝
//审核拒绝 @HttpLimit
@HttpLimit @RequestMapping("refuse")
@RequestMapping("refuse") public HaobanResponse refuse(String auditId,String auditReason ,String auditName) {
public HaobanResponse refuse(String auditId,String auditReason ,String auditName) { if(StringUtils.isAnyBlank(auditId,auditReason,auditName)){
if(StringUtils.isAnyBlank(auditId,auditReason,auditName)){ return resultResponse(HaoBanErrCode.ERR_2);
return resultResponse(HaoBanErrCode.ERR_2); }
} WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); String staffId = login.getStaffId();
String staffId = login.getStaffDTO().getStaffId(); String staffName = login.getStaffName();
String staffName = login.getStaffDTO().getStaffName(); auditApiService.refuse(auditId, auditReason, staffId, staffName);
auditApiService.refuse(auditId, auditReason, staffId, staffName); return resultResponse(HaoBanErrCode.ERR_1);
return resultResponse(HaoBanErrCode.ERR_1); }
} //审核同意
//审核同意 @HttpLimit
@HttpLimit @RequestMapping("audit")
@RequestMapping("audit") public HaobanResponse audit(String auditId,String auditName ) {
public HaobanResponse audit(String auditId,String auditName ) { WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); String staffId = login.getStaffId();
WebStaffDTO loginStaffDTO = login.getStaffDTO(); String staffName = login.getStaffName();
if (null == loginStaffDTO) { if(StringUtils.isAnyBlank(auditId)){
return resultResponse(HaoBanErrCode.ERR_4); return resultResponse(HaoBanErrCode.ERR_2);
} }
String key = "audit-" + auditId;
String staffId = login.getStaffDTO().getStaffId(); RedisUtil.lock(key, 10L);
String staffName = login.getStaffDTO().getStaffName(); AuditDTO audit = auditApiService.findById(auditId);
if(StringUtils.isAnyBlank(auditId)){ if (audit == null || audit.getAuditStatus() != 0) {
return resultResponse(HaoBanErrCode.ERR_2); RedisUtil.unlock(key);
} return resultResponse(HaoBanErrCode.ERR_10017);
String key = "audit-" + auditId; }
RedisUtil.lock(key, 10L); String result = auditApiService.audit("",auditId,staffName,staffId);
AuditDTO audit = auditApiService.findById(auditId); RedisUtil.unlock(key);
if (audit == null || audit.getAuditStatus() != 0) { if(StringUtils.isEmpty(result)){
RedisUtil.unlock(key); return resultResponse(HaoBanErrCode.ERR_1);
return resultResponse(HaoBanErrCode.ERR_10017); }else{
} HaoBanErrCode errCode= HaoBanErrCode.ERR_DEFINE;
String result = auditApiService.audit("",auditId,staffName,staffId); errCode.setMsg(result);
RedisUtil.unlock(key); return resultResponse(errCode);
if(StringUtils.isEmpty(result)){ }
return resultResponse(HaoBanErrCode.ERR_1); }
}else{
HaoBanErrCode errCode= HaoBanErrCode.ERR_DEFINE; //批量审核详情
errCode.setMsg(result); @HttpLimit
return resultResponse(errCode); @RequestMapping("audit-detail-list")
} public HaobanResponse auditDetailList(String batchId ) {
} if(StringUtils.isAnyBlank(batchId)){
return resultResponse(HaoBanErrCode.ERR_2);
//批量审核详情 }
@HttpLimit List<BatchAuditLogDTO> list = auditApiService.listBatchLog(batchId);
@RequestMapping("audit-detail-list") return resultResponse(HaoBanErrCode.ERR_1,list);
public HaobanResponse auditDetailList(String batchId ) { }
if(StringUtils.isAnyBlank(batchId)){ }
return resultResponse(HaoBanErrCode.ERR_2);
}
List<BatchAuditLogDTO> list = auditApiService.listBatchLog(batchId);
return resultResponse(HaoBanErrCode.ERR_1,list);
}
}
package com.gic.haoban.manage.web.controller; package com.gic.haoban.manage.web.controller;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
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.gic.enterprise.api.dto.PowerStoreGroupDTO; import com.gic.enterprise.api.dto.PowerStoreGroupDTO;
import com.gic.enterprise.api.service.StoreGroupService; import com.gic.enterprise.api.service.StoreGroupService;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.common.utils.AuthWebRequestUtil;
import com.gic.haoban.common.utils.HaobanResponse; import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.manage.api.dto.LoginDTO;
import com.gic.haoban.manage.api.dto.StoreRangeInfoDTO; import com.gic.haoban.manage.api.dto.StoreRangeInfoDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseDTO; import com.gic.haoban.manage.api.dto.WxEnterpriseDTO;
import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService; 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.haoban.manage.web.vo.StoreGroupVo; import com.gic.haoban.manage.web.vo.StoreGroupVo;
import org.apache.commons.collections.CollectionUtils;
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 java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@RestController @RestController
public class GicDepartmentController extends WebBaseController{ public class GicDepartmentController extends WebBaseController{
...@@ -42,7 +44,7 @@ public class GicDepartmentController extends WebBaseController{ ...@@ -42,7 +44,7 @@ public class GicDepartmentController extends WebBaseController{
@RequestMapping("gic-store-group-list") @RequestMapping("gic-store-group-list")
public HaobanResponse storeGroupList(String enterpriseId, String keyWord) { public HaobanResponse storeGroupList(String enterpriseId, String keyWord) {
LoginDTO loginUser = this.getLoginUser(); WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = loginUser.getWxEnterpriseId(); String wxEnterpriseId = loginUser.getWxEnterpriseId();
List<PowerStoreGroupDTO> departmentList = storeGroupService.getStoreGroupList(enterpriseId, keyWord); List<PowerStoreGroupDTO> departmentList = storeGroupService.getStoreGroupList(enterpriseId, keyWord);
List<StoreRangeInfoDTO> rangeInfoDTOList = wxEnterpriseRelatedApiService.listAllBindStoreOrGroup(enterpriseId); List<StoreRangeInfoDTO> rangeInfoDTOList = wxEnterpriseRelatedApiService.listAllBindStoreOrGroup(enterpriseId);
......
package com.gic.haoban.manage.web.controller; package com.gic.haoban.manage.web.controller;
import cn.hutool.crypto.SecureUtil; import java.io.IOException;
import cn.hutool.crypto.symmetric.AES; import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.collections.CollectionUtils;
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 org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.RedirectView;
import com.alibaba.dubbo.common.URL; import com.alibaba.dubbo.common.URL;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.clerk.api.dto.ClerkDTO; import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.dto.PowerClerkDTO; import com.gic.clerk.api.dto.PowerClerkDTO;
import com.gic.clerk.api.service.ClerkService; import com.gic.clerk.api.service.ClerkService;
import com.gic.clerk.api.service.UserService; import com.gic.clerk.api.service.UserService;
import com.gic.commons.util.ToolUtil; import com.gic.commons.util.ToolUtil;
import com.gic.enterprise.api.dto.EnterpriseDTO;
import com.gic.enterprise.api.service.EnterpriseService;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO; import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.common.anno.IgnoreLogin; import com.gic.haoban.common.anno.IgnoreLogin;
import com.gic.haoban.common.utils.AuthWebRequestUtil; import com.gic.haoban.common.utils.AuthWebRequestUtil;
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.EnterpriseDetailDTO; import com.gic.haoban.manage.api.dto.EnterpriseDetailDTO;
import com.gic.haoban.manage.api.dto.LoginDTO;
import com.gic.haoban.manage.api.dto.StaffDTO; import com.gic.haoban.manage.api.dto.StaffDTO;
import com.gic.haoban.manage.api.dto.WxApplicationDTO; import com.gic.haoban.manage.api.dto.WxApplicationDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseDTO; import com.gic.haoban.manage.api.dto.WxEnterpriseDTO;
...@@ -27,31 +46,14 @@ import com.gic.haoban.manage.api.service.WxEnterpriseApiService; ...@@ -27,31 +46,14 @@ import com.gic.haoban.manage.api.service.WxEnterpriseApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService; import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService;
import com.gic.haoban.manage.web.config.Config; import com.gic.haoban.manage.web.config.Config;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode; import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.haoban.manage.web.vo.StaffVO;
import com.gic.haoban.manage.web.vo.WebLoginVO;
import com.gic.redis.data.util.RedisUtil; import com.gic.redis.data.util.RedisUtil;
import com.gic.wechat.api.dto.qywx.UserDTO; import com.gic.wechat.api.dto.qywx.UserDTO;
import com.gic.wechat.api.service.qywx.QywxCorpApiService; import com.gic.wechat.api.service.qywx.QywxCorpApiService;
import com.gic.wechat.api.service.qywx.QywxSuiteApiService;
import org.apache.commons.collections.CollectionUtils;
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 org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.RedirectView;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.crypto.symmetric.AES;
@RestController @RestController
public class LoginController extends WebBaseController { public class LoginController extends WebBaseController {
...@@ -69,8 +71,6 @@ public class LoginController extends WebBaseController { ...@@ -69,8 +71,6 @@ public class LoginController extends WebBaseController {
@Autowired @Autowired
private WxEnterpriseRelatedApiService wxEnterpriseRelatedApiService; private WxEnterpriseRelatedApiService wxEnterpriseRelatedApiService;
@Autowired @Autowired
private QywxSuiteApiService qywxSuiteApiService;
@Autowired
private WxApplicationApiService wxApplicationApiService; private WxApplicationApiService wxApplicationApiService;
@Autowired @Autowired
private UserService userService; private UserService userService;
...@@ -78,6 +78,8 @@ public class LoginController extends WebBaseController { ...@@ -78,6 +78,8 @@ public class LoginController extends WebBaseController {
private Config config; private Config config;
@Autowired @Autowired
private ClerkService clerkService; private ClerkService clerkService;
@Autowired
private EnterpriseService enterpriseService ;
/** /**
* 企微后台登录 * 企微后台登录
...@@ -88,50 +90,44 @@ public class LoginController extends WebBaseController { ...@@ -88,50 +90,44 @@ public class LoginController extends WebBaseController {
public void login(String auth_code, HttpServletResponse response) { public void login(String auth_code, HttpServletResponse response) {
String userJson = qywxCorpApiService.getLoginUserInfo(config.getCorpid(), auth_code); String userJson = qywxCorpApiService.getLoginUserInfo(config.getCorpid(), auth_code);
if (StringUtils.isBlank(userJson)) { if (StringUtils.isBlank(userJson)) {
logger.info("未查询到用户:auth_code:{}",auth_code); logger.info("未查询到用户:auth_code:{}", auth_code);
return; return;
} }
UserDTO user = JSON.parseObject(userJson, UserDTO.class); UserDTO user = JSON.parseObject(userJson, UserDTO.class);
String corpId = user.getCorpid(); String corpId = user.getCorpid();
logger.info("【企业微信登录】userId={},auth_code={},corpId={}", user.getUserid(), auth_code, corpId); logger.info("【企业微信登录】userId={},auth_code={},corpId={}", user.getUserid(), auth_code, corpId);
WxEnterpriseDTO enterprise = wxEnterpriseApiService.getEnterpriseBycorpId(corpId); WxEnterpriseDTO wxEnterprise = wxEnterpriseApiService.getEnterpriseBycorpId(corpId);
logger.info("【企业微信】enterprise={}", JSON.toJSONString(enterprise)); logger.info("【企业微信】enterprise={}", JSON.toJSONString(wxEnterprise));
StaffDTO loginStaff = null; StaffDTO loginStaff = null;
if (enterprise != null) { if (wxEnterprise != null) {
loginStaff = staffApiService.selectByUserIdAndEnterpriseId(user.getUserid(), enterprise.getWxEnterpriseId()); loginStaff = staffApiService.selectByUserIdAndEnterpriseId(user.getUserid(),
wxEnterprise.getWxEnterpriseId());
} }
if (loginStaff == null) { if (loginStaff == null) {
if (enterprise != null) { if (wxEnterprise != null) {
staffApiService.wxFristAdd(JSON.toJSONString(user), enterprise.getWxEnterpriseId()); staffApiService.wxFristAdd(JSON.toJSONString(user), wxEnterprise.getWxEnterpriseId());
loginStaff = staffApiService.selectByUserIdAndEnterpriseId(user.getUserid(), enterprise.getWxEnterpriseId()); loginStaff = staffApiService.selectByUserIdAndEnterpriseId(user.getUserid(),
wxEnterprise.getWxEnterpriseId());
} }
} }
LoginDTO loginVO = new LoginDTO();
logger.info("【好办web登录】staff={}", JSON.toJSONString(loginStaff)); logger.info("【好办web登录】staff={}", JSON.toJSONString(loginStaff));
if (loginStaff == null) { if (loginStaff == null) {
return; return;
} }
loginVO.setWxEnterpriseId(loginStaff.getWxEnterpriseId()); String wxEnterpriseId = wxEnterprise.getWxEnterpriseId();
loginVO.setStaffDTO(loginStaff); List<EnterpriseDetailDTO> list = this.wxEnterpriseRelatedApiService
WebLoginDTO webLoginDTO = EntityUtil.changeEntityByOrika(WebLoginDTO.class, loginVO); .listEnterpriseByWxEnterpriseId(wxEnterpriseId);
AuthWebRequestUtil.setSessionUser(webLoginDTO); if (CollectionUtils.isEmpty(list)) {
String redirectUri = config.getHost() + "index"; logger.info("企微下无关联GIC商户");
return;
redirectUri = redirectUri.replace("haoban-manage3-web", "haoban-3/#");
String token = ToolUtil.randomUUID() + "-" + ToolUtil.randomStringByTime();
AuthWebRequestUtil.setAppLoginUser(token, webLoginDTO);
try {
Cookie cookie = new Cookie("token", token);
cookie.setPath("/");
response.addCookie(cookie);
response.sendRedirect(redirectUri);
response.setHeader("token", token);
} catch (IOException e) {
logger.warn("异常", e);
} }
String gicEnterpriseId = list.get(0).getEnterpriseId();
String loginPhoneNumber = loginStaff.getPhoneNumber();
if (StringUtils.isBlank(loginPhoneNumber)) {
logger.info("未配置手机号,staffId ={}", loginStaff.getStaffId());
return;
}
this.doLogin(wxEnterpriseId, gicEnterpriseId, loginPhoneNumber, "gic", response);
} }
/** /**
...@@ -144,26 +140,28 @@ public class LoginController extends WebBaseController { ...@@ -144,26 +140,28 @@ public class LoginController extends WebBaseController {
*/ */
@IgnoreLogin @IgnoreLogin
@RequestMapping("yw-login") @RequestMapping("yw-login")
public HaobanResponse ywLogin(String enterpriseId , String wxEnterpriseId, String random, HttpServletResponse response) { public HaobanResponse ywLogin(String enterpriseId, String wxEnterpriseId, String random,
//判断是否存在random HttpServletResponse response) {
// 判断是否存在random
Object o = RedisUtil.getCache(random); Object o = RedisUtil.getCache(random);
if (o == null) { if (o == null) {
return resultResponse(HaoBanErrCode.ERR_4); return resultResponse(HaoBanErrCode.ERR_4);
} }
if(StringUtils.isBlank(enterpriseId)) { if (StringUtils.isBlank(enterpriseId)) {
List<EnterpriseDetailDTO> list = this.wxEnterpriseRelatedApiService.listEnterpriseByWxEnterpriseId(wxEnterpriseId) ; List<EnterpriseDetailDTO> list = this.wxEnterpriseRelatedApiService
if(CollectionUtils.isEmpty(list)) { .listEnterpriseByWxEnterpriseId(wxEnterpriseId);
if (CollectionUtils.isEmpty(list)) {
return resultResponse(HaoBanErrCode.ERR_4); return resultResponse(HaoBanErrCode.ERR_4);
} }
enterpriseId = list.get(0).getEnterpriseId() ; enterpriseId = list.get(0).getEnterpriseId();
} }
String gicSuperPhone = clerkService.getSuperAdminPhoneNumber(enterpriseId) ; String gicSuperPhone = clerkService.getSuperAdminPhoneNumber(enterpriseId);
logger.info("登录商户id={},超管手机={}",enterpriseId,gicSuperPhone); logger.info("登录商户id={},超管手机={}", enterpriseId, gicSuperPhone);
String result = this.doLogin(wxEnterpriseId, enterpriseId, gicSuperPhone, response) ; String result = this.doLogin(wxEnterpriseId, enterpriseId, gicSuperPhone, "yw", response);
if(StringUtils.isNotBlank(result)) { if (StringUtils.isNotBlank(result)) {
return resultResponse(HaoBanErrCode.ERR_4); return this.fail(result);
} }
return null ; return null;
} }
/** /**
...@@ -177,7 +175,7 @@ public class LoginController extends WebBaseController { ...@@ -177,7 +175,7 @@ public class LoginController extends WebBaseController {
@IgnoreLogin @IgnoreLogin
@RequestMapping("gic-login") @RequestMapping("gic-login")
public ModelAndView gicLogin(String random, String wxEnterpriseId, HttpServletResponse response) { public ModelAndView gicLogin(String random, String wxEnterpriseId, HttpServletResponse response) {
//判断是否存在random // 判断是否存在random
AES aes = SecureUtil.aes(LOGIN_KEY.getBytes()); AES aes = SecureUtil.aes(LOGIN_KEY.getBytes());
String o = aes.decryptStr(random); String o = aes.decryptStr(random);
if (o == null || StringUtils.isBlank(wxEnterpriseId)) { if (o == null || StringUtils.isBlank(wxEnterpriseId)) {
...@@ -195,149 +193,58 @@ public class LoginController extends WebBaseController { ...@@ -195,149 +193,58 @@ public class LoginController extends WebBaseController {
return model; return model;
} }
WxEnterpriseDTO detailDTO = enterpriseDTOList.stream().filter(dto -> dto.getWxEnterpriseId().equals(wxEnterpriseId)).findFirst().orElse(null); WxEnterpriseDTO detailDTO = enterpriseDTOList.stream()
.filter(dto -> dto.getWxEnterpriseId().equals(wxEnterpriseId)).findFirst().orElse(null);
if (null == detailDTO) { if (null == detailDTO) {
logger.info("登录失败,不存在对应企业:gicEnterpriseId:{}",gicEnterpriseId ); logger.info("登录失败,不存在对应企业:gicEnterpriseId:{}", gicEnterpriseId);
ModelAndView model = new ModelAndView(new RedirectView("/haoban-3/#/gic-error", false, false));
return model;
}
String result = this.doLogin(wxEnterpriseId, gicEnterpriseId, loginPhoneNumber, response) ;
if(StringUtils.isNotBlank(result)) {
ModelAndView model = new ModelAndView(new RedirectView("/haoban-3/#/gic-error", false, false));
return model;
}
/* StaffDTO staff = staffApiService.selectByNationcodeAndPhoneNumber(detailDTO.getWxEnterpriseId(), "86", loginPhoneNumber);
if (null == staff) {
logger.info("登录用户手机号不存在!gicEnterpriseId:{}", gicEnterpriseId);
ModelAndView model = new ModelAndView(new RedirectView("/haoban-3/#/gic-error", false, false)); ModelAndView model = new ModelAndView(new RedirectView("/haoban-3/#/gic-error", false, false));
return model; return model;
} }
WxApplicationDTO application = wxApplicationApiService.selectByWxEnterpriseIdAndApplicationType(wxEnterpriseId, 2); String result = this.doLogin(wxEnterpriseId, gicEnterpriseId, loginPhoneNumber, "gic", response);
if (null == application) { if (StringUtils.isNotBlank(result)) {
logger.info("登录企业应用 没授权!gicEnterpriseId:{}",gicEnterpriseId);
ModelAndView model = new ModelAndView(new RedirectView("/haoban-3/#/gic-error", false, false));
return model;
}
WxEnterpriseDTO enterprise = wxEnterpriseApiService.getOne(wxEnterpriseId);
if (null == enterprise) {
logger.info("登录失败,不存在对应企业:wxEnterpriseId{}", wxEnterpriseId);
ModelAndView model = new ModelAndView(new RedirectView("/haoban-3/#/gic-error", false, false)); ModelAndView model = new ModelAndView(new RedirectView("/haoban-3/#/gic-error", false, false));
return model; return model;
} }
//获取管理员列表
String corpid = enterprise.getCorpid();
String adminList = qywxSuiteApiService.getAdminList(corpid, application.getSiteId(), Integer.parseInt(application.getAgentId()));
List<String> userIds = new ArrayList<String>();
if (StringUtils.isNotBlank(adminList)) {
JSONArray jsonArr = JSON.parseArray(adminList);
for (Object object : jsonArr) {
JSONObject json = JSON.parseObject(JSON.toJSONString(object));
userIds.add(json.getString("userid"));
}
}
//兼容
if (corpid.length() > 20) {
if (!userIds.contains(staff.getWxOpenUseId())) {
logger.info("登录失败,当前用户不是管理员:{}", JSON.toJSONString(userIds));
ModelAndView model = new ModelAndView(new RedirectView("/haoban-3/#/gic-error", false, false));
return model;
}
} else {
if (!userIds.contains(staff.getWxUserId())) {
logger.info("登录失败,当前用户不是管理员:{}", JSON.toJSONString(userIds));
ModelAndView model = new ModelAndView(new RedirectView("/haoban-3/#/gic-error", false, false));
return model;
}
}
LoginDTO loginDTO = new LoginDTO();
loginDTO.setWxEnterpriseId(detailDTO.getWxEnterpriseId());
loginDTO.setEnterpriseId(gicEnterpriseId);
//导购id
ClerkDTO clerk = clerkService.getClerkByPhoneNumber(loginPhoneNumber, gicEnterpriseId);
if (clerk != null) {
staff.setClerkId(clerk.getClerkId());
staff.setClerkName(clerk.getClerkName());
staff.setClerkCode(clerk.getClerkCode());
}
loginDTO.setStaffDTO(staff);
String redirectUri = config.getHost() + "index";
redirectUri = redirectUri.replace("haoban-manage3-web", "haoban-3/#");
String token = ToolUtil.randomUUID() + "-" + ToolUtil.randomStringByTime();
WebLoginDTO webLoginDTO = EntityUtil.changeEntityByOrika(WebLoginDTO.class, loginDTO);
AuthWebRequestUtil.setSessionUser(webLoginDTO);
AuthWebRequestUtil.setAppLoginUser(token, webLoginDTO);
try {
Cookie cookie = new Cookie("token", token);
cookie.setPath("/");
response.addCookie(cookie);
response.sendRedirect(redirectUri);
response.setHeader("token", token);
} catch (IOException e) {
e.printStackTrace();
}*/
return null; return null;
} }
private String doLogin(String wxEnterpriseId, String gicEnterpriseId, String loginPhoneNumber, String loginChannel,
private String doLogin(String wxEnterpriseId , String gicEnterpriseId , String loginPhoneNumber, HttpServletResponse response) { HttpServletResponse response) {
StaffDTO staff = staffApiService.selectByNationcodeAndPhoneNumber(wxEnterpriseId, "86", loginPhoneNumber); StaffDTO staff = staffApiService.selectByNationcodeAndPhoneNumber(wxEnterpriseId, "86", loginPhoneNumber);
if (null == staff) { if (null == staff) {
logger.info("登录用户手机号不存在!gicEnterpriseId:{}", gicEnterpriseId); logger.info("登录用户手机号不存在!gicEnterpriseId:{}", gicEnterpriseId);
return "登录用户手机号不存在"; return "登录失败,好办用户手机号不存在(" + loginPhoneNumber + ")";
} }
WxApplicationDTO application = wxApplicationApiService.selectByWxEnterpriseIdAndApplicationType(wxEnterpriseId,
WxApplicationDTO application = wxApplicationApiService.selectByWxEnterpriseIdAndApplicationType(wxEnterpriseId, 2); 2);
if (null == application) { if (null == application) {
logger.info("登录企业应用 没授权!gicEnterpriseId:{}",gicEnterpriseId); logger.info("登录企业应用 没授权!gicEnterpriseId:{}", gicEnterpriseId);
return "登录企业应用 没授权"; return "登录失败,企业应用没授权";
} }
WxEnterpriseDTO enterprise = wxEnterpriseApiService.getOne(wxEnterpriseId); WxEnterpriseDTO enterprise = wxEnterpriseApiService.getOne(wxEnterpriseId);
if (null == enterprise) { if (null == enterprise) {
logger.info("登录失败,不存在对应企业:wxEnterpriseId{}", wxEnterpriseId); logger.info("登录失败,不存在对应企业:wxEnterpriseId{}", wxEnterpriseId);
return "登录失败,不存在对应企业"; return "登录失败,不存在对应企业";
}
//获取管理员列表
String corpid = enterprise.getCorpid();
String adminList = qywxSuiteApiService.getAdminList(corpid, application.getSiteId(), Integer.parseInt(application.getAgentId()));
List<String> userIds = new ArrayList<String>();
if (StringUtils.isNotBlank(adminList)) {
JSONArray jsonArr = JSON.parseArray(adminList);
for (Object object : jsonArr) {
JSONObject json = JSON.parseObject(JSON.toJSONString(object));
userIds.add(json.getString("userid"));
}
} }
//兼容 WebLoginDTO webLoginDTO = EntityUtil.changeEntityByJSON(WebLoginDTO.class, staff);
if (corpid.length() > 20) { webLoginDTO.setWxEnterpriseId(wxEnterpriseId);
if (!userIds.contains(staff.getWxOpenUseId())) { webLoginDTO.setEnterpriseId(gicEnterpriseId);
logger.info("登录失败,当前用户不是管理员:{}", JSON.toJSONString(userIds)); // 导购id
return "登录失败,当前用户不是管理员";
}
} else {
if (!userIds.contains(staff.getWxUserId())) {
logger.info("登录失败,当前用户不是管理员:{}", JSON.toJSONString(userIds));
return "登录失败,当前用户不是管理员";
}
}
LoginDTO loginDTO = new LoginDTO();
loginDTO.setWxEnterpriseId(wxEnterpriseId);
loginDTO.setEnterpriseId(gicEnterpriseId);
//导购id
ClerkDTO clerk = clerkService.getClerkByPhoneNumber(loginPhoneNumber, gicEnterpriseId); ClerkDTO clerk = clerkService.getClerkByPhoneNumber(loginPhoneNumber, gicEnterpriseId);
if (clerk != null) { if (clerk == null) {
staff.setClerkId(clerk.getClerkId()); logger.info("gic账号不存在,eid={},phone={}", gicEnterpriseId, loginPhoneNumber);
staff.setClerkName(clerk.getClerkName()); return "登录失败,gic账号不存在";
staff.setClerkCode(clerk.getClerkCode()); }
} EnterpriseDTO en = this.enterpriseService.getEnterpriseById(gicEnterpriseId) ;
loginDTO.setStaffDTO(staff); webLoginDTO.setLoginChannel(loginChannel);
webLoginDTO.setClerkId(clerk.getClerkId());
webLoginDTO.setClerkName(clerk.getClerkName());
webLoginDTO.setBrandName(en.getBrandName());
String redirectUri = config.getHost() + "index"; String redirectUri = config.getHost() + "index";
redirectUri = redirectUri.replace("haoban-manage3-web", "haoban-3/#"); redirectUri = redirectUri.replace("haoban-manage3-web", "haoban-3/#");
String token = ToolUtil.randomUUID() + "-" + ToolUtil.randomStringByTime(); String token = ToolUtil.randomUUID() + "-" + ToolUtil.randomStringByTime();
WebLoginDTO webLoginDTO = EntityUtil.changeEntityByOrika(WebLoginDTO.class, loginDTO);
AuthWebRequestUtil.setSessionUser(webLoginDTO); AuthWebRequestUtil.setSessionUser(webLoginDTO);
AuthWebRequestUtil.setAppLoginUser(token, webLoginDTO); AuthWebRequestUtil.setAppLoginUser(token, webLoginDTO);
try { try {
...@@ -350,48 +257,57 @@ public class LoginController extends WebBaseController { ...@@ -350,48 +257,57 @@ public class LoginController extends WebBaseController {
e.printStackTrace(); e.printStackTrace();
} }
return null; return null;
}
@RequestMapping("login_local")
@Deprecated
public HaobanResponse login() {
LoginDTO loginVO = new LoginDTO();
StaffDTO staff = staffApiService.selectById("2205f92cdb5f468cb996e91dded414c2");
String token = ToolUtil.randomUUID() + "-" + ToolUtil.randomStringByTime();
logger.info("【好办登录】staff={}", JSON.toJSONString(staff));
loginVO.setWxEnterpriseId(staff.getWxEnterpriseId());
loginVO.setStaffDTO(staff);
AuthWebRequestUtil.setAppLoginUser(token, EntityUtil.changeEntityByOrika(WebLoginDTO.class,loginVO));
Cookie cookie = new Cookie("token", token);
cookie.setPath("/");
return resultResponse(HaoBanErrCode.ERR_1, loginVO);
} }
/** /**
* 获取登录信息 * 获取登录信息
*
* @return res * @return res
*/ */
@RequestMapping("get-login-info") @RequestMapping("get-login-info")
public HaobanResponse getLoginInfo() { public HaobanResponse getLoginInfo() {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser(); WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
String phoneNumber = loginUser.getStaffDTO().getPhoneNumber(); WebLoginVO vo = EntityUtil.changeEntityByOrika(WebLoginVO.class, loginUser) ;
if (StringUtils.isNotBlank(phoneNumber)){ String staffId = loginUser.getStaffId() ;
ClerkDTO clerkDTO = clerkService.getClerkByPhoneNumber(phoneNumber); StaffDTO dto = this.staffApiService.selectById(staffId) ;
String enterpriseId = loginUser.getEnterpriseId(); StaffVO staffVO = EntityUtil.changeEntityByOrika(StaffVO.class, dto) ;
if (StringUtils.isBlank(enterpriseId)) { vo.setStaffDTO(staffVO);
loginUser.setEnterpriseId(clerkDTO.getEnterpriseId()); return this.success(vo) ;
} }
Integer superAdmin = clerkDTO.getSuperAdmin();
if (superAdmin != null && superAdmin == 1) {
loginUser.getStaffDTO().setSuperManagerFlag(1); /**
} * 切换GIC商户
* @param enterpriseId
* @return
*/
@RequestMapping("enterprise-is-over")
public HaobanResponse enterpriseIsOver(String enterpriseId) {
if (StringUtils.isEmpty(enterpriseId)) {
return this.fail("企业ID空") ;
} }
return resultResponse(HaoBanErrCode.ERR_1, loginUser); EnterpriseDTO enterprise = this.enterpriseService.getEnterpriseById(enterpriseId);
if(null == enterprise) {
return this.fail("gic商户查询不到") ;
}
String token = AuthWebRequestUtil.getToken();
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
if(null == loginUser) {
return this.fail("用户未登录") ;
}
logger.info("切换商户,登录信息={},enterpriseId",JSON.toJSONString(loginUser),enterpriseId);
String phoneNumber = loginUser.getPhoneNumber() ;
ClerkDTO clerk = clerkService.getClerkByPhoneNumber(phoneNumber, enterpriseId);
if (clerk == null) {
logger.info("切换商户失败,gic账号不存在,eid={},phone={}", enterpriseId, phoneNumber);
this.fail("切换商户失败,gic账号不存在") ;
}
loginUser.setEnterpriseId(enterpriseId);
loginUser.setClerkId(clerk.getClerkId());
loginUser.setClerkName(clerk.getClerkName());
loginUser.setBrandName(enterprise.getBrandName());
AuthWebRequestUtil.setSessionUser(loginUser);
AuthWebRequestUtil.setAppLoginUser(token, loginUser);
return resultResponse(HaoBanErrCode.ERR_1, true);
} }
/** /**
...@@ -403,7 +319,8 @@ public class LoginController extends WebBaseController { ...@@ -403,7 +319,8 @@ public class LoginController extends WebBaseController {
public HaobanResponse getLoginQrcode() throws UnsupportedEncodingException { public HaobanResponse getLoginQrcode() throws UnsupportedEncodingException {
String corpid = config.getCorpid(); String corpid = config.getCorpid();
String redirectUri = config.getHost() + "login"; String redirectUri = config.getHost() + "login";
String url = "https://open.work.weixin.qq.com/wwopen/sso/3rd_qrConnect?appid=" + corpid + "&redirect_uri=" + URLEncoder.encode(redirectUri, "UTF-8") + "&state=web_login@gyoss9&usertype=admin"; String url = "https://open.work.weixin.qq.com/wwopen/sso/3rd_qrConnect?appid=" + corpid + "&redirect_uri="
+ URLEncoder.encode(redirectUri, "UTF-8") + "&state=web_login@gyoss9&usertype=admin";
return resultResponse(HaoBanErrCode.ERR_1, URL.decode(url)); return resultResponse(HaoBanErrCode.ERR_1, URL.decode(url));
} }
...@@ -414,7 +331,7 @@ public class LoginController extends WebBaseController { ...@@ -414,7 +331,7 @@ public class LoginController extends WebBaseController {
*/ */
@RequestMapping("login-wx-enterprise-list") @RequestMapping("login-wx-enterprise-list")
public HaobanResponse loginWxEnterpriseList(String random) { public HaobanResponse loginWxEnterpriseList(String random) {
//判断是否存在random // 判断是否存在random
AES aes = SecureUtil.aes(LOGIN_KEY.getBytes()); AES aes = SecureUtil.aes(LOGIN_KEY.getBytes());
String o = aes.decryptStr(random); String o = aes.decryptStr(random);
if (o == null) { if (o == null) {
...@@ -431,7 +348,8 @@ public class LoginController extends WebBaseController { ...@@ -431,7 +348,8 @@ public class LoginController extends WebBaseController {
return resultResponse(HaoBanErrCode.ERR_6); return resultResponse(HaoBanErrCode.ERR_6);
} }
if (StringUtils.isNotBlank(wxEnterpriseId)) { if (StringUtils.isNotBlank(wxEnterpriseId)) {
List<WxEnterpriseDTO> collect = enterpriseDTOList.stream().filter(dto -> dto.getWxEnterpriseId().equals(wxEnterpriseId)).collect(Collectors.toList()); List<WxEnterpriseDTO> collect = enterpriseDTOList.stream()
.filter(dto -> dto.getWxEnterpriseId().equals(wxEnterpriseId)).collect(Collectors.toList());
return resultResponse(HaoBanErrCode.ERR_1, collect); return resultResponse(HaoBanErrCode.ERR_1, collect);
} }
return resultResponse(HaoBanErrCode.ERR_1, enterpriseDTOList); return resultResponse(HaoBanErrCode.ERR_1, enterpriseDTOList);
...@@ -457,19 +375,18 @@ public class LoginController extends WebBaseController { ...@@ -457,19 +375,18 @@ public class LoginController extends WebBaseController {
RedisUtil.delCache(token); RedisUtil.delCache(token);
} }
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
@RequestMapping("/gic-login-check") @RequestMapping("/gic-login-check")
public ModelAndView gicLogin(String code, String hbEnt) { public ModelAndView gicLogin(String code, String hbEnt) {
logger.info("gic登录code={},hbEnt={}", code,hbEnt); logger.info("gic登录code={},hbEnt={}", code, hbEnt);
PowerClerkDTO clerkDTO = this.userService.haobanLoginBack(code); PowerClerkDTO clerkDTO = this.userService.haobanLoginBack(code);
if (clerkDTO == null) { if (clerkDTO == null) {
logger.info("登录失败,code失效:{}", code); logger.info("登录失败,code失效:{}", code);
ModelAndView model = new ModelAndView(new RedirectView("/haoban-web/#/gic-error", false)); ModelAndView model = new ModelAndView(new RedirectView("/haoban-web/#/gic-error", false));
return model; return model;
} }
//获取code信息 // 获取code信息
String gicEnterpriseId = clerkDTO.getEnterpriseId(); String gicEnterpriseId = clerkDTO.getEnterpriseId();
String loginPhoneNumber = clerkDTO.getPhoneNumber(); String loginPhoneNumber = clerkDTO.getPhoneNumber();
boolean b = wxEnterpriseRelatedApiService.enterpriseUseNew(gicEnterpriseId); boolean b = wxEnterpriseRelatedApiService.enterpriseUseNew(gicEnterpriseId);
...@@ -482,7 +399,8 @@ public class LoginController extends WebBaseController { ...@@ -482,7 +399,8 @@ public class LoginController extends WebBaseController {
AES aes = SecureUtil.aes(LOGIN_KEY.getBytes()); AES aes = SecureUtil.aes(LOGIN_KEY.getBytes());
String random = aes.encryptHex(ret); String random = aes.encryptHex(ret);
logger.info("使用新好办3:{}", random); logger.info("使用新好办3:{}", random);
ModelAndView model = new ModelAndView(new RedirectView("/haoban-3/#/loginMore?random=" + random, false, false)); ModelAndView model = new ModelAndView(
new RedirectView("/haoban-3/#/loginMore?random=" + random, false, false));
return model; return model;
} }
logger.info("登录失败,code失效:{}", code); logger.info("登录失败,code失效:{}", code);
......
...@@ -125,9 +125,8 @@ public class MaterialController extends WebBaseController { ...@@ -125,9 +125,8 @@ public class MaterialController extends WebBaseController {
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
materialDTO.setWxEnterpriseId(wxEnterpriseId); materialDTO.setWxEnterpriseId(wxEnterpriseId);
WebStaffDTO staff = login.getStaffDTO(); materialDTO.setStaffId(login.getStaffId());
materialDTO.setStaffId(staff.getStaffId()); materialDTO.setStaffName(login.getStaffName());
materialDTO.setStaffName(staff.getStaffName());
String materialTitle = materialDTO.getMaterialTitle(); String materialTitle = materialDTO.getMaterialTitle();
String categoryId = materialDTO.getCategoryId(); String categoryId = materialDTO.getCategoryId();
Integer categoryType = materialDTO.getMaterialType(); Integer categoryType = materialDTO.getMaterialType();
...@@ -155,9 +154,8 @@ public class MaterialController extends WebBaseController { ...@@ -155,9 +154,8 @@ public class MaterialController extends WebBaseController {
BatchAddMaterialDTO.Material material = dto.getMaterial(); BatchAddMaterialDTO.Material material = dto.getMaterial();
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
material.setWxEnterpriseId(login.getWxEnterpriseId()); material.setWxEnterpriseId(login.getWxEnterpriseId());
WebStaffDTO staff = login.getStaffDTO(); material.setStaffId(login.getStaffId());
material.setStaffId(staff.getStaffId()); material.setStaffName(login.getStaffName());
material.setStaffName(staff.getStaffName());
if (StringUtils.isAnyBlank(material.getCategoryId(), material.getMaterialTitle()) if (StringUtils.isAnyBlank(material.getCategoryId(), material.getMaterialTitle())
|| Objects.isNull(material.getMaterialType())) { || Objects.isNull(material.getMaterialType())) {
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
...@@ -185,10 +183,8 @@ public class MaterialController extends WebBaseController { ...@@ -185,10 +183,8 @@ public class MaterialController extends WebBaseController {
@RequestMapping("/material-edit") @RequestMapping("/material-edit")
public HaobanResponse materialEdit(MaterialDTO materialDTO) { public HaobanResponse materialEdit(MaterialDTO materialDTO) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
materialDTO.setStaffId(login.getStaffId());
WebStaffDTO staff = login.getStaffDTO(); materialDTO.setStaffName(login.getStaffName());
materialDTO.setStaffId(staff.getStaffId());
materialDTO.setStaffName(staff.getStaffName());
String materialId = materialDTO.getMaterialId(); String materialId = materialDTO.getMaterialId();
MaterialDTO dto = materialApiService.selectMaterialById(materialId); MaterialDTO dto = materialApiService.selectMaterialById(materialId);
if (dto == null) { if (dto == null) {
......
...@@ -40,7 +40,7 @@ public class RightController extends WebBaseController { ...@@ -40,7 +40,7 @@ public class RightController extends WebBaseController {
@RequestMapping("get-haoban-menu") @RequestMapping("get-haoban-menu")
public HaobanResponse getHaobanMenu(HttpServletRequest request, String enterpriseId) { public HaobanResponse getHaobanMenu(HttpServletRequest request, String enterpriseId) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String phoneNumber = login.getStaffDTO().getPhoneNumber(); String phoneNumber = login.getPhoneNumber();
Enumeration<String> e= request.getHeaderNames() ; Enumeration<String> e= request.getHeaderNames() ;
while(e.hasMoreElements()) { while(e.hasMoreElements()) {
String name = e.nextElement() ; String name = e.nextElement() ;
...@@ -67,7 +67,7 @@ public class RightController extends WebBaseController { ...@@ -67,7 +67,7 @@ public class RightController extends WebBaseController {
@RequestMapping("get-haoban-right") @RequestMapping("get-haoban-right")
public HaobanResponse listHaobanAllMenu(HttpServletRequest request, String enterpriseId) { public HaobanResponse listHaobanAllMenu(HttpServletRequest request, String enterpriseId) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String phoneNumber = login.getStaffDTO().getPhoneNumber(); String phoneNumber = login.getPhoneNumber();
if(StringUtils.isBlank(enterpriseId)) { if(StringUtils.isBlank(enterpriseId)) {
enterpriseId = request.getHeader("enterpriseid") ; enterpriseId = request.getHeader("enterpriseid") ;
} }
......
...@@ -324,16 +324,11 @@ public class StaffController extends WebBaseController { ...@@ -324,16 +324,11 @@ public class StaffController extends WebBaseController {
@RequestMapping("del-clerk-relation") @RequestMapping("del-clerk-relation")
public HaobanResponse delStaffClerkList(String staffId, String clerkId) { public HaobanResponse delStaffClerkList(String staffId, String clerkId) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
WebStaffDTO staffDTO = login.getStaffDTO();
if (staffDTO == null) {
logger.info("登录异常");
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(login.getStaffId(), clerkId);
return resultResponse(HaoBanErrCode.ERR_1, b); return resultResponse(HaoBanErrCode.ERR_1, b);
} }
...@@ -400,10 +395,6 @@ public class StaffController extends WebBaseController { ...@@ -400,10 +395,6 @@ public class StaffController extends WebBaseController {
@RequestMapping("add-clerk-relation") @RequestMapping("add-clerk-relation")
public HaobanResponse staffClerkSearch(String staffId, String clerkId) { public HaobanResponse staffClerkSearch(String staffId, String clerkId) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
WebStaffDTO loginStaffDTO = login.getStaffDTO();
if (null == loginStaffDTO) {
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);
} }
...@@ -425,7 +416,7 @@ public class StaffController extends WebBaseController { ...@@ -425,7 +416,7 @@ 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, login.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);
...@@ -444,11 +435,7 @@ public class StaffController extends WebBaseController { ...@@ -444,11 +435,7 @@ public class StaffController extends WebBaseController {
@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) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
WebStaffDTO loginStaffDTO = login.getStaffDTO(); Page<StaffClerkBindLogDetailDTO> page = staffClerkRelationApiService.pageStaffClerkBindLog(login.getWxEnterpriseId(), search, enterpriseId, optType, qo);
if (null == loginStaffDTO) {
return resultResponse(HaoBanErrCode.ERR_4);
}
Page<StaffClerkBindLogDetailDTO> page = staffClerkRelationApiService.pageStaffClerkBindLog(loginStaffDTO.getWxEnterpriseId(), search, enterpriseId, optType, qo);
return resultResponse(HaoBanErrCode.ERR_1, page); return resultResponse(HaoBanErrCode.ERR_1, page);
} }
......
package com.gic.haoban.manage.web.controller; package com.gic.haoban.manage.web.controller;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.haoban.base.api.common.BasePageInfo; import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO; import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.base.api.common.pojo.dto.WebStaffDTO; import com.gic.haoban.base.api.common.pojo.dto.WebStaffDTO;
import com.gic.haoban.common.utils.AuthWebRequestUtil; import com.gic.haoban.common.utils.AuthWebRequestUtil;
import com.gic.haoban.common.utils.HaobanResponse; import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.manage.api.dto.PreDealLogInfoDTO; import com.gic.haoban.manage.api.dto.PreDealLogInfoDTO;
import com.gic.haoban.manage.api.dto.SyncCheckDTO; import com.gic.haoban.manage.api.dto.SyncCheckDTO;
import com.gic.haoban.manage.api.dto.SyncTaskDTO; import com.gic.haoban.manage.api.dto.SyncTaskDTO;
import com.gic.haoban.manage.api.service.DealSyncOperationApiService; import com.gic.haoban.manage.api.service.DealSyncOperationApiService;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode; import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.haoban.manage.web.qo.SyncDealQO; import com.gic.haoban.manage.web.qo.SyncDealQO;
import com.gic.redis.data.util.RedisUtil; import com.gic.redis.data.util.RedisUtil;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateFormatUtils;
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.web.bind.annotation.RequestBody; 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 org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.Date; import java.util.Date;
@RestController @RestController
public class SyncDealContoller extends WebBaseController { public class SyncDealContoller extends WebBaseController {
private static final Logger logger = LoggerFactory.getLogger(SyncDealContoller.class); private static final Logger logger = LoggerFactory.getLogger(SyncDealContoller.class);
@Autowired @Autowired
private DealSyncOperationApiService dealSyncOperationApiService; private DealSyncOperationApiService dealSyncOperationApiService;
@RequestMapping("/test/department-sync") @RequestMapping("/test/department-sync")
@ResponseBody @ResponseBody
public HaobanResponse departmentBatchSyncTest(@RequestBody SyncDealQO qo, String wxEid) { public HaobanResponse departmentBatchSyncTest(@RequestBody SyncDealQO qo, String wxEid) {
String task = null; String task = null;
if (StringUtils.isNotBlank(wxEid)) { if (StringUtils.isNotBlank(wxEid)) {
task = dealSyncOperationApiService.createTask(wxEid, "门店同步", "11111", "部门同步"); task = dealSyncOperationApiService.createTask(wxEid, "门店同步", "11111", "部门同步");
dealSyncOperationApiService.dealDepartment(task, wxEid, qo.getAddDepartment(), qo.getEditDepartment()); dealSyncOperationApiService.dealDepartment(task, wxEid, qo.getAddDepartment(), qo.getEditDepartment());
} else { } else {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
String key = "haoban-sync-department-" + wxEnterpriseId; String key = "haoban-sync-department-" + wxEnterpriseId;
if (RedisUtil.getCache(key) != null) { if (RedisUtil.getCache(key) != null) {
return resultResponse(HaoBanErrCode.ERR_10011); return resultResponse(HaoBanErrCode.ERR_10011);
} }
task = dealSyncOperationApiService.createTask(wxEnterpriseId, "门店同步", login.getStaffDTO().getStaffId(), "部门同步"); task = dealSyncOperationApiService.createTask(wxEnterpriseId, "门店同步", login.getStaffId(), "部门同步");
dealSyncOperationApiService.dealDepartment(task, login.getWxEnterpriseId(), qo.getAddDepartment(), qo.getEditDepartment()); dealSyncOperationApiService.dealDepartment(task, login.getWxEnterpriseId(), qo.getAddDepartment(), qo.getEditDepartment());
} }
return resultResponse(HaoBanErrCode.ERR_1, task); return resultResponse(HaoBanErrCode.ERR_1, task);
} }
@RequestMapping("/department-sync") @RequestMapping("/department-sync")
@ResponseBody @ResponseBody
public HaobanResponse departmentBatchSync(@RequestBody SyncDealQO qo) { public HaobanResponse departmentBatchSync(@RequestBody SyncDealQO qo) {
String task = null; String task = null;
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
logger.info("login:{}", JSONObject.toJSONString(login)); logger.info("login:{}", JSONObject.toJSONString(login));
logger.info("data:{}", JSONObject.toJSONString(qo)); logger.info("data:{}", JSONObject.toJSONString(qo));
String taskLock = dealSyncOperationApiService.getTaskLock(wxEnterpriseId); String taskLock = dealSyncOperationApiService.getTaskLock(wxEnterpriseId);
if (null != taskLock) { if (null != taskLock) {
return resultResponse(HaoBanErrCode.ERR_10011); return resultResponse(HaoBanErrCode.ERR_10011);
} }
WebStaffDTO staffDTO = login.getStaffDTO(); String staffId = "admin";
String staffId = "admin"; String format = DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss");
if (null != staffDTO) { task = dealSyncOperationApiService.createTask(wxEnterpriseId, "门店同步-" + format, staffId, "部门同步");
staffId = staffDTO.getStaffId(); if (task == null) {
} return resultResponse(HaoBanErrCode.ERR_10011);
String format = DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"); }
task = dealSyncOperationApiService.createTask(wxEnterpriseId, "门店同步-" + format, staffId, "部门同步"); dealSyncOperationApiService.dealDepartment(task, login.getWxEnterpriseId(), qo.getAddDepartment(), qo.getEditDepartment());
if (task == null) {
return resultResponse(HaoBanErrCode.ERR_10011); return resultResponse(HaoBanErrCode.ERR_1, task);
}
dealSyncOperationApiService.dealDepartment(task, login.getWxEnterpriseId(), qo.getAddDepartment(), qo.getEditDepartment()); }
return resultResponse(HaoBanErrCode.ERR_1, task); /**
* 同步状态校验
} *
* @param syncKey
/** * @return
* 同步状态校验 */
* @RequestMapping("department-sync-check")
* @param syncKey public HaobanResponse syncSuccess(String wxEnterpriseId) {
* @return if (StringUtils.isBlank(wxEnterpriseId)) {
*/ WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
@RequestMapping("department-sync-check") wxEnterpriseId = login.getWxEnterpriseId();
public HaobanResponse syncSuccess(String wxEnterpriseId) { }
if (StringUtils.isBlank(wxEnterpriseId)) { SyncCheckDTO taskCheck = dealSyncOperationApiService.getTaskCheck(wxEnterpriseId);
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); return resultResponse(HaoBanErrCode.ERR_1, taskCheck);
wxEnterpriseId = login.getWxEnterpriseId(); }
}
SyncCheckDTO taskCheck = dealSyncOperationApiService.getTaskCheck(wxEnterpriseId); /**
return resultResponse(HaoBanErrCode.ERR_1, taskCheck); * 同步状态校验
} *
* @param syncKey
/** * @return
* 同步状态校验 */
* @RequestMapping("/test/department-sync-check")
* @param syncKey public HaobanResponse testSyncSuccess(String wxEnterpriseId) {
* @return if (StringUtils.isBlank(wxEnterpriseId)) {
*/ WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
@RequestMapping("/test/department-sync-check") wxEnterpriseId = login.getWxEnterpriseId();
public HaobanResponse testSyncSuccess(String wxEnterpriseId) { }
if (StringUtils.isBlank(wxEnterpriseId)) { SyncCheckDTO taskCheck = dealSyncOperationApiService.getTaskCheck(wxEnterpriseId);
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); return resultResponse(HaoBanErrCode.ERR_1, taskCheck);
wxEnterpriseId = login.getWxEnterpriseId(); }
}
SyncCheckDTO taskCheck = dealSyncOperationApiService.getTaskCheck(wxEnterpriseId); @RequestMapping("/re-sync")
return resultResponse(HaoBanErrCode.ERR_1, taskCheck); @ResponseBody
} public HaobanResponse clerkReSync(String taskId) {
if (StringUtils.isBlank(taskId)) {
@RequestMapping("/re-sync") WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
@ResponseBody String wxEnterpriseId = login.getWxEnterpriseId();
public HaobanResponse clerkReSync(String taskId) { taskId = dealSyncOperationApiService.getTaskLock(wxEnterpriseId);
if (StringUtils.isBlank(taskId)) { }
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); dealSyncOperationApiService.reDealDepartment(taskId, -1);
String wxEnterpriseId = login.getWxEnterpriseId(); return resultResponse(HaoBanErrCode.ERR_1);
taskId = dealSyncOperationApiService.getTaskLock(wxEnterpriseId);
} }
dealSyncOperationApiService.reDealDepartment(taskId, -1);
return resultResponse(HaoBanErrCode.ERR_1); @RequestMapping("/close-sync")
@ResponseBody
} public HaobanResponse closeReSync(String wxEnterpriseId) {
if (StringUtils.isBlank(wxEnterpriseId)) {
@RequestMapping("/close-sync") WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
@ResponseBody wxEnterpriseId = login.getWxEnterpriseId();
public HaobanResponse closeReSync(String wxEnterpriseId) { }
if (StringUtils.isBlank(wxEnterpriseId)) { dealSyncOperationApiService.closeTask(wxEnterpriseId);
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); return resultResponse(HaoBanErrCode.ERR_1);
wxEnterpriseId = login.getWxEnterpriseId();
} }
dealSyncOperationApiService.closeTask(wxEnterpriseId);
return resultResponse(HaoBanErrCode.ERR_1); /**
* 同步日志列表
} *
* @param wxEnterpriseId
/** * @param pageInfo
* 同步日志列表 * @return
* */
* @param wxEnterpriseId @RequestMapping("/sync-task")
* @param pageInfo @ResponseBody
* @return public HaobanResponse syncTask(String wxEnterpriseId, BasePageInfo pageInfo) {
*/ if (StringUtils.isBlank(wxEnterpriseId)) {
@RequestMapping("/sync-task") WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
@ResponseBody wxEnterpriseId = login.getWxEnterpriseId();
public HaobanResponse syncTask(String wxEnterpriseId, BasePageInfo pageInfo) { }
if (StringUtils.isBlank(wxEnterpriseId)) { Page<SyncTaskDTO> retPage = dealSyncOperationApiService.listSyncTask(wxEnterpriseId, pageInfo);
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); return resultResponse(HaoBanErrCode.ERR_1, retPage);
wxEnterpriseId = login.getWxEnterpriseId();
} }
Page<SyncTaskDTO> retPage = dealSyncOperationApiService.listSyncTask(wxEnterpriseId, pageInfo);
return resultResponse(HaoBanErrCode.ERR_1, retPage); /**
* 同步日志详情
} *
* @param wxEnterpriseId
/** * @param pageInfo
* 同步日志详情 * @return
* */
* @param wxEnterpriseId @RequestMapping("/sync-task-detail")
* @param pageInfo @ResponseBody
* @return public HaobanResponse syncTaskDetail(String wxEnterpriseId, String taskId, BasePageInfo pageInfo) {
*/ if (StringUtils.isBlank(wxEnterpriseId)) {
@RequestMapping("/sync-task-detail") WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
@ResponseBody wxEnterpriseId = login.getWxEnterpriseId();
public HaobanResponse syncTaskDetail(String wxEnterpriseId, String taskId, BasePageInfo pageInfo) { }
if (StringUtils.isBlank(wxEnterpriseId)) { Page<PreDealLogInfoDTO> retPage = dealSyncOperationApiService.listSyncTaskDetail(wxEnterpriseId, taskId, pageInfo);
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); return resultResponse(HaoBanErrCode.ERR_1, retPage);
wxEnterpriseId = login.getWxEnterpriseId();
} }
Page<PreDealLogInfoDTO> retPage = dealSyncOperationApiService.listSyncTaskDetail(wxEnterpriseId, taskId, pageInfo);
return resultResponse(HaoBanErrCode.ERR_1, retPage); /**
* 同步日志详情
} *
* @return
/** */
* 同步日志详情 @RequestMapping("/get-fresh-on-off")
* @ResponseBody
* @return public HaobanResponse getfreshonoff() {
*/
@RequestMapping("/get-fresh-on-off") return resultResponse(HaoBanErrCode.ERR_1);
@ResponseBody
public HaobanResponse getfreshonoff() { }
}
return resultResponse(HaoBanErrCode.ERR_1);
}
}
package com.gic.haoban.manage.web.controller; package com.gic.haoban.manage.web.controller;
import com.gic.haoban.common.utils.AuthWebRequestUtil;
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.LoginDTO;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode; import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
/** /**
...@@ -39,14 +36,13 @@ public class WebBaseController { ...@@ -39,14 +36,13 @@ public class WebBaseController {
response.setErrorCode(errCode.getCode()); response.setErrorCode(errCode.getCode());
return response; return response;
} }
public HaobanResponse success(Object obj) {
return resultResponse(HaoBanErrCode.ERR_1, obj, null);
}
/** public HaobanResponse fail(String message) {
* 获取登陆信息 return resultResponse(HaoBanErrCode.ERR_OTHER, null, message);
*
* @return
*/
protected LoginDTO getLoginUser() {
return EntityUtil.changeEntityByJSON(LoginDTO.class, AuthWebRequestUtil.getLoginUser());
} }
} }
...@@ -67,15 +67,15 @@ public class WelcomeController extends WebBaseController { ...@@ -67,15 +67,15 @@ public class WelcomeController extends WebBaseController {
qdto.setWxEnterpriseId(qo.getWxEnterpriseId()); qdto.setWxEnterpriseId(qo.getWxEnterpriseId());
qdto.setTitle(qo.getTitle()); qdto.setTitle(qo.getTitle());
qdto.setWelcomeContent(qo.getWelcomeContent()); qdto.setWelcomeContent(qo.getWelcomeContent());
qdto.setOperatorId(login.getStaffDTO().getStaffId()); qdto.setOperatorId(login.getStaffId());
qdto.setOperatorName(login.getStaffDTO().getStaffName()); qdto.setOperatorName(login.getStaffName());
qdto.setDefaultWelcomeFlag(qo.getDefaultWelcomeFlag()); qdto.setDefaultWelcomeFlag(qo.getDefaultWelcomeFlag());
qdto.setWelcomeMediaList(EntityUtil.changeEntityListNew(SaveWelcomeMediaQDTO.class, qo.getWelcomeMediaList())); qdto.setWelcomeMediaList(EntityUtil.changeEntityListNew(SaveWelcomeMediaQDTO.class, qo.getWelcomeMediaList()));
qdto.setSuitDepartmentAddList(qo.getSuitDepartmentAddList()); qdto.setSuitDepartmentAddList(qo.getSuitDepartmentAddList());
qdto.setSuitDepartmentDeleteList(qo.getSuitDepartmentDeleteList()); qdto.setSuitDepartmentDeleteList(qo.getSuitDepartmentDeleteList());
// 员工暂时不传 // 员工暂时不传
qdto.setCreatorId(login.getStaffDTO().getStaffId()); qdto.setCreatorId(login.getStaffId());
qdto.setCreatorName(login.getStaffDTO().getStaffName()); qdto.setCreatorName(login.getStaffName());
ServiceResponse<Boolean> response = welcomeApiService.saveWelcome(qdto); ServiceResponse<Boolean> response = welcomeApiService.saveWelcome(qdto);
return RestResponse.successResult(response.getResult()); return RestResponse.successResult(response.getResult());
} }
...@@ -142,8 +142,8 @@ public class WelcomeController extends WebBaseController { ...@@ -142,8 +142,8 @@ public class WelcomeController extends WebBaseController {
public RestResponse<Boolean> saveFriendSetting(@RequestBody @Valid SaveFriendSettingQO qo) { public RestResponse<Boolean> saveFriendSetting(@RequestBody @Valid SaveFriendSettingQO qo) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
SaveFriendSettingQDTO qdto = EntityUtil.changeEntityNew(SaveFriendSettingQDTO.class, qo); SaveFriendSettingQDTO qdto = EntityUtil.changeEntityNew(SaveFriendSettingQDTO.class, qo);
qdto.setUpdateId(login.getStaffDTO().getStaffId()); qdto.setUpdateId(login.getStaffId());
qdto.setUpdateName(login.getStaffDTO().getStaffName()); qdto.setUpdateName(login.getStaffName());
ServiceResponse<Boolean> response = welcomeApiService.saveFriendSetting(qdto); ServiceResponse<Boolean> response = welcomeApiService.saveFriendSetting(qdto);
return RestResponse.successResult(response.getResult()); return RestResponse.successResult(response.getResult());
} }
......
...@@ -201,9 +201,8 @@ public class WxEnterpriseController extends WebBaseController { ...@@ -201,9 +201,8 @@ public class WxEnterpriseController extends WebBaseController {
} }
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
WebStaffDTO staff = login.getStaffDTO(); String staffId = login.getStaffId();
String staffId = staff.getStaffId(); String staffName = login.getStaffName();
String staffName = staff.getStaffName();
WxEnterpriseRelationDetailDTO detailDTO = new WxEnterpriseRelationDetailDTO(); WxEnterpriseRelationDetailDTO detailDTO = new WxEnterpriseRelationDetailDTO();
detailDTO.setWxEnterpriseRelatedId(bindQo.getWxEnterpriseRelatedId()); detailDTO.setWxEnterpriseRelatedId(bindQo.getWxEnterpriseRelatedId());
...@@ -316,7 +315,7 @@ public class WxEnterpriseController extends WebBaseController { ...@@ -316,7 +315,7 @@ public class WxEnterpriseController extends WebBaseController {
} }
contactSecret = contactSecret.trim(); contactSecret = contactSecret.trim();
UserDTO user = qywxUserApiService.getSelfWorkWxUser(wxEnterprise.getCorpid(), contactSecret, getWxUserId(wxEnterpriseId, login.getStaffDTO())); UserDTO user = qywxUserApiService.getSelfWorkWxUser(wxEnterprise.getCorpid(), contactSecret, getWxUserId(wxEnterpriseId, login));
logger.info("【保存联系人key】user={}", JSON.toJSONString(user)); logger.info("【保存联系人key】user={}", JSON.toJSONString(user));
SecretSettingDTO secretSetting = wxEnterpriseApiService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.CONTACT_SECRET.getVal(), null); SecretSettingDTO secretSetting = wxEnterpriseApiService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.CONTACT_SECRET.getVal(), null);
if (null == secretSetting) { if (null == secretSetting) {
...@@ -356,7 +355,7 @@ public class WxEnterpriseController extends WebBaseController { ...@@ -356,7 +355,7 @@ public class WxEnterpriseController extends WebBaseController {
return resultResponse(HaoBanErrCode.ERR_10012); return resultResponse(HaoBanErrCode.ERR_10012);
} }
wxSecretKey = wxSecretKey.trim(); wxSecretKey = wxSecretKey.trim();
String res = qywxUserApiService.listSelfExternalUserid(wxEnterprise.getCorpid(), wxSecretKey, getWxUserId(wxEnterpriseId, login.getStaffDTO())); String res = qywxUserApiService.listSelfExternalUserid(wxEnterprise.getCorpid(), wxSecretKey, getWxUserId(wxEnterpriseId, login));
logger.info("【保存联系人key】res={}", res); logger.info("【保存联系人key】res={}", res);
SecretSettingDTO secretSetting = wxEnterpriseApiService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.CONTACT_CUSTOMER.getVal(), null); SecretSettingDTO secretSetting = wxEnterpriseApiService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.CONTACT_CUSTOMER.getVal(), null);
if (null == secretSetting) { if (null == secretSetting) {
...@@ -403,7 +402,7 @@ public class WxEnterpriseController extends WebBaseController { ...@@ -403,7 +402,7 @@ public class WxEnterpriseController extends WebBaseController {
return resultResponse(HaoBanErrCode.ERR_100017); return resultResponse(HaoBanErrCode.ERR_100017);
} }
} }
UserDTO user = qywxUserApiService.getSelfWorkWxUser(wxEnterprise.getCorpid(), memberSecret, getWxUserId(wxEnterpriseId, login.getStaffDTO())); UserDTO user = qywxUserApiService.getSelfWorkWxUser(wxEnterprise.getCorpid(), memberSecret, getWxUserId(wxEnterpriseId, login));
secretSetting.setSecretType(SecretTypeEnum.MEMBER_WAPP.getVal()); secretSetting.setSecretType(SecretTypeEnum.MEMBER_WAPP.getVal());
secretSetting.setSecretName(secretName); secretSetting.setSecretName(secretName);
secretSetting.setEnterpriseId(enterpriseId); secretSetting.setEnterpriseId(enterpriseId);
...@@ -421,7 +420,7 @@ public class WxEnterpriseController extends WebBaseController { ...@@ -421,7 +420,7 @@ public class WxEnterpriseController extends WebBaseController {
} }
} }
private String getWxUserId(String wxEnterpriseId, WebStaffDTO loginStaffDTO) { private String getWxUserId(String wxEnterpriseId, WebLoginDTO loginStaffDTO) {
if (loginStaffDTO != null && (!StringUtils.isEmpty(loginStaffDTO.getWxUserId()))) { if (loginStaffDTO != null && (!StringUtils.isEmpty(loginStaffDTO.getWxUserId()))) {
return loginStaffDTO.getWxUserId(); return loginStaffDTO.getWxUserId();
} }
...@@ -453,7 +452,7 @@ public class WxEnterpriseController extends WebBaseController { ...@@ -453,7 +452,7 @@ public class WxEnterpriseController extends WebBaseController {
} }
contactSecret = contactSecret.trim(); contactSecret = contactSecret.trim();
UserDTO user = qywxUserApiService.getSelfWorkWxUser(wxEnterprise.getCorpid(), contactSecret, getWxUserId(wxEnterpriseId, login.getStaffDTO())); UserDTO user = qywxUserApiService.getSelfWorkWxUser(wxEnterprise.getCorpid(), contactSecret, getWxUserId(wxEnterpriseId, login));
logger.info("【保存联系人key】user={}", JSON.toJSONString(user)); logger.info("【保存联系人key】user={}", JSON.toJSONString(user));
SecretSettingDTO secretSetting = wxEnterpriseApiService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.HAOBAN_HELP.getVal(), null); SecretSettingDTO secretSetting = wxEnterpriseApiService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.HAOBAN_HELP.getVal(), null);
if (null == secretSetting) { if (null == secretSetting) {
...@@ -516,31 +515,6 @@ public class WxEnterpriseController extends WebBaseController { ...@@ -516,31 +515,6 @@ public class WxEnterpriseController extends WebBaseController {
} }
/** /**
* 判断企业是否过期
*
* @param enterpriseId
* @return
*/
@RequestMapping("enterprise-is-over")
public HaobanResponse enterpriseIsOver(String enterpriseId) {
if (StringUtils.isEmpty(enterpriseId)) {
return resultResponse(HaoBanErrCode.ERR_2);
}
boolean flag = wxEnterpriseApiService.enterpriseIsOver(enterpriseId);
//切换企业 更新token中的企业id
if (!flag) {
String token = AuthWebRequestUtil.getToken();
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
if (loginUser != null) {
loginUser.setEnterpriseId(enterpriseId);
AuthWebRequestUtil.setSessionUser(loginUser);
AuthWebRequestUtil.setAppLoginUser(token, loginUser);
}
}
return resultResponse(HaoBanErrCode.ERR_1, flag);
}
/**
* 刷新企业微信好友 * 刷新企业微信好友
* *
* @return * @return
...@@ -560,7 +534,7 @@ public class WxEnterpriseController extends WebBaseController { ...@@ -560,7 +534,7 @@ public class WxEnterpriseController extends WebBaseController {
if (monthCount >= 3) { if (monthCount >= 3) {
return resultResponse(HaoBanErrCode.ERR_100020); return resultResponse(HaoBanErrCode.ERR_100020);
} }
String taskId = dealSyncOperationApiService.createWxFriendTask(wxEnterpriseId, "刷新企微好友", login.getStaffDTO().getStaffId(), "刷新企微好友"); String taskId = dealSyncOperationApiService.createWxFriendTask(wxEnterpriseId, "刷新企微好友", login.getStaffId(), "刷新企微好友");
if (StringUtils.isEmpty(taskId)) { if (StringUtils.isEmpty(taskId)) {
return resultResponse(HaoBanErrCode.ERR_100021); return resultResponse(HaoBanErrCode.ERR_100021);
} }
...@@ -627,7 +601,7 @@ public class WxEnterpriseController extends WebBaseController { ...@@ -627,7 +601,7 @@ public class WxEnterpriseController extends WebBaseController {
public HaobanResponse flushBindStoreList(String enterpriseId) { public HaobanResponse flushBindStoreList(String enterpriseId) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
ServiceResponse response = wxEnterpriseRelatedApiService.flushBindStoreByEnterpriseId(enterpriseId, wxEnterpriseId, login.getStaffDTO().getStaffId(), ChannelCodeEnum.SYNC_UNBIND.getCode()); ServiceResponse response = wxEnterpriseRelatedApiService.flushBindStoreByEnterpriseId(enterpriseId, wxEnterpriseId, login.getStaffId(), ChannelCodeEnum.SYNC_UNBIND.getCode());
logger.info("返回信息:{}", JSONObject.toJSONString(response)); logger.info("返回信息:{}", JSONObject.toJSONString(response));
if (response.getCode() != 1) { if (response.getCode() != 1) {
HaoBanErrCode.ERR_DEFINE.setMsg(response.getMessage()); HaoBanErrCode.ERR_DEFINE.setMsg(response.getMessage());
...@@ -709,7 +683,7 @@ public class WxEnterpriseController extends WebBaseController { ...@@ -709,7 +683,7 @@ public class WxEnterpriseController extends WebBaseController {
*/ */
@RequestMapping("/agent-wx-enterprise-list") @RequestMapping("/agent-wx-enterprise-list")
public HaobanResponse materialShare(String materialId) { public HaobanResponse materialShare(String materialId) {
LoginDTO loginUser = this.getLoginUser(); WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = loginUser.getWxEnterpriseId(); String wxEnterpriseId = loginUser.getWxEnterpriseId();
List<EnterpriseDetailDTO> detailDTOS = wxEnterpriseRelatedApiService.listEnterpriseByWxEnterpriseId(wxEnterpriseId); List<EnterpriseDetailDTO> detailDTOS = wxEnterpriseRelatedApiService.listEnterpriseByWxEnterpriseId(wxEnterpriseId);
List<String> enterpriseIds = detailDTOS.stream().filter(dto -> dto.getWxEnterpriseType() == 0).map(dto -> dto.getEnterpriseId()).collect(Collectors.toList()); List<String> enterpriseIds = detailDTOS.stream().filter(dto -> dto.getWxEnterpriseType() == 0).map(dto -> dto.getEnterpriseId()).collect(Collectors.toList());
...@@ -748,7 +722,7 @@ public class WxEnterpriseController extends WebBaseController { ...@@ -748,7 +722,7 @@ public class WxEnterpriseController extends WebBaseController {
*/ */
@RequestMapping("save-welcome") @RequestMapping("save-welcome")
public HaobanResponse savewelcome(String title, String welcomeContent, String welcomeImg) { public HaobanResponse savewelcome(String title, String welcomeContent, String welcomeImg) {
LoginDTO loginUser = this.getLoginUser(); WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = loginUser.getWxEnterpriseId(); String wxEnterpriseId = loginUser.getWxEnterpriseId();
if (StringUtils.isAnyBlank(title, welcomeContent)) { if (StringUtils.isAnyBlank(title, welcomeContent)) {
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
...@@ -771,7 +745,7 @@ public class WxEnterpriseController extends WebBaseController { ...@@ -771,7 +745,7 @@ public class WxEnterpriseController extends WebBaseController {
*/ */
@RequestMapping("get-welcome") @RequestMapping("get-welcome")
public HaobanResponse getWelcome() { public HaobanResponse getWelcome() {
LoginDTO loginUser = this.getLoginUser(); WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = loginUser.getWxEnterpriseId(); String wxEnterpriseId = loginUser.getWxEnterpriseId();
WelcomeDTO welcome = wxEnterpriseApiService.getWelcome(wxEnterpriseId); WelcomeDTO welcome = wxEnterpriseApiService.getWelcome(wxEnterpriseId);
return resultResponse(HaoBanErrCode.ERR_1, welcome); return resultResponse(HaoBanErrCode.ERR_1, welcome);
...@@ -784,7 +758,7 @@ public class WxEnterpriseController extends WebBaseController { ...@@ -784,7 +758,7 @@ public class WxEnterpriseController extends WebBaseController {
*/ */
@RequestMapping("del-welcome") @RequestMapping("del-welcome")
public HaobanResponse delWelcome() { public HaobanResponse delWelcome() {
LoginDTO loginUser = this.getLoginUser(); WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = loginUser.getWxEnterpriseId(); String wxEnterpriseId = loginUser.getWxEnterpriseId();
wxEnterpriseApiService.delWelcome(wxEnterpriseId); wxEnterpriseApiService.delWelcome(wxEnterpriseId);
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
...@@ -797,7 +771,7 @@ public class WxEnterpriseController extends WebBaseController { ...@@ -797,7 +771,7 @@ public class WxEnterpriseController extends WebBaseController {
*/ */
@RequestMapping("set-welcome") @RequestMapping("set-welcome")
public HaobanResponse setWelcome(int openFlag) { public HaobanResponse setWelcome(int openFlag) {
LoginDTO loginUser = this.getLoginUser(); WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = loginUser.getWxEnterpriseId(); String wxEnterpriseId = loginUser.getWxEnterpriseId();
wxEnterpriseApiService.setWelcome(wxEnterpriseId, openFlag); wxEnterpriseApiService.setWelcome(wxEnterpriseId, openFlag);
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
...@@ -831,7 +805,7 @@ public class WxEnterpriseController extends WebBaseController { ...@@ -831,7 +805,7 @@ public class WxEnterpriseController extends WebBaseController {
*/ */
@RequestMapping("agree_external_userid_flag") @RequestMapping("agree_external_userid_flag")
public HaobanResponse agreeExternalUseridFlag(Integer openFlag) { public HaobanResponse agreeExternalUseridFlag(Integer openFlag) {
LoginDTO loginUser = this.getLoginUser(); WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = loginUser.getWxEnterpriseId(); String wxEnterpriseId = loginUser.getWxEnterpriseId();
wxEnterpriseApiService.agreeExternalUseridFlag(wxEnterpriseId, openFlag); wxEnterpriseApiService.agreeExternalUseridFlag(wxEnterpriseId, openFlag);
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
......
package com.gic.haoban.manage.web.vo; package com.gic.haoban.manage.web.vo;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
import com.gic.haoban.manage.api.dto.StaffDTO;
public class StaffVO implements Serializable{
public class StaffVO implements Serializable{
/**
/** *
* */
*/ private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 1L;
private String staffName;
private String staffName;
private String phoneNumber;
private String phoneNumber;
private String nationCode;
private String nationCode;
private String position;
private String position;
private String departmentName;
private String departmentName;
private String headImg;
private String headImg;
/**
public String getHeadImg() { * 员工id
return headImg; */
} private String staffId;
/**
public void setHeadImg(String headImg) { * 企业微信id
this.headImg = headImg; */
} private String wxEnterpriseId;
/**
public String getStaffName() { * 微信用户id
return staffName; */
} private String wxUserId;
/**
public void setStaffName(String staffName) { * 昵称
this.staffName = staffName; */
} private String nickName;
/**
public String getPhoneNumber() { * 性别
return phoneNumber; */
} private Integer sex;
/**
public void setPhoneNumber(String phoneNumber) { * 职位
this.phoneNumber = phoneNumber; */
} private String postion;
/**
public String getNationCode() { * 激活状态
return nationCode; */
} private Integer activeFlag;
/**
public void setNationCode(String nationCode) { * 对外职务
this.nationCode = nationCode; */
} private String extendPostion;
private Date updateTime;
public String getPosition() {
return position; private int bindFlag;
}
private String clerkCode;
public void setPosition(String position) {
this.position = position; private String staffDepartmentRelatedId;
}
private int clerkType;
public String getDepartmentName() {
return departmentName; private Integer syncPostionFlag;
}
private Integer superManagerFlag;
public void setDepartmentName(String departmentName) {
this.departmentName = departmentName; private Boolean weixinPush;
}
private Integer memberCount;
} private String clerkId;
/**
* 关联状态 1 已关联 0 未关联
* 关联状态为 员工是否关联某门店导购
*/
private Integer relationFlag;
private String wxOpenUseId;
private String wxOpenId;
private String qrCode;
private String clerkName;
public String getStaffId() {
return staffId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public String getWxUserId() {
return wxUserId;
}
public String getNickName() {
return nickName;
}
public Integer getSex() {
return sex;
}
public String getPostion() {
return postion;
}
public Integer getActiveFlag() {
return activeFlag;
}
public String getExtendPostion() {
return extendPostion;
}
public Date getUpdateTime() {
return updateTime;
}
public int getBindFlag() {
return bindFlag;
}
public String getClerkCode() {
return clerkCode;
}
public String getStaffDepartmentRelatedId() {
return staffDepartmentRelatedId;
}
public int getClerkType() {
return clerkType;
}
public Integer getSyncPostionFlag() {
return syncPostionFlag;
}
public Integer getSuperManagerFlag() {
return superManagerFlag;
}
public Boolean getWeixinPush() {
return weixinPush;
}
public Integer getMemberCount() {
return memberCount;
}
public String getClerkId() {
return clerkId;
}
public Integer getRelationFlag() {
return relationFlag;
}
public String getWxOpenUseId() {
return wxOpenUseId;
}
public String getWxOpenId() {
return wxOpenId;
}
public String getQrCode() {
return qrCode;
}
public String getClerkName() {
return clerkName;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public void setWxUserId(String wxUserId) {
this.wxUserId = wxUserId;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public void setSex(Integer sex) {
this.sex = sex;
}
public void setPostion(String postion) {
this.postion = postion;
}
public void setActiveFlag(Integer activeFlag) {
this.activeFlag = activeFlag;
}
public void setExtendPostion(String extendPostion) {
this.extendPostion = extendPostion;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public void setBindFlag(int bindFlag) {
this.bindFlag = bindFlag;
}
public void setClerkCode(String clerkCode) {
this.clerkCode = clerkCode;
}
public void setStaffDepartmentRelatedId(String staffDepartmentRelatedId) {
this.staffDepartmentRelatedId = staffDepartmentRelatedId;
}
public void setClerkType(int clerkType) {
this.clerkType = clerkType;
}
public void setSyncPostionFlag(Integer syncPostionFlag) {
this.syncPostionFlag = syncPostionFlag;
}
public void setSuperManagerFlag(Integer superManagerFlag) {
this.superManagerFlag = superManagerFlag;
}
public void setWeixinPush(Boolean weixinPush) {
this.weixinPush = weixinPush;
}
public void setMemberCount(Integer memberCount) {
this.memberCount = memberCount;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public void setRelationFlag(Integer relationFlag) {
this.relationFlag = relationFlag;
}
public void setWxOpenUseId(String wxOpenUseId) {
this.wxOpenUseId = wxOpenUseId;
}
public void setWxOpenId(String wxOpenId) {
this.wxOpenId = wxOpenId;
}
public void setQrCode(String qrCode) {
this.qrCode = qrCode;
}
public void setClerkName(String clerkName) {
this.clerkName = clerkName;
}
public String getHeadImg() {
return headImg;
}
public void setHeadImg(String headImg) {
this.headImg = headImg;
}
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getNationCode() {
return nationCode;
}
public void setNationCode(String nationCode) {
this.nationCode = nationCode;
}
public String getPosition() {
return position;
}
public void setPosition(String position) {
this.position = position;
}
public String getDepartmentName() {
return departmentName;
}
public void setDepartmentName(String departmentName) {
this.departmentName = departmentName;
}
}
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