Commit 5d7998b7 by 徐高华

欢迎语小程序卡片图片

parent ae5f8dfa
......@@ -57,6 +57,6 @@ public interface TabHaobanWelcomeMediaMapper {
*/
List<TabHaobanWelcomeMedia> listByWelcomeId(@Param("welcomeId") String welcomeId);
int updateByMiniProgramId(@Param("mediaUrl") String mediaUrl,@Param("miniProgramId") String miniProgramId);
int updateByMiniProgramId(@Param("mediaId") String mediaId,@Param("miniProgramId") Long id);
}
......@@ -36,6 +36,9 @@ public class TabHaobanWelcomeMedia implements Serializable {
* 媒体文件路径,保存上传路径
*/
private String mediaUrl;
private String mediaId ;
private Date mediaTime ;
/**
* 小程序页面路径
*/
......@@ -61,6 +64,21 @@ public class TabHaobanWelcomeMedia implements Serializable {
*/
private Integer deleteFlag;
public Date getMediaTime() {
return mediaTime;
}
public void setMediaTime(Date mediaTime) {
this.mediaTime = mediaTime;
}
public String getMediaId() {
return mediaId;
}
public void setMediaId(String mediaId) {
this.mediaId = mediaId;
}
public Long getWelcomeMediaId() {
return welcomeMediaId;
......
package com.gic.haoban.manage.service.pojo.bo.welcome;
import java.util.Date;
/**
* desc:保存欢迎语媒体bo
*
......@@ -15,6 +17,9 @@ public class SaveWelcomeMediaBO {
* 媒体路径
*/
private String mediaUrl;
private String mediaId ;
private Date mediaTime ;
/**
* 小程序页面路径
*/
......@@ -33,6 +38,22 @@ public class SaveWelcomeMediaBO {
*/
private String miniprogramSettingId;
public Date getMediaTime() {
return mediaTime;
}
public void setMediaTime(Date mediaTime) {
this.mediaTime = mediaTime;
}
public String getMediaId() {
return mediaId;
}
public void setMediaId(String mediaId) {
this.mediaId = mediaId;
}
public String getMediaTitle() {
return mediaTitle;
}
......
package com.gic.haoban.manage.service.pojo.bo.welcome;
import java.util.Date;
/**
* desc:欢迎语媒体bo
*
......@@ -36,6 +38,8 @@ public class WelcomeMediaBO {
* 媒体文件路径,保存上传路径
*/
private String mediaUrl;
private String mediaId ;
private Date mediaTime ;
/**
* 小程序页面路径
*/
......@@ -49,6 +53,22 @@ public class WelcomeMediaBO {
*/
private String miniprogramSettingId;
public String getMediaId() {
return mediaId;
}
public void setMediaId(String mediaId) {
this.mediaId = mediaId;
}
public Date getMediaTime() {
return mediaTime;
}
public void setMediaTime(Date mediaTime) {
this.mediaTime = mediaTime;
}
public Long getWelcomeMediaId() {
return welcomeMediaId;
}
......
package com.gic.haoban.manage.service.service.impl;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanWelcomeMediaMapper;
import com.gic.haoban.manage.service.entity.*;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -33,10 +37,6 @@ import com.gic.haoban.manage.api.service.hm.HmClerkRelationApiService;
import com.gic.haoban.manage.api.service.hm.HmQrcodeApiService;
import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.dao.mapper.StaffMapper;
import com.gic.haoban.manage.service.entity.TabHaobanClerkMainStoreRelated;
import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import com.gic.haoban.manage.service.entity.TabMiniprogramSetting;
import com.gic.haoban.manage.service.pojo.bo.hm.KeyDataLinkBO;
import com.gic.haoban.manage.service.pojo.bo.welcome.WelcomeDetailBO;
import com.gic.haoban.manage.service.pojo.bo.welcome.WelcomeMediaBO;
......@@ -96,6 +96,8 @@ public class WelcomeSendServiceImpl implements WelcomeSendService {
private HmClerkRelationApiService hmClerkRelationApiService;
@Autowired
private StaffMapper staffMapper;
@Autowired
private TabHaobanWelcomeMediaMapper welcomeMediaMapper ;
private static GicMQClient clientInstance = GICMQClientUtil.getClientInstance();
......@@ -316,14 +318,38 @@ public class WelcomeSendServiceImpl implements WelcomeSendService {
String wxEnterpriseId) {
log.info("发送小程序:wxEnterpriseId:{}", wxEnterpriseId);
String miniprogramSettingId = media.getMiniprogramSettingId();
String mediaId = null ;
Long welcomeMediaId = media.getWelcomeMediaId() ;
TabHaobanWelcomeMedia wxa = this.welcomeMediaMapper.queryById(welcomeMediaId) ;
if(StringUtils.isNotBlank(wxa.getMediaId()) && null != wxa.getMediaTime()) {
Date date = new Date();
Date compareDate = DateUtils.addDays(date, -3);
if (wxa.getMediaTime().after(compareDate)) {
mediaId = wxa.getMediaId() ;
}else {
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxa.getWxEnterpriseId()) ;
boolean selfFlag = qwDTO.isSelf() ;
JSONResponse jp = qywxSuiteApiService.uploadMedia(qwDTO.getThirdCorpid(), qwDTO.getSelf3thSecret(), wxa.getMediaUrl(), "image", QywxMediaTypeEnum.IMAGE.getCode(),selfFlag,qwDTO.getUrlHost());
if (jp.getErrorCode() == 0) {
mediaId = jp.getResult().toString() ;
this.welcomeMediaMapper.updateByMiniProgramId(mediaId,welcomeMediaId);
} else {
throw new RuntimeException("处理素材异常");
}
}
}
TabMiniprogramSetting miniprogramSetting = miniprogramSettingService.getById(miniprogramSettingId);
if (Objects.isNull(miniprogramSetting) || miniprogramSetting.getStatusFlag() == 0) {
log.info("小程序不存在或已被删除, miniprogramSettingId:{}", miniprogramSettingId);
return;
}else {
if(null == mediaId) {
mediaId = miniprogramSetting.getMediaId();
}
}
QywxMiniprogramExternalBaseDTO messageBaseDTO = new QywxMiniprogramExternalBaseDTO();
messageBaseDTO.setAppid(miniprogramSetting.getAppId());
messageBaseDTO.setPicMediaId(miniprogramSetting.getMediaId());
messageBaseDTO.setPicMediaId(mediaId);
messageBaseDTO.setTitle(miniprogramSetting.getTitle());
messageBaseDTO.setPage(media.getMiniProgramPage());
attachments.add(messageBaseDTO);
......
package com.gic.haoban.manage.service.service.impl;
import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.JSONResponse;
import com.gic.api.base.commons.Page;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.common.utils.StringUtil;
import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeRemoveCheckDTO;
import com.gic.haoban.manage.api.dto.welcome.qdto.QueryWelcomeQDTO;
import com.gic.haoban.manage.api.enums.FriendSettingTypeEnum;
......@@ -41,9 +43,12 @@ import com.gic.haoban.manage.service.pojo.qo.WelcomeInfoQO;
import com.gic.haoban.manage.service.pojo.qo.WelcomeRelationQO;
import com.gic.haoban.manage.service.service.WelcomeService;
import com.gic.haoban.manage.service.service.WelcomeSuitRangService;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.service.hm.HmLinkService;
import com.gic.haoban.manage.service.service.hm.HmQrcodeService;
import com.gic.haoban.manage.service.service.hm.WelcomeRelationService;
import com.gic.wechat.api.enums.QywxMediaTypeEnum;
import com.gic.wechat.api.service.qywx.QywxSuiteApiService;
import com.github.pagehelper.PageHelper;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
......@@ -92,6 +97,10 @@ public class WelcomeServiceImpl implements WelcomeService {
private HmLinkService linkService;
@Autowired
private HmQrcodeService qrcodeService;
@Autowired
private QywxSuiteApiService qywxSuiteApiService ;
@Autowired
private WxEnterpriseService wxEnterpriseService ;
private static final int WELCOME_LIMIT = 100;
private static final int DEPARTMENT_NUM_LIMIT = 10000;
private static final int STAFF_NUM_LIMIT = 2000;
......@@ -225,6 +234,9 @@ public class WelcomeServiceImpl implements WelcomeService {
if (CollectionUtils.isEmpty(bo.getWelcomeMediaList())) {
return;
}
String wxEnterpriseId = bo.getWxEnterpriseId() ;
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId) ;
boolean selfFlag = qwDTO.isSelf() ;
List<TabHaobanWelcomeMedia> mediaList = bo.getWelcomeMediaList().stream().map(one -> {
TabHaobanWelcomeMedia media = new TabHaobanWelcomeMedia();
media.setWelcomeMediaId(UniqueIdUtils.uniqueLong());
......@@ -238,6 +250,15 @@ public class WelcomeServiceImpl implements WelcomeService {
media.setMiniProgramId(one.getMiniprogramSettingId());
media.setCreateTime(new Date());
media.setDeleteFlag(0);
if(5 == media.getMediaType() && StringUtils.isNotBlank(media.getMediaUrl())) {
JSONResponse jp = qywxSuiteApiService.uploadMedia(qwDTO.getThirdCorpid(), qwDTO.getSelf3thSecret(), media.getMediaUrl(), "image", QywxMediaTypeEnum.IMAGE.getCode(),selfFlag,qwDTO.getUrlHost());
if (jp.getErrorCode() == 0) {
media.setMediaId(jp.getResult().toString());
media.setMediaTime(new Date());
} else {
throw new RuntimeException("处理图片异常");
}
}
return media;
}).collect(Collectors.toList());
// 批量新增
......@@ -619,6 +640,8 @@ public class WelcomeServiceImpl implements WelcomeService {
bo.setMiniProgramPage(one.getMiniProgramPage());
bo.setMediaSize(one.getMediaSize());
bo.setMiniprogramSettingId(one.getMiniProgramId());
bo.setMediaId(one.getMediaId());
bo.setMediaTime(one.getMediaTime());
return bo;
}).collect(Collectors.toList());
}
......
......@@ -91,7 +91,7 @@ public class MiniprogramSettingServiceImpl implements MiniprogramSettingService
tabMiniprogramSettingMapper.updateByPrimaryKeySelective(miniprogramSetting);
//判断是否需要更新欢迎语里面冗余小程序的封面
if(null!=miniprogramSetting.getRenewWelcome() && miniprogramSetting.getRenewWelcome()==1){
tabHaobanWelcomeMediaMapper.updateByMiniProgramId(miniprogramSetting.getImageUrl(),miniprogramSetting.getMiniprogramSettingId());
// tabHaobanWelcomeMediaMapper.updateByMiniProgramId(miniprogramSetting.getImageUrl(),miniprogramSetting.getMiniprogramSettingId());
}
}
}
......
......@@ -15,6 +15,8 @@
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="deleteFlag" column="delete_flag" jdbcType="INTEGER"/>
<result property="mediaId" column="media_id" />
<result property="mediaTime" column="media_time" />
</resultMap>
<!--查询单个-->
......@@ -30,7 +32,7 @@
mini_program_id,
create_time,
update_time,
delete_flag
delete_flag , media_id , media_time
from tab_haoban_welcome_media
where welcome_media_id = #{welcomeMediaId}
</select>
......@@ -47,7 +49,7 @@
mini_program_id,
create_time,
update_time,
delete_flag
delete_flag , media_id , media_time
from tab_haoban_welcome_media
where welcome_id = #{welcomeId} and delete_flag = 0
</select>
......@@ -66,7 +68,7 @@
mini_program_id,
create_time,
update_time,
delete_flag)
delete_flag , media_id , media_time)
values (#{welcomeMediaId},
#{wxEnterpriseId},
#{welcomeId},
......@@ -78,7 +80,7 @@
#{miniProgramId},
#{createTime},
#{updateTime},
#{deleteFlag})
#{deleteFlag} , #{mediaId} , #{mediaTime})
</insert>
<!--通过主键修改数据-->
......@@ -124,8 +126,8 @@
<update id="updateByMiniProgramId">
update tab_haoban_welcome_media
set media_url = #{mediaUrl}
where mini_program_id = #{miniProgramId} and media_type = 5
set media_id = #{mediaId} , media_time = now()
where welcome_media_id = #{id}
</update>
</mapper>
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