Commit 5d7998b7 by 徐高华

欢迎语小程序卡片图片

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