Commit ea26ab57 by 徐高华

Merge branch 'feature/自建应用验证' into 'master'

文案

See merge request !1264
parents 35fdd778 653390b6
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 cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.clerk.api.dto.ClerkDTO; import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService; import com.gic.clerk.api.service.ClerkService;
import com.gic.commons.util.DateUtil; import com.gic.commons.util.DateUtil;
import com.gic.commons.webapi.reponse.RestResponse; import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.enterprise.api.dto.*; import com.gic.enterprise.api.dto.*;
import com.gic.enterprise.api.service.AuthorizeService; import com.gic.enterprise.api.service.AuthorizeService;
import com.gic.enterprise.api.service.EnterpriseService; import com.gic.enterprise.api.service.EnterpriseService;
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.ServiceResponse; import com.gic.haoban.base.api.common.ServiceResponse;
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.DepartmentDTO; import com.gic.haoban.manage.api.dto.DepartmentDTO;
import com.gic.haoban.manage.api.dto.*; import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.dto.fee.HaobanQywxFeeDTO; import com.gic.haoban.manage.api.dto.fee.HaobanQywxFeeDTO;
import com.gic.haoban.manage.api.enums.ChannelCodeEnum; import com.gic.haoban.manage.api.enums.ChannelCodeEnum;
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.api.service.fee.HaobanQywxFeeApiService; import com.gic.haoban.manage.api.service.fee.HaobanQywxFeeApiService;
import com.gic.haoban.manage.api.service.out.SecretSettingApiService; import com.gic.haoban.manage.api.service.out.SecretSettingApiService;
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.qo.MiniprogramSettingQo; import com.gic.haoban.manage.web.qo.MiniprogramSettingQo;
import com.gic.haoban.manage.web.vo.StoreVo; import com.gic.haoban.manage.web.vo.StoreVo;
import com.gic.haoban.manage.web.vo.*; import com.gic.haoban.manage.web.vo.*;
import com.gic.redis.data.util.RedisUtil; import com.gic.redis.data.util.RedisUtil;
import com.gic.wechat.api.service.qywx.QywxCorpApiService; import com.gic.wechat.api.service.qywx.QywxCorpApiService;
import com.gic.wechat.token.api.dto.QywxCorpInfoDTO; import com.gic.wechat.token.api.dto.QywxCorpInfoDTO;
import com.gic.wechat.token.api.service.QywxTokenManageService; import com.gic.wechat.token.api.service.QywxTokenManageService;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@RestController @RestController
public class WxEnterpriseController extends WebBaseController { public class WxEnterpriseController extends WebBaseController {
private static final Logger logger = LoggerFactory.getLogger(WxEnterpriseController.class); private static final Logger logger = LoggerFactory.getLogger(WxEnterpriseController.class);
@Autowired @Autowired
private WxEnterpriseRelatedApiService wxEnterpriseRelatedApiService; private WxEnterpriseRelatedApiService wxEnterpriseRelatedApiService;
@Autowired @Autowired
private EnterpriseService enterpriseService; private EnterpriseService enterpriseService;
@Autowired @Autowired
private WxEnterpriseApiService wxEnterpriseApiService; private WxEnterpriseApiService wxEnterpriseApiService;
@Autowired @Autowired
private DepartmentApiService departmentApiService; private DepartmentApiService departmentApiService;
@Autowired @Autowired
private StoreService storeService; private StoreService storeService;
@Autowired @Autowired
private QywxTokenManageService qywxTokenManageService; private QywxTokenManageService qywxTokenManageService;
@Autowired @Autowired
private Config config; private Config config;
@Autowired @Autowired
private QywxCorpApiService qywxCorpApiService; private QywxCorpApiService qywxCorpApiService;
@Autowired @Autowired
private DealSyncOperationApiService dealSyncOperationApiService; private DealSyncOperationApiService dealSyncOperationApiService;
@Autowired @Autowired
private MaterialApiService materialApiService; private MaterialApiService materialApiService;
@Autowired @Autowired
private AuthorizeService authorizeService; private AuthorizeService authorizeService;
@Autowired @Autowired
private HaobanUserApiService haobanUserApiService ; private HaobanUserApiService haobanUserApiService ;
@Autowired @Autowired
private HaobanQywxFeeApiService haobanQywxFeeApiService; private HaobanQywxFeeApiService haobanQywxFeeApiService;
@Autowired @Autowired
private SecretSettingApiService secretSettingApiService ; private SecretSettingApiService secretSettingApiService ;
@Autowired @Autowired
private ClerkService clerkService; private ClerkService clerkService;
//授权企业列表 //授权企业列表
@RequestMapping("wxa-enterprise-list") @RequestMapping("wxa-enterprise-list")
public HaobanResponse wxEnterpriseList() { public HaobanResponse wxEnterpriseList() {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
String phoneNumber = login.getPhoneNumber() ; String phoneNumber = login.getPhoneNumber() ;
List<EnterpriseDetailDTO> list = wxEnterpriseRelatedApiService.listEnterpriseByWxEnterpriseId(wxEnterpriseId,phoneNumber,true); List<EnterpriseDetailDTO> list = wxEnterpriseRelatedApiService.listEnterpriseByWxEnterpriseId(wxEnterpriseId,phoneNumber,true);
List<EnterpriseDetailVO> detailVOS = EntityUtil.changeEntityListByOrika(EnterpriseDetailVO.class, list); List<EnterpriseDetailVO> detailVOS = EntityUtil.changeEntityListByOrika(EnterpriseDetailVO.class, list);
if (CollectionUtil.isNotEmpty(detailVOS)) { if (CollectionUtil.isNotEmpty(detailVOS)) {
List<String> enterpriseIds = detailVOS.stream().map(s -> s.getEnterpriseId()).collect(Collectors.toList()); List<String> enterpriseIds = detailVOS.stream().map(s -> s.getEnterpriseId()).collect(Collectors.toList());
List<EnterpriseDTO> enterpriseList = enterpriseService.listEnterpriseByIds(enterpriseIds); List<EnterpriseDTO> enterpriseList = enterpriseService.listEnterpriseByIds(enterpriseIds);
Map<String, EnterpriseDTO> map = com.gic.commons.util.CollectionUtil.toMap(enterpriseList, "enterpriseId"); Map<String, EnterpriseDTO> map = com.gic.commons.util.CollectionUtil.toMap(enterpriseList, "enterpriseId");
for (EnterpriseDetailVO dto : detailVOS) { for (EnterpriseDetailVO dto : detailVOS) {
List<EnterpriseWxaRelationDTO> relationDTOS = authorizeService.queryList(dto.getEnterpriseId()); List<EnterpriseWxaRelationDTO> relationDTOS = authorizeService.queryList(dto.getEnterpriseId());
EnterpriseDTO enterpriseDTO = map.get(dto.getEnterpriseId()); EnterpriseDTO enterpriseDTO = map.get(dto.getEnterpriseId());
EnterpriseWxaRelationDTO wxaRelationDTO = relationDTOS.stream().filter(mid -> mid.getWxaAppkey().equals(enterpriseDTO.getMallMiniprogramAppid())).findFirst().orElse(null); EnterpriseWxaRelationDTO wxaRelationDTO = relationDTOS.stream().filter(mid -> mid.getWxaAppkey().equals(enterpriseDTO.getMallMiniprogramAppid())).findFirst().orElse(null);
if (wxaRelationDTO != null) { if (wxaRelationDTO != null) {
dto.setEnterpriseName(enterpriseDTO.getEnterpriseName()); dto.setEnterpriseName(enterpriseDTO.getEnterpriseName());
dto.setImageUrl(wxaRelationDTO.getAuthImg()); dto.setImageUrl(wxaRelationDTO.getAuthImg());
dto.setAppId(wxaRelationDTO.getWxaAppkey()); dto.setAppId(wxaRelationDTO.getWxaAppkey());
dto.setMiniprogramName(wxaRelationDTO.getAuthName()); dto.setMiniprogramName(wxaRelationDTO.getAuthName());
dto.setTitle(wxaRelationDTO.getAuthName()); dto.setTitle(wxaRelationDTO.getAuthName());
} }
} }
} }
return resultResponse(HaoBanErrCode.ERR_1, detailVOS); return resultResponse(HaoBanErrCode.ERR_1, detailVOS);
} }
//授权企业列表 filteRight 是否过滤无登录权限的列表 //授权企业列表 filteRight 是否过滤无登录权限的列表
@RequestMapping("wx-enterprise-list") @RequestMapping("wx-enterprise-list")
public HaobanResponse wxaEnterpriseList(@RequestParam(defaultValue="0") int filteRight) { public HaobanResponse wxaEnterpriseList(@RequestParam(defaultValue="0") int filteRight) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
String phoneNumber = login.getPhoneNumber() ; String phoneNumber = login.getPhoneNumber() ;
List<EnterpriseDetailDTO> list = wxEnterpriseRelatedApiService.listEnterpriseByWxEnterpriseId(wxEnterpriseId,phoneNumber,filteRight==1); List<EnterpriseDetailDTO> list = wxEnterpriseRelatedApiService.listEnterpriseByWxEnterpriseId(wxEnterpriseId,phoneNumber,filteRight==1);
String userId = login.getHanbaoUserId() ; String userId = login.getHanbaoUserId() ;
HaobanUserDTO dto = this.haobanUserApiService.selectById(userId) ; HaobanUserDTO dto = this.haobanUserApiService.selectById(userId) ;
if(null != dto) { if(null != dto) {
String eid = dto.getDefaultGicEid() ; String eid = dto.getDefaultGicEid() ;
for(EnterpriseDetailDTO item : list) { for(EnterpriseDetailDTO item : list) {
if(null != eid && eid.equals(item.getEnterpriseId())) { if(null != eid && eid.equals(item.getEnterpriseId())) {
item.setDefaultFlag(1); item.setDefaultFlag(1);
} }
} }
} }
return resultResponse(HaoBanErrCode.ERR_1, list); return resultResponse(HaoBanErrCode.ERR_1, list);
} }
//企业信息 //企业信息
@IgnoreLogin @IgnoreLogin
@RequestMapping("wxEnterprise-detail") @RequestMapping("wxEnterprise-detail")
public HaobanResponse enterpriseDetail(String wxEnterpriseId) { public HaobanResponse enterpriseDetail(String wxEnterpriseId) {
if (StringUtils.isEmpty(wxEnterpriseId)) { if (StringUtils.isEmpty(wxEnterpriseId)) {
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseApiService.getOne(wxEnterpriseId); WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseApiService.getOne(wxEnterpriseId);
if (wxEnterpriseDTO == null) { if (wxEnterpriseDTO == null) {
return resultResponse(HaoBanErrCode.ERR_100018); return resultResponse(HaoBanErrCode.ERR_100018);
} }
wxEnterpriseDTO.setSmallVersion("免费版"); wxEnterpriseDTO.setSmallVersion("免费版");
wxEnterpriseDTO.setStoreTotal(departmentApiService.totalStoreCountByEnterpriseId(wxEnterpriseId)); wxEnterpriseDTO.setStoreTotal(departmentApiService.totalStoreCountByEnterpriseId(wxEnterpriseId));
WxEnterpriseVO vo = com.gic.commons.util.EntityUtil.changeEntityNew( WxEnterpriseVO.class, wxEnterpriseDTO) ; WxEnterpriseVO vo = com.gic.commons.util.EntityUtil.changeEntityNew( WxEnterpriseVO.class, wxEnterpriseDTO) ;
vo.setCorpid(getCorpid(wxEnterpriseDTO)); vo.setCorpid(getCorpid(wxEnterpriseDTO));
return resultResponse(HaoBanErrCode.ERR_1, vo); return resultResponse(HaoBanErrCode.ERR_1, vo);
} }
//企业信息 //企业信息
@IgnoreLogin @IgnoreLogin
@RequestMapping("wxEnterprise-refresh") @RequestMapping("wxEnterprise-refresh")
public HaobanResponse enterpriseRefresh(String wxEnterpriseId) { public HaobanResponse enterpriseRefresh(String wxEnterpriseId) {
if (StringUtils.isEmpty(wxEnterpriseId)) { if (StringUtils.isEmpty(wxEnterpriseId)) {
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseApiService.getOne(wxEnterpriseId); WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseApiService.getOne(wxEnterpriseId);
if (wxEnterpriseDTO == null) { if (wxEnterpriseDTO == null) {
return resultResponse(HaoBanErrCode.ERR_10012); return resultResponse(HaoBanErrCode.ERR_10012);
} }
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseApiService.getQwInfo(wxEnterpriseId) ; WxEnterpriseQwDTO qwDTO = this.wxEnterpriseApiService.getQwInfo(wxEnterpriseId) ;
if(qwDTO.isSelf()) { if(qwDTO.isSelf()) {
return this.fail("自建应用不能刷新"); return this.fail("已刷新");
} }
QywxCorpInfoDTO dto = qywxTokenManageService.getCorpInfo(qwDTO.getThirdCorpid(), config.getWxSuiteid()); QywxCorpInfoDTO dto = qywxTokenManageService.getCorpInfo(qwDTO.getThirdCorpid(), config.getWxSuiteid());
if (dto == null) { if (dto == null) {
return resultResponse(HaoBanErrCode.ERR_10012); return resultResponse(HaoBanErrCode.ERR_10012);
} }
Long verifiedEndTime = dto.getVerifiedEndTime(); Long verifiedEndTime = dto.getVerifiedEndTime();
logger.info("【企业同步】dto={}", JSON.toJSONString(dto)); logger.info("【企业同步】dto={}", JSON.toJSONString(dto));
WxEnterpriseDTO wxDTO = EntityUtil.changeEntityByJSON(WxEnterpriseDTO.class, dto); WxEnterpriseDTO wxDTO = EntityUtil.changeEntityByJSON(WxEnterpriseDTO.class, dto);
if (verifiedEndTime != null) { if (verifiedEndTime != null) {
wxDTO.setVerifiedEndTime(new Date(verifiedEndTime * 1000)); wxDTO.setVerifiedEndTime(new Date(verifiedEndTime * 1000));
} }
wxDTO.setWxEnterpriseId(wxEnterpriseId); wxDTO.setWxEnterpriseId(wxEnterpriseId);
Integer contactFlag = wxEnterpriseDTO.getContactFlag(); Integer contactFlag = wxEnterpriseDTO.getContactFlag();
if (contactFlag == 0) { if (contactFlag == 0) {
wxDTO.setContactFlag(1); wxDTO.setContactFlag(1);
} }
wxEnterpriseApiService.update(wxDTO); wxEnterpriseApiService.update(wxDTO);
WxEnterpriseVO vo = com.gic.commons.util.EntityUtil.changeEntityNew( WxEnterpriseVO.class, wxEnterpriseDTO) ; WxEnterpriseVO vo = com.gic.commons.util.EntityUtil.changeEntityNew( WxEnterpriseVO.class, wxEnterpriseDTO) ;
vo.setCorpid(getCorpid(wxEnterpriseDTO)); vo.setCorpid(getCorpid(wxEnterpriseDTO));
return resultResponse(HaoBanErrCode.ERR_1, vo); return resultResponse(HaoBanErrCode.ERR_1, vo);
} }
private String getCorpid(WxEnterpriseDTO wxEnterpriseDTO) { private String getCorpid(WxEnterpriseDTO wxEnterpriseDTO) {
Integer wxType = wxEnterpriseDTO.getWxSecurityType() ; Integer wxType = wxEnterpriseDTO.getWxSecurityType() ;
String wxEnterpriseId = wxEnterpriseDTO.getWxEnterpriseId() ; String wxEnterpriseId = wxEnterpriseDTO.getWxEnterpriseId() ;
if(null == wxType || 0==wxType) { if(null == wxType || 0==wxType) {
this.wxEnterpriseApiService.updateWxSecurityType(wxEnterpriseId); this.wxEnterpriseApiService.updateWxSecurityType(wxEnterpriseId);
wxType = this.wxEnterpriseApiService.calcSecretType(wxEnterpriseId) ; wxType = this.wxEnterpriseApiService.calcSecretType(wxEnterpriseId) ;
} }
String desc = " (企微加密方式待确认,请联系运营人员) " ; String desc = " (企微加密方式待确认,请联系运营人员) " ;
if(wxType==1) { if(wxType==1) {
desc = "(全明文)" ; desc = "(全明文)" ;
} }
if(wxType==2) { if(wxType==2) {
desc = "(全密文)" ; desc = "(全密文)" ;
} }
if(wxType==3) { if(wxType==3) {
desc = "(第三方密文,代开明文)" ; desc = "(第三方密文,代开明文)" ;
} }
if(wxType==4) { if(wxType==4) {
desc = "(第三方明文,代开密文)" ; desc = "(第三方明文,代开密文)" ;
} }
if(wxType==5) { if(wxType==5) {
desc = " ( "+wxEnterpriseDTO.getWxaAppid() +" / " + wxEnterpriseDTO.getUrlHost()+") " ; desc = " ( "+wxEnterpriseDTO.getWxaAppid() +" / " + wxEnterpriseDTO.getUrlHost()+") " ;
} }
int newType = this.wxEnterpriseApiService.calcSecretType(wxEnterpriseId) ; int newType = this.wxEnterpriseApiService.calcSecretType(wxEnterpriseId) ;
String diff = ""; String diff = "";
if(null != wxType && wxType.intValue() != newType && wxType != 5) { if(null != wxType && wxType.intValue() != newType && wxType != 5) {
diff = "*"; diff = "*";
} }
return Arrays.asList(wxEnterpriseDTO.getWxCorpid(),wxEnterpriseDTO.getOpenCorpid()).stream().filter(str -> StringUtils.isNotBlank(str)).collect(Collectors.joining(" / ")) + desc + diff; return Arrays.asList(wxEnterpriseDTO.getWxCorpid(),wxEnterpriseDTO.getOpenCorpid()).stream().filter(str -> StringUtils.isNotBlank(str)).collect(Collectors.joining(" / ")) + desc + diff;
} }
//gic企业列表 //gic企业列表
@IgnoreLogin @IgnoreLogin
@RequestMapping("enterprise-search") @RequestMapping("enterprise-search")
public HaobanResponse gicEnterpriseDetail(String enterpriseId) { public HaobanResponse gicEnterpriseDetail(String enterpriseId) {
if (org.apache.commons.lang.StringUtils.isEmpty(enterpriseId)) { if (org.apache.commons.lang.StringUtils.isEmpty(enterpriseId)) {
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
EnterpriseSearchVO vo = new EnterpriseSearchVO(); EnterpriseSearchVO vo = new EnterpriseSearchVO();
EnterpriseDTO enterprise = enterpriseService.getEnterpriseById(enterpriseId); EnterpriseDTO enterprise = enterpriseService.getEnterpriseById(enterpriseId);
if (enterprise != null) { if (enterprise != null) {
vo.setEnterpriseId(enterpriseId); vo.setEnterpriseId(enterpriseId);
vo.setEnterpriseName(enterprise.getEnterpriseName()); vo.setEnterpriseName(enterprise.getEnterpriseName());
vo.setBrandName(enterprise.getBrandName()); vo.setBrandName(enterprise.getBrandName());
ClerkDTO clerk = clerkService.getSuperAdminByEnterpriseId(enterpriseId); ClerkDTO clerk = clerkService.getSuperAdminByEnterpriseId(enterpriseId);
if (clerk != null) { if (clerk != null) {
vo.setClerkId(clerk.getClerkId()); vo.setClerkId(clerk.getClerkId());
vo.setClerkCode(clerk.getClerkCode()); vo.setClerkCode(clerk.getClerkCode());
vo.setClerkName(clerk.getClerkName()); vo.setClerkName(clerk.getClerkName());
vo.setPhoneNumber(clerk.getPhoneNumber()); vo.setPhoneNumber(clerk.getPhoneNumber());
vo.setNationCode(clerk.getNationcode()); vo.setNationCode(clerk.getNationcode());
} }
}else { }else {
//enterpriseId 参数可以是企业id,也可以是企业名称 //enterpriseId 参数可以是企业id,也可以是企业名称
//按名称去查 //按名称去查
EnterpriseAndUserDTO dto = enterpriseService.getEnterpriseAndUserByName(enterpriseId); EnterpriseAndUserDTO dto = enterpriseService.getEnterpriseAndUserByName(enterpriseId);
vo = EntityUtil.changeEntityByJSON(EnterpriseSearchVO.class, dto); vo = EntityUtil.changeEntityByJSON(EnterpriseSearchVO.class, dto);
if (vo != null) { if (vo != null) {
EnterpriseDTO enterprise1 = enterpriseService.getEnterpriseById(vo.getEnterpriseId()); EnterpriseDTO enterprise1 = enterpriseService.getEnterpriseById(vo.getEnterpriseId());
if (enterprise1 != null) { if (enterprise1 != null) {
vo.setBrandName(enterprise1.getBrandName()); vo.setBrandName(enterprise1.getBrandName());
} }
} }
} }
return resultResponse(HaoBanErrCode.ERR_1, vo); return resultResponse(HaoBanErrCode.ERR_1, vo);
} }
//溢出门店列表 //溢出门店列表
@RequestMapping("store-full-list") @RequestMapping("store-full-list")
public HaobanResponse storeFullList(BasePageInfo basePageInfo, String keyWord) { public HaobanResponse storeFullList(BasePageInfo basePageInfo, String keyWord) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
int maxVersionCount = 0; int maxVersionCount = 0;
List<EnterpriseDetailDTO> enterpriseList = wxEnterpriseRelatedApiService.listEnterpriseByWxEnterpriseId(wxEnterpriseId); List<EnterpriseDetailDTO> enterpriseList = wxEnterpriseRelatedApiService.listEnterpriseByWxEnterpriseId(wxEnterpriseId);
if (CollectionUtil.isEmpty(enterpriseList)) { if (CollectionUtil.isEmpty(enterpriseList)) {
return resultResponse(HaoBanErrCode.ERR_10010); return resultResponse(HaoBanErrCode.ERR_10010);
} }
List<String> enterpriseIds = enterpriseList.stream().map(s -> s.getEnterpriseId()).collect(Collectors.toList()); List<String> enterpriseIds = enterpriseList.stream().map(s -> s.getEnterpriseId()).collect(Collectors.toList());
//获取门店列表 //获取门店列表
Page page1 = new Page<>(); Page page1 = new Page<>();
page1.setCurrentPage(1); page1.setCurrentPage(1);
page1.setPageSize(Integer.MAX_VALUE); page1.setPageSize(Integer.MAX_VALUE);
StoreSearchDTO storeSearchDTO = new StoreSearchDTO(); StoreSearchDTO storeSearchDTO = new StoreSearchDTO();
storeSearchDTO.setEnterpriseIdList(enterpriseIds); storeSearchDTO.setEnterpriseIdList(enterpriseIds);
storeSearchDTO.setSearchName(keyWord); storeSearchDTO.setSearchName(keyWord);
Page storePage = storeService.storeListPage(page1, storeSearchDTO); Page storePage = storeService.storeListPage(page1, storeSearchDTO);
if (storePage == null || storePage.getResult() == null) { if (storePage == null || storePage.getResult() == null) {
return resultResponse(HaoBanErrCode.ERR_10009); return resultResponse(HaoBanErrCode.ERR_10009);
} }
List<StoreDTO> t_list = storePage.getResult(); List<StoreDTO> t_list = storePage.getResult();
List<String> storeIds = t_list.stream().map(s -> s.getStoreId()).collect(Collectors.toList()); List<String> storeIds = t_list.stream().map(s -> s.getStoreId()).collect(Collectors.toList());
if (StringUtils.isEmpty(keyWord)) { if (StringUtils.isEmpty(keyWord)) {
storeIds = null; storeIds = null;
} }
Page<DepartmentDTO> page = departmentApiService.pageFullStoreByWxEnterpriseId(wxEnterpriseId, keyWord, storeIds, maxVersionCount, basePageInfo); Page<DepartmentDTO> page = departmentApiService.pageFullStoreByWxEnterpriseId(wxEnterpriseId, keyWord, storeIds, maxVersionCount, basePageInfo);
List<DepartmentDTO> list = page.getResult(); List<DepartmentDTO> list = page.getResult();
List<StoreVo> resultList = EntityUtil.changeEntityListByJSON(StoreVo.class, list); List<StoreVo> resultList = EntityUtil.changeEntityListByJSON(StoreVo.class, list);
List<String> t_storeIds = list.stream().map(s -> s.getRelatedId()).collect(Collectors.toList()); List<String> t_storeIds = list.stream().map(s -> s.getRelatedId()).collect(Collectors.toList());
String[] storeIdArr = t_storeIds.toArray(new String[t_storeIds.size()]); String[] storeIdArr = t_storeIds.toArray(new String[t_storeIds.size()]);
List<StoreDTO> storeList = storeService.getStores(storeIdArr); List<StoreDTO> storeList = storeService.getStores(storeIdArr);
Map<String, StoreDTO> map = com.gic.commons.util.CollectionUtil.toMap(storeList, "storeId"); Map<String, StoreDTO> map = com.gic.commons.util.CollectionUtil.toMap(storeList, "storeId");
for (StoreVo vo : resultList) { for (StoreVo vo : resultList) {
if (map.get(vo.getRelatedId()) != null) { if (map.get(vo.getRelatedId()) != null) {
vo.setStoreCode(map.get(vo.getRelatedId()).getStoreCode()); vo.setStoreCode(map.get(vo.getRelatedId()).getStoreCode());
vo.setStoreId(map.get(vo.getRelatedId()).getStoreId()); vo.setStoreId(map.get(vo.getRelatedId()).getStoreId());
vo.setStoreName(map.get(vo.getRelatedId()).getStoreName()); vo.setStoreName(map.get(vo.getRelatedId()).getStoreName());
} }
} }
Page resultPage = new Page<>(); Page resultPage = new Page<>();
resultPage.setCurrentPage(page.getCurrentPage()); resultPage.setCurrentPage(page.getCurrentPage());
resultPage.setPageSize(page.getPageSize()); resultPage.setPageSize(page.getPageSize());
resultPage.setTotalCount(page.getTotalCount()); resultPage.setTotalCount(page.getTotalCount());
resultPage.setResult(resultList); resultPage.setResult(resultList);
return resultResponse(HaoBanErrCode.ERR_1, resultPage); return resultResponse(HaoBanErrCode.ERR_1, resultPage);
} }
//微信企业是否设置key //微信企业是否设置key
@RequestMapping("is-wx-enterprise-secret-set") @RequestMapping("is-wx-enterprise-secret-set")
public HaobanResponse isWxEnterpriseSecretSet() { public HaobanResponse isWxEnterpriseSecretSet() {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
List<SecretSettingDTO> listSecret = wxEnterpriseApiService.listSecret(wxEnterpriseId); List<SecretSettingDTO> listSecret = wxEnterpriseApiService.listSecret(wxEnterpriseId);
if (CollectionUtils.isEmpty(listSecret)) { if (CollectionUtils.isEmpty(listSecret)) {
return resultResponse(HaoBanErrCode.ERR_1, false); return resultResponse(HaoBanErrCode.ERR_1, false);
} }
Set<Integer> secretTypeList = listSecret.stream().filter(secretSettingDTO -> secretSettingDTO.getCheckFlag() == 1).map(secretSettingDTO -> secretSettingDTO.getSecretType()).collect(Collectors.toSet()); Set<Integer> secretTypeList = listSecret.stream().filter(secretSettingDTO -> secretSettingDTO.getCheckFlag() == 1).map(secretSettingDTO -> secretSettingDTO.getSecretType()).collect(Collectors.toSet());
if (CollectionUtils.isEmpty(secretTypeList)) { if (CollectionUtils.isEmpty(secretTypeList)) {
return resultResponse(HaoBanErrCode.ERR_1, false); return resultResponse(HaoBanErrCode.ERR_1, false);
} }
// 如果是第三方校验待开发 // 如果是第三方校验待开发
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseApiService.getQwInfo(wxEnterpriseId) ; WxEnterpriseQwDTO qwDTO = this.wxEnterpriseApiService.getQwInfo(wxEnterpriseId) ;
if(qwDTO.isSelf()) { if(qwDTO.isSelf()) {
if ((secretTypeList.contains(SecretTypeEnum.SELF_APP.getVal()))) { if ((secretTypeList.contains(SecretTypeEnum.SELF_APP.getVal()))) {
return resultResponse(HaoBanErrCode.ERR_1, true); return resultResponse(HaoBanErrCode.ERR_1, true);
} }
}else { }else {
if ((secretTypeList.contains(SecretTypeEnum.CUSTOMIZED_APP.getVal()))) { if ((secretTypeList.contains(SecretTypeEnum.CUSTOMIZED_APP.getVal()))) {
return resultResponse(HaoBanErrCode.ERR_1, true); return resultResponse(HaoBanErrCode.ERR_1, true);
} }
} }
return resultResponse(HaoBanErrCode.ERR_1, false); return resultResponse(HaoBanErrCode.ERR_1, false);
} }
/** /**
* 微信企业绑定接口绑定通讯录key * 微信企业绑定接口绑定通讯录key
* *
* @param wxSecretKey * @param wxSecretKey
* @return * @return
*/ */
@RequestMapping("wx-enterprise-wx-secret-set") @RequestMapping("wx-enterprise-wx-secret-set")
public HaobanResponse wxEnterpriseWxSecretSet(String wxSecretKey) { public HaobanResponse wxEnterpriseWxSecretSet(String wxSecretKey) {
if (StringUtils.isAnyBlank(wxSecretKey)) { if (StringUtils.isAnyBlank(wxSecretKey)) {
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
} }
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseApiService.getQwInfo(wxEnterpriseId) ; WxEnterpriseQwDTO qwDTO = this.wxEnterpriseApiService.getQwInfo(wxEnterpriseId) ;
if (qwDTO == null) { if (qwDTO == null) {
return resultResponse(HaoBanErrCode.ERR_10012); return resultResponse(HaoBanErrCode.ERR_10012);
} }
wxSecretKey = wxSecretKey.trim(); wxSecretKey = wxSecretKey.trim();
String token = this.qywxCorpApiService.getToken(qwDTO.getDkCorpid(), wxSecretKey); String token = this.qywxCorpApiService.getToken(qwDTO.getDkCorpid(), wxSecretKey);
logger.info("查询token={}", token) ; logger.info("查询token={}", token) ;
if(StringUtils.isEmpty(token) || token.length() < 10) { if(StringUtils.isEmpty(token) || token.length() < 10) {
return this.fail("请确认secret是否正确") ; return this.fail("请确认secret是否正确") ;
} }
SecretSettingDTO secretSetting = wxEnterpriseApiService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.SELF_APP.getVal(), null); SecretSettingDTO secretSetting = wxEnterpriseApiService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.SELF_APP.getVal(), null);
if (null == secretSetting) { if (null == secretSetting) {
secretSetting = new SecretSettingDTO(); secretSetting = new SecretSettingDTO();
} }
secretSetting.setSecretType(SecretTypeEnum.SELF_APP.getVal()); secretSetting.setSecretType(SecretTypeEnum.SELF_APP.getVal());
secretSetting.setSecretName(SecretTypeEnum.SELF_APP.getName()); secretSetting.setSecretName(SecretTypeEnum.SELF_APP.getName());
secretSetting.setWxEnterpriseId(wxEnterpriseId); secretSetting.setWxEnterpriseId(wxEnterpriseId);
secretSetting.setEnterpriseId("-1"); secretSetting.setEnterpriseId("-1");
secretSetting.setSecretVal(wxSecretKey); secretSetting.setSecretVal(wxSecretKey);
secretSetting.setCheckFlag(1); secretSetting.setCheckFlag(1);
wxEnterpriseApiService.saveSecretSetting(secretSetting); wxEnterpriseApiService.saveSecretSetting(secretSetting);
return resultResponse(HaoBanErrCode.ERR_1, true); return resultResponse(HaoBanErrCode.ERR_1, true);
} }
/** /**
* 微信企业会员小程序 * 微信企业会员小程序
* *
* @param memberSecret * @param memberSecret
* @param enterpriseId * @param enterpriseId
* @param secretName * @param secretName
* @return * @return
*/ */
@RequestMapping("wx-enterprise-member-secret-set") @RequestMapping("wx-enterprise-member-secret-set")
public HaobanResponse wxEnterpriseMemberSecretSet(String secretId,String memberSecret, String enterpriseId, String secretName) { public HaobanResponse wxEnterpriseMemberSecretSet(String secretId,String memberSecret, String enterpriseId, String secretName) {
if (StringUtils.isAnyBlank(memberSecret,enterpriseId)) { if (StringUtils.isAnyBlank(memberSecret,enterpriseId)) {
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
} }
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
WxEnterpriseDTO wxEnterprise = wxEnterpriseApiService.getOne(wxEnterpriseId); WxEnterpriseDTO wxEnterprise = wxEnterpriseApiService.getOne(wxEnterpriseId);
if (wxEnterprise == null) { if (wxEnterprise == null) {
return resultResponse(HaoBanErrCode.ERR_10012); return resultResponse(HaoBanErrCode.ERR_10012);
} }
memberSecret = memberSecret.trim(); memberSecret = memberSecret.trim();
SecretSettingDTO secretSetting = null ; SecretSettingDTO secretSetting = null ;
if (StringUtils.isNotBlank(secretId)) { if (StringUtils.isNotBlank(secretId)) {
secretSetting = wxEnterpriseApiService.getSecretSettingById(secretId); secretSetting = wxEnterpriseApiService.getSecretSettingById(secretId);
} }
if(null == secretSetting) { if(null == secretSetting) {
secretSetting = new SecretSettingDTO(); secretSetting = new SecretSettingDTO();
} }
List<SecretSettingDTO> enList = this.secretSettingApiService.exsitGicEidMemberApp(wxEnterpriseId) ; List<SecretSettingDTO> enList = this.secretSettingApiService.exsitGicEidMemberApp(wxEnterpriseId) ;
if(CollectionUtils.isNotEmpty(enList)) { if(CollectionUtils.isNotEmpty(enList)) {
Map<String,SecretSettingDTO> map = enList.stream().collect(Collectors.toMap(SecretSettingDTO::getEnterpriseId, dto->dto,(k1,k2)->k1)); Map<String,SecretSettingDTO> map = enList.stream().collect(Collectors.toMap(SecretSettingDTO::getEnterpriseId, dto->dto,(k1,k2)->k1));
if(StringUtils.isEmpty(secretId)) { if(StringUtils.isEmpty(secretId)) {
if(null != map.get(enterpriseId)) { if(null != map.get(enterpriseId)) {
return this.fail("此商户小程序已存在") ; return this.fail("此商户小程序已存在") ;
} }
}else { }else {
if(null != map.get(enterpriseId) && !secretId.equals(map.get(enterpriseId).getSecretId())) { if(null != map.get(enterpriseId) && !secretId.equals(map.get(enterpriseId).getSecretId())) {
return this.fail("此商户小程序已存在") ; return this.fail("此商户小程序已存在") ;
} }
} }
} }
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseApiService.getQwInfo(wxEnterpriseId) ; WxEnterpriseQwDTO qwDTO = this.wxEnterpriseApiService.getQwInfo(wxEnterpriseId) ;
String token = this.qywxCorpApiService.getToken(qwDTO.getMemberCorpid(), memberSecret); String token = this.qywxCorpApiService.getToken(qwDTO.getMemberCorpid(), memberSecret);
logger.info("查询token", token) ; logger.info("查询token", token) ;
if(StringUtils.isEmpty(token) || token.length() < 10) { if(StringUtils.isEmpty(token) || token.length() < 10) {
return this.fail("请确认secret是否正确") ; return this.fail("请确认secret是否正确") ;
} }
secretSetting.setSecretType(SecretTypeEnum.MEMBER_WAPP.getVal()); secretSetting.setSecretType(SecretTypeEnum.MEMBER_WAPP.getVal());
secretSetting.setSecretName(secretName); secretSetting.setSecretName(secretName);
secretSetting.setEnterpriseId(enterpriseId); secretSetting.setEnterpriseId(enterpriseId);
secretSetting.setWxEnterpriseId(wxEnterpriseId); secretSetting.setWxEnterpriseId(wxEnterpriseId);
secretSetting.setSecretVal(memberSecret); secretSetting.setSecretVal(memberSecret);
secretSetting.setCheckFlag(1); secretSetting.setCheckFlag(1);
wxEnterpriseApiService.saveSecretSetting(secretSetting); wxEnterpriseApiService.saveSecretSetting(secretSetting);
return resultResponse(HaoBanErrCode.ERR_1, true); return resultResponse(HaoBanErrCode.ERR_1, true);
} }
/** /**
* 企微相关密钥列表 * 企微相关密钥列表
* *
* @return * @return
*/ */
@RequestMapping("secret-list") @RequestMapping("secret-list")
public HaobanResponse secretList() { public HaobanResponse secretList() {
String wxEnterpriseId = ""; String wxEnterpriseId = "";
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
wxEnterpriseId = login.getWxEnterpriseId(); wxEnterpriseId = login.getWxEnterpriseId();
WxEnterpriseDTO wxEnterprise = wxEnterpriseApiService.getOne(wxEnterpriseId); WxEnterpriseDTO wxEnterprise = wxEnterpriseApiService.getOne(wxEnterpriseId);
if (wxEnterprise == null) { if (wxEnterprise == null) {
return resultResponse(HaoBanErrCode.ERR_10012); return resultResponse(HaoBanErrCode.ERR_10012);
} }
List<SecretSettingDTO> listSecret = wxEnterpriseApiService.listSecret(wxEnterpriseId); List<SecretSettingDTO> listSecret = wxEnterpriseApiService.listSecret(wxEnterpriseId);
List<SecretSettingVO> listRet = EntityUtil.changeEntityListByJSON(SecretSettingVO.class, listSecret); List<SecretSettingVO> listRet = EntityUtil.changeEntityListByJSON(SecretSettingVO.class, listSecret);
if (CollectionUtils.isNotEmpty(listRet)) { if (CollectionUtils.isNotEmpty(listRet)) {
listRet.forEach(secretSettingVO -> { listRet.forEach(secretSettingVO -> {
if ((!StringUtils.isEmpty(secretSettingVO.getEnterpriseId())) && (!secretSettingVO.getEnterpriseId().equals("-1"))) { if ((!StringUtils.isEmpty(secretSettingVO.getEnterpriseId())) && (!secretSettingVO.getEnterpriseId().equals("-1"))) {
EnterpriseDTO enterpriseDTO = enterpriseService.getEnterpriseById(secretSettingVO.getEnterpriseId()); EnterpriseDTO enterpriseDTO = enterpriseService.getEnterpriseById(secretSettingVO.getEnterpriseId());
secretSettingVO.setEnterpriseName(enterpriseDTO == null ? "" : enterpriseDTO.getBrandName()); secretSettingVO.setEnterpriseName(enterpriseDTO == null ? "" : enterpriseDTO.getBrandName());
} }
}); });
} }
return resultResponse(HaoBanErrCode.ERR_1, listRet); return resultResponse(HaoBanErrCode.ERR_1, listRet);
} }
//微信企业会员小程序 //微信企业会员小程序
@RequestMapping("member-secret-del") @RequestMapping("member-secret-del")
public HaobanResponse delMemberSecret(String secretId) { public HaobanResponse delMemberSecret(String secretId) {
if (StringUtils.isAnyBlank(secretId)) { if (StringUtils.isAnyBlank(secretId)) {
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
} }
boolean b = wxEnterpriseApiService.delSecretSetting(secretId); boolean b = wxEnterpriseApiService.delSecretSetting(secretId);
return resultResponse(HaoBanErrCode.ERR_1, b); return resultResponse(HaoBanErrCode.ERR_1, b);
} }
/** /**
* 刷新企业微信好友 * 刷新企业微信好友
* *
* @return * @return
*/ */
@RequestMapping("/fresh-wx-friend") @RequestMapping("/fresh-wx-friend")
public HaobanResponse freshWxFriend() { public HaobanResponse freshWxFriend() {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
String dayKey = "haoban_fresh-wx-friend-day" + wxEnterpriseId + DateUtil.dateToStr(new Date(), "yyyy-MM-dd"); String dayKey = "haoban_fresh-wx-friend-day" + wxEnterpriseId + DateUtil.dateToStr(new Date(), "yyyy-MM-dd");
String monthKey = "haoban_fresh-wx-friend-month" + wxEnterpriseId + DateUtil.dateToStr(new Date(), "yyyy-MM"); String monthKey = "haoban_fresh-wx-friend-month" + wxEnterpriseId + DateUtil.dateToStr(new Date(), "yyyy-MM");
String dateKey = "haoban_fresh-wx-friend-date" + wxEnterpriseId; String dateKey = "haoban_fresh-wx-friend-date" + wxEnterpriseId;
Integer dayCount = RedisUtil.getCache(dayKey) == null ? 0 : Integer.parseInt(RedisUtil.getCache(dayKey).toString()); Integer dayCount = RedisUtil.getCache(dayKey) == null ? 0 : Integer.parseInt(RedisUtil.getCache(dayKey).toString());
Integer monthCount = RedisUtil.getCache(monthKey) == null ? 0 : Integer.parseInt(RedisUtil.getCache(monthKey).toString()); Integer monthCount = RedisUtil.getCache(monthKey) == null ? 0 : Integer.parseInt(RedisUtil.getCache(monthKey).toString());
if (dayCount >= 1) { if (dayCount >= 1) {
return resultResponse(HaoBanErrCode.ERR_100019); return resultResponse(HaoBanErrCode.ERR_100019);
} }
if (monthCount >= 3) { if (monthCount >= 3) {
return resultResponse(HaoBanErrCode.ERR_100020); return resultResponse(HaoBanErrCode.ERR_100020);
} }
String taskId = dealSyncOperationApiService.createWxFriendTask(wxEnterpriseId, "刷新企微好友", login.getClerkId(), "刷新企微好友"); String taskId = dealSyncOperationApiService.createWxFriendTask(wxEnterpriseId, "刷新企微好友", login.getClerkId(), "刷新企微好友");
if (StringUtils.isEmpty(taskId)) { if (StringUtils.isEmpty(taskId)) {
return resultResponse(HaoBanErrCode.ERR_100021); return resultResponse(HaoBanErrCode.ERR_100021);
} }
RedisUtil.setCache(dayKey, dayCount + 1); RedisUtil.setCache(dayKey, dayCount + 1);
RedisUtil.setCache(monthKey, monthCount + 1); RedisUtil.setCache(monthKey, monthCount + 1);
RedisUtil.setCache(dateKey, DateUtil.dateToStr(new Date(), DateUtil.FORMAT_DATETIME_19)); RedisUtil.setCache(dateKey, DateUtil.dateToStr(new Date(), DateUtil.FORMAT_DATETIME_19));
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
/** /**
* 获取企业微信好友刷新时间 * 获取企业微信好友刷新时间
* *
* @return * @return
*/ */
@RequestMapping("/get-fresh-detail") @RequestMapping("/get-fresh-detail")
public HaobanResponse getFreshDetail() { public HaobanResponse getFreshDetail() {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
String dateKey = "haoban_fresh-wx-friend-date" + wxEnterpriseId; String dateKey = "haoban_fresh-wx-friend-date" + wxEnterpriseId;
RedisUtil.getCache(dateKey); RedisUtil.getCache(dateKey);
return resultResponse(HaoBanErrCode.ERR_1, RedisUtil.getCache(dateKey)); return resultResponse(HaoBanErrCode.ERR_1, RedisUtil.getCache(dateKey));
} }
/** /**
* 微信企业绑定详情 * 微信企业绑定详情
* *
* @param enterpriseId * @param enterpriseId
* @return * @return
*/ */
@RequestMapping("wx-enterprise-bind-detail") @RequestMapping("wx-enterprise-bind-detail")
public HaobanResponse wxEnterpriseBindDetail(String enterpriseId) { public HaobanResponse wxEnterpriseBindDetail(String enterpriseId) {
if (StringUtils.isAnyBlank(enterpriseId)) { if (StringUtils.isAnyBlank(enterpriseId)) {
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
} }
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
WxEnterpriseRelationDetailDTO bindInfo = wxEnterpriseRelatedApiService.getEnterpriseBindInfo(wxEnterpriseId, enterpriseId); WxEnterpriseRelationDetailDTO bindInfo = wxEnterpriseRelatedApiService.getEnterpriseBindInfo(wxEnterpriseId, enterpriseId);
return resultResponse(HaoBanErrCode.ERR_1, bindInfo); return resultResponse(HaoBanErrCode.ERR_1, bindInfo);
} }
/** /**
* 绑定门店列表 * 绑定门店列表
* *
* @param enterpriseId * @param enterpriseId
* @return * @return
*/ */
@RequestMapping("bind-store-list") @RequestMapping("bind-store-list")
public HaobanResponse bindStoreList(String enterpriseId, String search, BasePageInfo basePageInfo) { public HaobanResponse bindStoreList(String enterpriseId, String search, BasePageInfo basePageInfo) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
Page<BindStoreInfoDTO> retPage = wxEnterpriseRelatedApiService.pageBindStoreByEnterpriseId(wxEnterpriseId, enterpriseId, search, basePageInfo); Page<BindStoreInfoDTO> retPage = wxEnterpriseRelatedApiService.pageBindStoreByEnterpriseId(wxEnterpriseId, enterpriseId, search, basePageInfo);
return resultResponse(HaoBanErrCode.ERR_1, retPage); return resultResponse(HaoBanErrCode.ERR_1, retPage);
} }
/** /**
* 绑定门店列表 * 绑定门店列表
* *
* @param enterpriseId * @param enterpriseId
* @return * @return
*/ */
@RequestMapping("flush-bind-store-list") @RequestMapping("flush-bind-store-list")
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.getClerkId(), ChannelCodeEnum.SYNC_UNBIND.getCode()); ServiceResponse response = wxEnterpriseRelatedApiService.flushBindStoreByEnterpriseId(enterpriseId, wxEnterpriseId, login.getClerkId(), 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());
return resultResponse(HaoBanErrCode.ERR_DEFINE); return resultResponse(HaoBanErrCode.ERR_DEFINE);
} }
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
/** /**
* 绑定小程序配置列表 * 绑定小程序配置列表
* *
* @return * @return
*/ */
@RequestMapping("list-miniprogram-setting") @RequestMapping("list-miniprogram-setting")
public HaobanResponse miniprogramList() { public HaobanResponse miniprogramList() {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
List<MiniprogramSettingDTO> settingDTOS = wxEnterpriseApiService.listMiniprogramSetting(wxEnterpriseId); List<MiniprogramSettingDTO> settingDTOS = wxEnterpriseApiService.listMiniprogramSetting(wxEnterpriseId);
return resultResponse(HaoBanErrCode.ERR_1, settingDTOS); return resultResponse(HaoBanErrCode.ERR_1, settingDTOS);
} }
/** /**
* 保存小程序配置列表 * 保存小程序配置列表
* *
* @return * @return
*/ */
@RequestMapping("save-miniprogram-setting") @RequestMapping("save-miniprogram-setting")
public HaobanResponse saveMiniprogram(MiniprogramSettingQo settingDTO) { public HaobanResponse saveMiniprogram(MiniprogramSettingQo settingDTO) {
if (StringUtils.isAnyBlank(settingDTO.getAppId(), if (StringUtils.isAnyBlank(settingDTO.getAppId(),
settingDTO.getImageUrl(), settingDTO.getMiniprogramName(), settingDTO.getTitle())) { settingDTO.getImageUrl(), settingDTO.getMiniprogramName(), settingDTO.getTitle())) {
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
} }
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
settingDTO.setWxEnterpriseId(wxEnterpriseId); settingDTO.setWxEnterpriseId(wxEnterpriseId);
settingDTO.setEnterpriseId(login.getEnterpriseId()); settingDTO.setEnterpriseId(login.getEnterpriseId());
MiniprogramSettingDTO miniprogramSettingDTO = wxEnterpriseApiService.getMiniprogramSettingByAppId(wxEnterpriseId, settingDTO.getAppId()); MiniprogramSettingDTO miniprogramSettingDTO = wxEnterpriseApiService.getMiniprogramSettingByAppId(wxEnterpriseId, settingDTO.getAppId());
if (null != miniprogramSettingDTO if (null != miniprogramSettingDTO
&& (!miniprogramSettingDTO.getMiniprogramSettingId().equals(settingDTO.getMiniprogramSettingId()))) { && (!miniprogramSettingDTO.getMiniprogramSettingId().equals(settingDTO.getMiniprogramSettingId()))) {
return resultResponse(HaoBanErrCode.ERR_100031); return resultResponse(HaoBanErrCode.ERR_100031);
} }
wxEnterpriseApiService.saveMiniprogramSetting(EntityUtil.changeEntityByOrika(MiniprogramSettingDTO.class, settingDTO)); wxEnterpriseApiService.saveMiniprogramSetting(EntityUtil.changeEntityByOrika(MiniprogramSettingDTO.class, settingDTO));
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
/** /**
* 获取小程序配置 * 获取小程序配置
* *
* @return * @return
*/ */
@RequestMapping("get-miniprogram-setting") @RequestMapping("get-miniprogram-setting")
public HaobanResponse getMiniprogram(String enterpriseId) { public HaobanResponse getMiniprogram(String enterpriseId) {
if (StringUtils.isEmpty(enterpriseId)) { if (StringUtils.isEmpty(enterpriseId)) {
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
} }
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
MiniprogramSettingDTO settingDTO = wxEnterpriseApiService.getMiniprogramSettingByEid(wxEnterpriseId, enterpriseId); MiniprogramSettingDTO settingDTO = wxEnterpriseApiService.getMiniprogramSettingByEid(wxEnterpriseId, enterpriseId);
return resultResponse(HaoBanErrCode.ERR_1, settingDTO); return resultResponse(HaoBanErrCode.ERR_1, settingDTO);
} }
/** /**
* 删除小程序配置 * 删除小程序配置
* *
* @return * @return
*/ */
@RequestMapping("del-miniprogram-setting") @RequestMapping("del-miniprogram-setting")
public HaobanResponse delMiniprogram(String id) { public HaobanResponse delMiniprogram(String id) {
if (StringUtils.isEmpty(id)) { if (StringUtils.isEmpty(id)) {
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
} }
wxEnterpriseApiService.delMiniprogramSettingByEid(id); wxEnterpriseApiService.delMiniprogramSettingByEid(id);
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
/** /**
* 分析素材 * 分析素材
* *
* @return * @return
*/ */
@RequestMapping("/agent-wx-enterprise-list") @RequestMapping("/agent-wx-enterprise-list")
public HaobanResponse materialShare(String materialId) { public HaobanResponse materialShare(String materialId) {
WebLoginDTO loginUser = AuthWebRequestUtil.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());
List<EnterpriseDetailDTO> retList = wxEnterpriseRelatedApiService.listEnterpriseByEnterpriseIds(enterpriseIds); List<EnterpriseDetailDTO> retList = wxEnterpriseRelatedApiService.listEnterpriseByEnterpriseIds(enterpriseIds);
Map<String, EnterpriseDetailDTO> detailDTOMap = retList.stream().filter(dto -> dto.getWxEnterpriseType() == 1).collect(Collectors.toMap(dto -> dto.getWxEnterpriseId(), dto -> dto, (ne, ol) -> ol)); Map<String, EnterpriseDetailDTO> detailDTOMap = retList.stream().filter(dto -> dto.getWxEnterpriseType() == 1).collect(Collectors.toMap(dto -> dto.getWxEnterpriseId(), dto -> dto, (ne, ol) -> ol));
Collection<EnterpriseDetailDTO> values = detailDTOMap.values(); Collection<EnterpriseDetailDTO> values = detailDTOMap.values();
List<AgentEnterpriseDTO> enterpriseList = EntityUtil.changeEntityListByOrika(AgentEnterpriseDTO.class, values); List<AgentEnterpriseDTO> enterpriseList = EntityUtil.changeEntityListByOrika(AgentEnterpriseDTO.class, values);
if (CollectionUtils.isNotEmpty(values)) { if (CollectionUtils.isNotEmpty(values)) {
List<MaterialDTO> materialDTOS = materialApiService.listByFromMaterialId(materialId); List<MaterialDTO> materialDTOS = materialApiService.listByFromMaterialId(materialId);
List<String> wxEids = new ArrayList<>(); List<String> wxEids = new ArrayList<>();
if (CollectionUtils.isNotEmpty(materialDTOS)) { if (CollectionUtils.isNotEmpty(materialDTOS)) {
wxEids = materialDTOS.stream().map(dto -> dto.getWxEnterpriseId()).collect(Collectors.toList()); wxEids = materialDTOS.stream().map(dto -> dto.getWxEnterpriseId()).collect(Collectors.toList());
} }
List<String> finalWxEids = wxEids; List<String> finalWxEids = wxEids;
for(AgentEnterpriseDTO dto : enterpriseList) { for(AgentEnterpriseDTO dto : enterpriseList) {
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseApiService.getOne(dto.getWxEnterpriseId()); WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseApiService.getOne(dto.getWxEnterpriseId());
if(null == wxEnterpriseDTO) { if(null == wxEnterpriseDTO) {
continue ; continue ;
} }
logger.info("wxEnterpriseDTO={},dto={}", JSON.toJSONString(wxEnterpriseDTO),JSON.toJSONString(dto)); logger.info("wxEnterpriseDTO={},dto={}", JSON.toJSONString(wxEnterpriseDTO),JSON.toJSONString(dto));
dto.setEnterpriseName(wxEnterpriseDTO.getCorpName()); dto.setEnterpriseName(wxEnterpriseDTO.getCorpName());
if (finalWxEids.contains(dto.getWxEnterpriseId())) { if (finalWxEids.contains(dto.getWxEnterpriseId())) {
dto.setBindFlag(1); dto.setBindFlag(1);
} else { } else {
dto.setBindFlag(0); dto.setBindFlag(0);
} }
} }
} }
return resultResponse(HaoBanErrCode.ERR_1, enterpriseList); return resultResponse(HaoBanErrCode.ERR_1, enterpriseList);
} }
/** /**
* 删除欢迎语 * 删除欢迎语
* *
* @return * @return
*/ */
@RequestMapping("del-welcome") @RequestMapping("del-welcome")
public HaobanResponse delWelcome() { public HaobanResponse delWelcome() {
WebLoginDTO loginUser = AuthWebRequestUtil.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);
} }
/** /**
* 欢迎语开启关闭 * 欢迎语开启关闭
* *
* @return * @return
*/ */
@RequestMapping("set-welcome") @RequestMapping("set-welcome")
public HaobanResponse setWelcome(int openFlag) { public HaobanResponse setWelcome(int openFlag) {
WebLoginDTO loginUser = AuthWebRequestUtil.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);
} }
/** /**
* 授权绑定-设置导购编辑权限 * 授权绑定-设置导购编辑权限
* *
* @return * @return
*/ */
@IgnoreLogin @IgnoreLogin
@RequestMapping("set-clerk-edit") @RequestMapping("set-clerk-edit")
public HaobanResponse setClerkEdit(String wxEnterprieseRelatedId, int clerkEditFlag) { public HaobanResponse setClerkEdit(String wxEnterprieseRelatedId, int clerkEditFlag) {
if (StringUtils.isBlank(wxEnterprieseRelatedId)) { if (StringUtils.isBlank(wxEnterprieseRelatedId)) {
logger.info("缺少参数"); logger.info("缺少参数");
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
} }
boolean b = wxEnterpriseRelatedApiService.setClerkEditFlag(wxEnterprieseRelatedId, clerkEditFlag); boolean b = wxEnterpriseRelatedApiService.setClerkEditFlag(wxEnterprieseRelatedId, clerkEditFlag);
if (b) { if (b) {
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} else { } else {
return resultResponse(HaoBanErrCode.ERR_100032); return resultResponse(HaoBanErrCode.ERR_100032);
} }
} }
/** /**
* 是否同意授权 * 是否同意授权
* *
* @param openFlag * @param openFlag
* @return * @return
*/ */
@RequestMapping("agree_external_userid_flag") @RequestMapping("agree_external_userid_flag")
public HaobanResponse agreeExternalUseridFlag(Integer openFlag) { public HaobanResponse agreeExternalUseridFlag(Integer openFlag) {
WebLoginDTO loginUser = AuthWebRequestUtil.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);
} }
@RequestMapping(path = "/current/enterprise/info") @RequestMapping(path = "/current/enterprise/info")
public RestResponse<?> queryCurrentInfo(){ public RestResponse<?> queryCurrentInfo(){
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser(); WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
com.gic.api.base.commons.ServiceResponse<EnterpriseDetailDTO> serviceResponse = wxEnterpriseRelatedApiService.queryEnterpriseDetail(loginUser.getWxEnterpriseId(), loginUser.getEnterpriseId()); com.gic.api.base.commons.ServiceResponse<EnterpriseDetailDTO> serviceResponse = wxEnterpriseRelatedApiService.queryEnterpriseDetail(loginUser.getWxEnterpriseId(), loginUser.getEnterpriseId());
if (serviceResponse.isSuccess()){ if (serviceResponse.isSuccess()){
return RestResponse.successResult(serviceResponse.getResult()); return RestResponse.successResult(serviceResponse.getResult());
} }
return RestResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage()); return RestResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage());
} }
/** /**
* 最新一条将要被拦截记录 * 最新一条将要被拦截记录
* @return * @return
*/ */
@RequestMapping(value = "qywx-fee-wxEnterprise-detail", method = RequestMethod.GET) @RequestMapping(value = "qywx-fee-wxEnterprise-detail", method = RequestMethod.GET)
public RestResponse qywxFeeWxEnterpriseListDetail() { public RestResponse qywxFeeWxEnterpriseListDetail() {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser(); WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = loginUser.getWxEnterpriseId(); String wxEnterpriseId = loginUser.getWxEnterpriseId();
HaobanQywxFeeDTO haobanQywxFeeDTO = haobanQywxFeeApiService.queryByWxEnterpriseId(wxEnterpriseId); HaobanQywxFeeDTO haobanQywxFeeDTO = haobanQywxFeeApiService.queryByWxEnterpriseId(wxEnterpriseId);
if (haobanQywxFeeDTO == null) { if (haobanQywxFeeDTO == null) {
return RestResponse.successResult(); return RestResponse.successResult();
} }
List<EnterpriseDetailDTO> enterpriseDetailDTOS = wxEnterpriseRelatedApiService.listEnterpriseByWxEnterpriseId(wxEnterpriseId); List<EnterpriseDetailDTO> enterpriseDetailDTOS = wxEnterpriseRelatedApiService.listEnterpriseByWxEnterpriseId(wxEnterpriseId);
if (CollectionUtils.isNotEmpty(enterpriseDetailDTOS)) { if (CollectionUtils.isNotEmpty(enterpriseDetailDTOS)) {
StringBuffer stringBuffer = new StringBuffer(); StringBuffer stringBuffer = new StringBuffer();
for (EnterpriseDetailDTO enterpriseDetailDTO : enterpriseDetailDTOS) { for (EnterpriseDetailDTO enterpriseDetailDTO : enterpriseDetailDTOS) {
stringBuffer.append(enterpriseDetailDTO.getEnterpriseName()).append(" "); stringBuffer.append(enterpriseDetailDTO.getEnterpriseName()).append(" ");
} }
haobanQywxFeeDTO.setEnterpriseNames(stringBuffer.toString()); haobanQywxFeeDTO.setEnterpriseNames(stringBuffer.toString());
} }
return RestResponse.successResult(haobanQywxFeeDTO); return RestResponse.successResult(haobanQywxFeeDTO);
} }
} }
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