Commit da48cf4b by 1244575290@qq.com

欢迎语间隔时间

parent 2f5d58dc
......@@ -27,6 +27,7 @@ import com.pcloud.book.pcloudkeyword.entity.PcloudTd;
import com.pcloud.book.pcloudkeyword.entity.PcloudTdRecord;
import com.pcloud.book.pcloudkeyword.enums.WelcomeReplyTypeEnum;
import com.pcloud.book.push.biz.SelfPushBiz;
import com.pcloud.book.util.common.ThreadPoolUtils;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.page.PageParam;
......@@ -42,6 +43,8 @@ import com.sdk.wxgroup.SendMessageTypeEnum;
import com.sdk.wxgroup.SendPicMessageVO;
import com.sdk.wxgroup.SendTextMessageVO;
import com.sdk.wxgroup.WxGroupSDK;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
......@@ -57,6 +60,9 @@ import java.util.stream.Collectors;
@Component("pcloudRobotBiz")
public class PcloudRobotBizImpl implements PcloudRobotBiz {
private static final Logger LOGGER = LoggerFactory.getLogger(PcloudRobotBizImpl.class);
@Autowired
private PcloudRobotDao pcloudRobotDao;
@Autowired
......@@ -182,13 +188,20 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
@Override
public void sendWelcomeReply(String robotWxId, String userWxId, String ip) {
ThreadPoolUtils.OTHER_THREAD_POOL.execute(() -> {
Map<String, Object> map = new HashMap<>();
map.put("robotWxId", robotWxId);
PcloudRobot pcloudRobot = (PcloudRobot)pcloudRobotDao.getBy(map, "getByRobotWxId");
if(pcloudRobot != null) {
Integer welcomeDuration = pcloudRobot.getWelcomeDuration() == null ? 3 : pcloudRobot.getWelcomeDuration();
List<PcloudRobotWelcome> robotWelcomeList = pcloudRobotWelcomeDao.getRobotWelcomeListByPcloudRobotId(pcloudRobot.getId());
fillRobotWelcome(robotWelcomeList);
for (PcloudRobotWelcome robotWelcome : robotWelcomeList) {
try {
Thread.sleep(1000 * welcomeDuration);
} catch (InterruptedException e) {
LOGGER.error("线程睡眠出错==", e);
}
Integer replyType = robotWelcome.getReplyType();
if(WelcomeReplyTypeEnum.TEXT.value.equals(replyType)) {
SendTextMessageVO sendTextMessageVO = new SendTextMessageVO();
......@@ -229,6 +242,7 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendTextMessage(sendTextMessageVO);
}
});
}
@Override
......
......@@ -55,4 +55,7 @@ public class PcloudRobot extends BaseEntity {
@ApiModelProperty("编号")
private String uniqueNumber;
@ApiModelProperty("欢迎语间隔时长")
private Integer welcomeDuration;
}
......@@ -12,9 +12,10 @@
<result column="state" property="state" jdbcType="INTEGER" />
<result column="wake_up" property="wakeUp" jdbcType="INTEGER" />
<result column="unique_number" property="uniqueNumber" jdbcType="VARCHAR"/>
<result column="welcome_duration" property="welcomeDuration" jdbcType="INTEGER" />
</resultMap>
<sql id="Base_Column_List" >
id, wx_id, nick_name, head, qrcode_url, robot_type, keyword_classify_id, state, wake_up, unique_number
id, wx_id, nick_name, head, qrcode_url, robot_type, keyword_classify_id, state, wake_up, unique_number,welcome_duration
</sql>
<insert id="insert" parameterType="PcloudRobot" useGeneratedKeys="true" keyProperty="id">
......@@ -27,7 +28,8 @@
keyword_classify_id,
state,
wake_up,
unique_number
unique_number,
welcome_duration
)
values (
#{wxId,jdbcType=VARCHAR},
......@@ -38,7 +40,8 @@
#{keywordClassifyId,jdbcType=BIGINT},
#{state,jdbcType=INTEGER},
#{wakeUp,jdbcType=INTEGER},
#{uniqueNumber, jdbcType=VARCHAR}
#{uniqueNumber, jdbcType=VARCHAR},
#{welcomeDuration, jdbcType=INTEGER}
)
</insert>
......@@ -72,6 +75,9 @@
<if test="uniqueNumber != null">
unique_number = #{uniqueNumber, jdbcType=VARCHAR},
</if>
<if test="welcomeDuration != null">
welcome_duration = #{welcomeDuration,jdbcType=INTEGER},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
......@@ -98,6 +104,7 @@
r.keyword_classify_id keywordClassifyId,
r.state state,
r.unique_number uniqueNumber,
r.welcome_duration welcomeDuration,
rc.classify_name classifyName
FROM
pcloud_robot r
......
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