Commit 669df2d4 by xiehongfei

Merge branch 'master' into feature/20250513-erqian

parents e0708648 e8a4c1a6
......@@ -314,6 +314,8 @@ public class MaterialServiceImpl implements MaterialService {
String md5 = null ;
if(type==7) {
md5 = Md5Util.MD5(imageUrl + type + dto.getCanvasCouponUUID()+dto.getMaterialTitle());
}else if(type==6){
md5 = Md5Util.MD5(imageUrl + type + dto.getMaterialTitle());
}else {
md5 = Md5Util.MD5(imageUrl+type);
}
......
......@@ -246,6 +246,9 @@ public class QywxSendServiceImpl implements QywxSendService {
} else if (materialType == 6 || materialType == 7) {
QywxMiniprogramMaterialDTO miniprogramMaterialDTO = new QywxMiniprogramMaterialDTO();
miniprogramMaterialDTO.setTitle(material.getMaterialTitle());
if(null != miniprogramMaterialDTO.getTitle() && miniprogramMaterialDTO.getTitle().getBytes().length>64) {
miniprogramMaterialDTO.setTitle(miniprogramMaterialDTO.getTitle().substring(0, 20));
}
miniprogramMaterialDTO.setPicMediaId(maerialId);
miniprogramMaterialDTO.setAppid(material.getAppId());
miniprogramMaterialDTO.setPage(material.getLink());
......
......@@ -52,4 +52,6 @@ public interface QwMomentPlanService {
void getQwPublishData(Long planId , String cursor) ;
void qwDataTimer(String params);
void sendRetry(Long qwPlanId);
}
......@@ -446,6 +446,16 @@ public class QwMomentPlanServiceImpl implements QwMomentPlanService {
String jobId = resp.getResult() ;
if(StringUtils.isBlank(jobId)) {
logger.info("朋友圈调用企微失败={}",plan.getPlanId());
// api concurrent out of limit
if("45033".equals(resp.getCode())) {
CommonMQDTO mq = new CommonMQDTO() ;
mq.setType(8) ;
Map<String,String> map = new HashMap<>() ;
map.put("planId",plan.getPlanId()+"") ;
mq.setParams(map);
this.haobanCommonMQApiService.putCommonDelayMessage(mq, 300);
return;
}
return;
}
for (QwMomentPlanAttendDTO dto : clerkList) {
......@@ -472,6 +482,10 @@ public class QwMomentPlanServiceImpl implements QwMomentPlanService {
@Override
public void getMomentId(Long planId) {
TabQwMomentPlan plan = this.qwMomentPlanMapper.getById(planId) ;
if(null == plan) {
logger.info("计划已删除");
return;
}
String wxEnterpriseId =plan.getWxEnterpriseId() ;
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId);
ServiceResponse<Object> resp2 = this.qywxExternalUserService.getMomentTaskResult(qwDTO.getThirdCorpid(),
......@@ -683,4 +697,11 @@ public class QwMomentPlanServiceImpl implements QwMomentPlanService {
}
}
}
@Override
public void sendRetry(Long qwPlanId) {
logger.info("朋友圈重试={}",qwPlanId);
TabQwMomentPlan plan = this.qwMomentPlanMapper.getById(qwPlanId) ;
this.sendToQiwei(plan);
}
}
......@@ -166,6 +166,10 @@ public class HaobanCommonMQApiServiceImpl implements HaobanCommonMQApiService {
int times = Integer.valueOf(map.get("times")) ;
this.qwMomentPlanAttendService.updateMomentId(attendId,times);
break;
case 8 :
Long qwPlanId = Long.valueOf(map.get("planId")) ;
this.qwMomentPlanService.sendRetry(qwPlanId);
break;
default:
break;
}
......
......@@ -704,6 +704,12 @@ public class StaffApiServiceImpl implements StaffApiService {
return headImgUrl;
}
byte[] data = ImageUtil.getImgbyte(headImgUrl);
if(null == data) {
data = ImageUtil.getImgbyte(headImgUrl);
}
if (null == data) {
return headImgUrl;
}
//上传接口替换
//PicUploadResDTO uploadPic = qqCloudPicService.uploadPic(GlobalVar.ctxPropertiesMap.get(GlobalInfo.QQPIC_KEY_ENTERPRISE), data);
//默认后缀为jpg,企业factoryCode取gic内部使用的factoryCode
......
......@@ -29,7 +29,8 @@ public class SyncHaobanToGicApiServiceImpl implements SyncHaobanToGicApiService
@Override
public void delGicClerk(String gicClerkId) {
logger.info("【删除gicClerk】clerkID={}",gicClerkId);
clerkService.delClerk(gicClerkId);
//clerkService.delClerk(gicClerkId);
this.clerkService.delClerkByHaoBan(gicClerkId) ;
}
// @Override
......
......@@ -27,6 +27,7 @@ import com.gic.haoban.manage.service.service.content.adaptor.EnterpriseAdaptor;
import com.gic.haoban.manage.service.service.role.HaobanMenuService;
import com.gic.haoban.manage.service.service.role.HaobanRoleMenuService;
import com.gic.haoban.manage.service.service.role.HaobanRoleService;
import com.gic.haoban.manage.service.util.ApolloUtils;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
......@@ -287,10 +288,26 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
haobanMenuList.add(bo) ;
}
}
haobanMenuList = filterHaobanMenu(enterpriseId, haobanMenuList);
retBO.setMenuList(EntityUtil.changeEntityListNew(HaobanMenuDTO.class, haobanMenuList));
return ServiceResponse.success(EntityUtil.changeEntityNew(HaobanRoleDTO.class, retBO));
}
private List<HaobanMenuBO> filterHaobanMenu(String enterpriseId,List<HaobanMenuBO> allMenuList) {
if (CollectionUtils.isEmpty(allMenuList) || StringUtils.isBlank(enterpriseId)) {
return allMenuList;
}
boolean filterEid = ApolloUtils.filterEid(enterpriseId);
if (!filterEid) {
return allMenuList;
}
List<String> list = ApolloUtils.filterMenuCode();
if (CollectionUtils.isEmpty(list)) {
return allMenuList;
}
return allMenuList.stream().filter(menu -> !list.contains(menu.getMenuCode())).collect(Collectors.toList());
}
private List<String> listRoleMenuCode(List<HaobanMenuBO> allMenuList , String wxEnterpriseId , Long roleId) {
List<String> menuCodes = haobanRoleMenuService.getByWxEnterpriseIdAndRoleId(wxEnterpriseId, roleId);
// 添加关联的权限
......
......@@ -7,7 +7,11 @@ import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class ApolloUtils {
......@@ -103,4 +107,22 @@ public class ApolloUtils {
String connectionMaxIdleMs = config.getProperty(HoloDataSource.HOLO_CONNECTIONMAXIDLEMS, "9000");
return Integer.parseInt(connectionMaxIdleMs);
}
public static boolean filterEid(String eid) {
Config config = ConfigService.getAppConfig();
String filterEid = config.getProperty("filterEid", "");
if (StringUtils.isBlank(filterEid)) {
return false;
}
return filterEid.contains(eid);
}
public static List<String> filterMenuCode() {
Config config = ConfigService.getAppConfig();
String filterMenuCode = config.getProperty("filterMenuCode", "");
if (StringUtils.isBlank(filterMenuCode)) {
return new ArrayList<>();
}
return Arrays.stream(filterMenuCode.split(",")).collect(Collectors.toList());
}
}
......@@ -57,27 +57,10 @@ public class MomentTest {
@Test
public void ddd() {
/* QwMomentPlanDTO dto = new QwMomentPlanDTO() ;
dto.setPublishType(1);
dto.setPublishTime(new Date());
dto.setWxEnterpriseId("ca66a01b79474c40b3e7c7f93daf1a3b");
dto.setCreatorId("fefd1c81641711e69d0818c58a146fd2");
dto.setCreatorName("达摩管理");
dto.setEnterpriseId("ff8080815dacd3a2015dacd3ef5c0000");
dto.setExecType(1);
dto.setExpireDays(10);
dto.setPlanClerkType(1);
// ,"b2ef17cce11f476b996d0b27ebadf7fb"
List<String> clerkIds = Arrays.asList("b2ef17cce11f476b996d0b27ebadf7fb","753a367d709d40a38b17ed25847d3b4b") ;
dto.setSelectClerkIdList(clerkIds);
this.qwMomentApiService.save(dto) ;*/
/* Long planId = 772924621895778364L ;
TabQwMomentPlan plan = this.qwMomentPlanMapper.getById(planId) ;
this.qwMomentPlanService.sendToQiwei(plan);*/
this.qwMomentPlanService.qwDataTimer("2");
public void sendToQw() {
Long id = 792759787778540646L ;
TabQwMomentPlan plan = this.qwMomentPlanMapper.getById(id) ;
this.qwMomentPlanService.sendToQiwei(plan);
}
......
......@@ -47,6 +47,8 @@ public class RightController extends WebBaseController {
if(StringUtils.isEmpty(clerkId)) {
return resultResponse(HaoBanErrCode.ERR_OTHER, "clerkId为空");
}
// 删除好办会员分组
this.rightService.delHaobanMemberGroupMenu(enterpriseId);
ServiceResponse<List<RightMenuDTO>> resp = this.rightService.getHaobanMenu(enterpriseId, clerkId, login.getWxEnterpriseId());
if (resp.isSuccess()) {
return resultResponse(HaoBanErrCode.ERR_1, resp.getResult());
......
......@@ -13,6 +13,7 @@ import com.gic.content.api.qdto.material.ContentMaterialLandingPageQDTO;
import com.gic.content.api.qdto.share.MaterialLinkShareQDTO;
import com.gic.content.api.service.ContentMaterialShareApiService;
import com.gic.content.api.utils.MqUtils;
import com.gic.enterprise.api.service.EnterpriseWxaLinkService;
import com.gic.haoban.manage.api.dto.anaylsis.ClerkShareGoodsLogDTO;
import com.gic.haoban.manage.api.dto.content.log.ClerkShareMaterialLogDTO;
import com.gic.haoban.manage.api.dto.send.DealQwSendDTO;
......@@ -63,6 +64,9 @@ public class ClerkMaterialShareController {
@Autowired
private MemberExtraPropertyApiService memberExtraPropertyApiService;
@Autowired
private EnterpriseWxaLinkService enterpriseWxaLinkService;
/**
* 导购分享素材日志
*
......@@ -167,6 +171,9 @@ public class ClerkMaterialShareController {
memberExtraPropertyApiService.updateMemberExtraProperty(memberExtraPropertyReq);
}
}
if (StringUtils.isNotBlank(recommendShareLogQO.getWxaLinkId())) {
enterpriseWxaLinkService.updateTimeById(recommendShareLogQO.getWxaLinkId());
}
return RestResponse.successResult();
}
......
......@@ -139,6 +139,9 @@ public class OfflinePreController {
if(StringUtils.isBlank(offlinePreId) || !offlinePreId.trim().chars().allMatch(Character::isDigit)) {
return RestResponse.failure("9999","参数错误") ;
}
if(offlinePreId.length()>18) {
return RestResponse.failure("9999","参数错误") ;
}
ServiceResponse<Void> countOfflinePre = offlinePreApiService.checkOfflinePreWriteOff(Long.valueOf(offlinePreId.trim()), storeId);
return JSONObject.parseObject(JSONObject.toJSONString(countOfflinePre, SerializerFeature.WriteMapNullValue), RestResponse.class);
}
......
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