Commit 1049dcaa by 裴大威

Merge branch 'feat-1002280' into 'master'

个人号配置

See merge request rays/pcloud-book!363
parents 0b5cfbef 7e325c5d
...@@ -38,6 +38,7 @@ import com.pcloud.book.keywords.vo.GuideVO; ...@@ -38,6 +38,7 @@ import com.pcloud.book.keywords.vo.GuideVO;
import com.pcloud.book.keywords.vo.ReplyMessageVO; import com.pcloud.book.keywords.vo.ReplyMessageVO;
import com.pcloud.book.keywords.vo.SetGuideVO; import com.pcloud.book.keywords.vo.SetGuideVO;
import com.pcloud.book.keywords.vo.UpdateGuideVO; import com.pcloud.book.keywords.vo.UpdateGuideVO;
import com.pcloud.book.pcloudkeyword.biz.PcloudRobotBiz;
import com.pcloud.book.util.common.ThreadPoolUtils; import com.pcloud.book.util.common.ThreadPoolUtils;
import com.pcloud.book.weixinclock.dao.WeixinClockGroupClassifyDao; import com.pcloud.book.weixinclock.dao.WeixinClockGroupClassifyDao;
import com.pcloud.book.weixinclock.dto.WeixinClockDto; import com.pcloud.book.weixinclock.dto.WeixinClockDto;
...@@ -124,6 +125,8 @@ public class BookGuideBizImpl implements BookGuideBiz { ...@@ -124,6 +125,8 @@ public class BookGuideBizImpl implements BookGuideBiz {
private ResourceConsr resourceConsr; private ResourceConsr resourceConsr;
@Autowired @Autowired
private SelfRobotKeywordBiz selfRobotKeywordBiz; private SelfRobotKeywordBiz selfRobotKeywordBiz;
@Autowired
private PcloudRobotBiz pcloudRobotBiz;
@Value("${system.env}") @Value("${system.env}")
private String envStr; private String envStr;
...@@ -163,6 +166,8 @@ public class BookGuideBizImpl implements BookGuideBiz { ...@@ -163,6 +166,8 @@ public class BookGuideBizImpl implements BookGuideBiz {
bookGroupCipherUser.setAltId(agreeAddUserDTO.getRobotWxId()); bookGroupCipherUser.setAltId(agreeAddUserDTO.getRobotWxId());
//新增暗号对应记录 //新增暗号对应记录
bookGroupCipherUserDao.insert(bookGroupCipherUser); bookGroupCipherUserDao.insert(bookGroupCipherUser);
//发送配置欢迎语 create by lihao 2020.2.7
pcloudRobotBiz.sendWelcomeReply(agreeAddUserDTO.getRobotWxId(), agreeAddUserDTO.getUserWxId(), agreeAddUserDTO.getIp());
//好友引导语 //好友引导语
sendFriendGuide(bookGroupId, agreeAddUserDTO); sendFriendGuide(bookGroupId, agreeAddUserDTO);
......
package com.pcloud.book.pcloudkeyword.biz;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobot;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobotWelcome;
import com.pcloud.common.page.PageBeanNew;
import java.util.List;
public interface PcloudRobotBiz {
void createPcloudRobot(PcloudRobot pcloudRobot);
PageBeanNew<PcloudRobot> getPcloudRobotList(String nickName, Integer currentPage, Integer numPerPage);
void batchUpdatePcloudRobotWelcome(List<PcloudRobotWelcome> robotWelcomeList);
PcloudRobot getPcloudRobot(Long id);
void sendWelcomeReply(String robotWxId, String userWxId, String ip);
}
package com.pcloud.book.pcloudkeyword.biz.impl;
import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.consumer.content.ResourceConsr;
import com.pcloud.book.keywords.enums.ReplyTypeEnum;
import com.pcloud.book.pcloudkeyword.biz.PcloudRobotBiz;
import com.pcloud.book.pcloudkeyword.dao.PcloudRobotDao;
import com.pcloud.book.pcloudkeyword.dao.PcloudRobotWelcomeDao;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobot;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobotWelcome;
import com.pcloud.book.pcloudkeyword.enums.WelcomeReplyTypeEnum;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.page.PageParam;
import com.pcloud.common.utils.ListUtils;
import com.pcloud.contentcenter.resource.dto.ResourceDTO;
import com.pcloud.resourcecenter.product.dto.ProductDto;
import com.pcloud.resourcecenter.product.dto.ProductTypeDto;
import com.sdk.wxgroup.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
@Component("pcloudRobotBiz")
public class PcloudRobotBizImpl implements PcloudRobotBiz {
@Autowired
private PcloudRobotDao pcloudRobotDao;
@Autowired
private PcloudRobotWelcomeDao pcloudRobotWelcomeDao;
@Autowired
private ResourceConsr resourceConsr;
@Override
public void createPcloudRobot(PcloudRobot pcloudRobot) {
pcloudRobotDao.insert(pcloudRobot);
}
@Override
@ParamLog
public PageBeanNew<PcloudRobot> getPcloudRobotList(String nickName, Integer currentPage, Integer numPerPage) {
if (currentPage == null || currentPage < 0 || numPerPage == null || numPerPage <= 0) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "分页参数错误");
}
Map<String, Object> map = new HashMap<>();
map.put("nickName", nickName);
PageBeanNew<PcloudRobot> pageBeanNew = pcloudRobotDao.listPageNew(new PageParam(currentPage, numPerPage), map, "getPcloudRobotList");
for (PcloudRobot pcloudRobot : pageBeanNew.getRecordList()) {
List<PcloudRobotWelcome> robotWelcomeList = pcloudRobotWelcomeDao.getRobotWelcomeListByPcloudRobotId(pcloudRobot.getId());
fillRobotWelcome(robotWelcomeList);
pcloudRobot.setRobotWelcomeList(robotWelcomeList);
}
return pageBeanNew;
}
@Override
@ParamLog
@Transactional(rollbackFor = Exception.class)
public void batchUpdatePcloudRobotWelcome(List<PcloudRobotWelcome> robotWelcomeList) {
if (ListUtils.isEmpty(robotWelcomeList)){
return;
}
Long pcloudRobotId = robotWelcomeList.get(0).getPcloudRobotId();
pcloudRobotWelcomeDao.deleteByPcloudRobotId(pcloudRobotId);
pcloudRobotWelcomeDao.batchInsert(robotWelcomeList);
}
@Override
@ParamLog
public PcloudRobot getPcloudRobot(Long id) {
PcloudRobot pcloudRobot = pcloudRobotDao.getById(id);
if(pcloudRobot != null) {
List<PcloudRobotWelcome> robotWelcomeList = pcloudRobotWelcomeDao.getRobotWelcomeListByPcloudRobotId(pcloudRobot.getId());
fillRobotWelcome(robotWelcomeList);
pcloudRobot.setRobotWelcomeList(robotWelcomeList);
}
return pcloudRobot;
}
@Override
public void sendWelcomeReply(String robotWxId, String userWxId, String ip) {
Map<String, Object> map = new HashMap<>();
map.put("robotWxId", robotWxId);
PcloudRobot pcloudRobot = (PcloudRobot)pcloudRobotDao.getBy(map, "getByRobotWxId");
if(pcloudRobot != null) {
List<PcloudRobotWelcome> robotWelcomeList = pcloudRobotWelcomeDao.getRobotWelcomeListByPcloudRobotId(pcloudRobot.getId());
fillRobotWelcome(robotWelcomeList);
for (PcloudRobotWelcome robotWelcome : robotWelcomeList) {
Integer replyType = robotWelcome.getReplyType();
if(WelcomeReplyTypeEnum.TEXT.value.equals(replyType)) {
SendTextMessageVO sendTextMessageVO = new SendTextMessageVO();
sendTextMessageVO.setContent(robotWelcome.getContent());
sendTextMessageVO.setAltId(robotWxId);
sendTextMessageVO.setWxGroupId(userWxId);
sendTextMessageVO.setIp(ip);
sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendTextMessage(sendTextMessageVO);
} else if(WelcomeReplyTypeEnum.IMAGE.value.equals(replyType)) {
SendPicMessageVO sendPicMessageVO = new SendPicMessageVO();
sendPicMessageVO.setWxGroupId(userWxId);
sendPicMessageVO.setAltId(robotWxId);
sendPicMessageVO.setPicUrl(robotWelcome.getPicUrl());
sendPicMessageVO.setIp(ip);
sendPicMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendPicMessage(sendPicMessageVO);
} else if(WelcomeReplyTypeEnum.RESOURCE.value.equals(replyType)) {
SendFileVO sendFileVO = new SendFileVO();
sendFileVO.setFileUrl(robotWelcome.getResourceUrl());
sendFileVO.setFileName(robotWelcome.getResourceName());
sendFileVO.setIp(ip);
sendFileVO.setAltId(robotWxId);
sendFileVO.setWxId(userWxId);
sendFileVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendFile(sendFileVO);
}
}
}
}
@ParamLog("填充欢迎语回复")
private void fillRobotWelcome(List<PcloudRobotWelcome> robotWelcomeList) {
if(ListUtils.isEmpty(robotWelcomeList)){
return;
}
List<Long> resourceIds=new ArrayList<>();
for (PcloudRobotWelcome robotWelcome : robotWelcomeList){
Integer type = robotWelcome.getReplyType();
if (WelcomeReplyTypeEnum.RESOURCE.value.equals(type)){
resourceIds.add(robotWelcome.getResourceId());
}
}
Map<Long, ResourceDTO> resourceDTOMap=new HashMap<>();
if (!ListUtils.isEmpty(resourceIds)){
resourceDTOMap = resourceConsr.mapByIds(resourceIds);
}
for (PcloudRobotWelcome robotWelcome : robotWelcomeList){
Integer type = robotWelcome.getReplyType();
if (WelcomeReplyTypeEnum.RESOURCE.value.equals(type)){
ResourceDTO resourceDTO = resourceDTOMap.get(robotWelcome.getResourceId());
if (resourceDTO != null){
robotWelcome.setResourceName(resourceDTO.getResourceName());
robotWelcome.setResourceUrl(resourceDTO.getFileUrl());
robotWelcome.setResourceTypeCode(resourceDTO.getTypeCode());
robotWelcome.setResourceTypeName(resourceDTO.getTypeName());
robotWelcome.setFileType(resourceDTO.getFileType());
robotWelcome.setFileSize(resourceDTO.getFileSize());
robotWelcome.setResourcePdfItems(resourceDTO.getResourcePdfItems());
robotWelcome.setResourceOfficeItemDTOs(resourceDTO.getResourceOfficeItemDTOs());
}
}
}
}
}
package com.pcloud.book.pcloudkeyword.dao;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobot;
import com.pcloud.common.core.dao.BaseDao;
public interface PcloudRobotDao extends BaseDao<PcloudRobot> {
}
package com.pcloud.book.pcloudkeyword.dao;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobotWelcome;
import com.pcloud.common.core.dao.BaseDao;
import java.util.List;
public interface PcloudRobotWelcomeDao extends BaseDao<PcloudRobotWelcome> {
List<PcloudRobotWelcome> getRobotWelcomeListByPcloudRobotId(Long pcloudRobotId);
void deleteByPcloudRobotId(Long pcloudRobotId);
void batchInsert(List<PcloudRobotWelcome> robotWelcomeList);
}
package com.pcloud.book.pcloudkeyword.dao.impl;
import com.pcloud.book.pcloudkeyword.dao.PcloudRobotDao;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobot;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Component;
@Component("pcloudRobotDao")
public class PcloudRobotDaoImpl extends BaseDaoImpl<PcloudRobot> implements PcloudRobotDao {
}
package com.pcloud.book.pcloudkeyword.dao.impl;
import com.pcloud.book.pcloudkeyword.dao.PcloudRobotWelcomeDao;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobotWelcome;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Component;
import java.util.List;
@Component("pcloudRobotWelcomeDao")
public class PcloudRobotWelcomeDaoImpl extends BaseDaoImpl<PcloudRobotWelcome> implements PcloudRobotWelcomeDao {
@Override
public List<PcloudRobotWelcome> getRobotWelcomeListByPcloudRobotId(Long pcloudRobotId) {
return super.getSqlSession().selectList(getStatement("getRobotWelcomeListByPcloudRobotId"), pcloudRobotId);
}
@Override
public void deleteByPcloudRobotId(Long pcloudRobotId) {
super.getSqlSession().delete(getStatement("deleteByPcloudRobotId"), pcloudRobotId);
}
@Override
public void batchInsert(List<PcloudRobotWelcome> robotWelcomeList) {
super.getSqlSession().insert(getStatement("batchInsert"), robotWelcomeList);
}
}
package com.pcloud.book.pcloudkeyword.entity;
import com.pcloud.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
@ApiModel("全平台关键词小号")
public class PcloudRobot extends BaseEntity {
@ApiModelProperty("微信id")
private String wxId;
@ApiModelProperty("昵称")
private String nickName;
@ApiModelProperty("头像")
private String head;
@ApiModelProperty("二维码url")
private String qrcodeUrl;
@ApiModelProperty("状态:1 在线 2 离线")
private Integer state;
@ApiModelProperty("小号回复欢迎语")
private List<PcloudRobotWelcome> robotWelcomeList;
}
package com.pcloud.book.pcloudkeyword.entity;
import com.pcloud.common.entity.BaseEntity;
import com.pcloud.contentcenter.resource.dto.ResourceOfficeItemDTO;
import com.pcloud.contentcenter.resource.dto.ResourcePdfItemDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@ApiModel("全平台个人号欢迎语")
@Data
public class PcloudRobotWelcome extends BaseEntity {
@ApiModelProperty("全平台个人号id")
private Long pcloudRobotId;
@ApiModelProperty("类型 1 文字 2 图片 3音频 4PDF")
private Integer replyType;
@ApiModelProperty("内容")
private String content;
@ApiModelProperty("图片url")
private String picUrl;
@ApiModelProperty("文件名称")
private String fileName;
@ApiModelProperty("文件类型")
private String fileType;
@ApiModelProperty("文件路径")
private String fileUrl;
@ApiModelProperty("文件大小")
private Long fileSize;
@ApiModelProperty("资源id")
private Long resourceId;
@ApiModelProperty("资源链接")
private String resourceUrl;
@ApiModelProperty("资源名称")
private String resourceName;
@ApiModelProperty("资源类型编码")
private String resourceTypeCode;
@ApiModelProperty("资源类型名称")
private String resourceTypeName;
@ApiModelProperty("pdf转码后的单张图片集合")
private List<ResourcePdfItemDTO> resourcePdfItems;
@ApiModelProperty("文件转码后的单张图片集合")
private List<ResourceOfficeItemDTO> resourceOfficeItemDTOs;
}
package com.pcloud.book.pcloudkeyword.enums;
public enum WelcomeReplyTypeEnum {
/**
* 文字
*/
TEXT(1),
/**
* 图片
*/
IMAGE(2),
/**
* 资源
*/
RESOURCE(5);
/**
* 值
*/
public final Integer value;
WelcomeReplyTypeEnum(Integer value) {
this.value = value;
}
}
package com.pcloud.book.pcloudkeyword.facade;
import com.pcloud.book.pcloudkeyword.biz.PcloudRobotBiz;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobot;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobotWelcome;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.permission.PermissionException;
import com.pcloud.common.utils.SessionUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Api("全平台个人号配置")
@RestController("pcloudRobot")
@RequestMapping("pcloudRobotFacade")
public class PcloudRobotFacade {
@Autowired
private PcloudRobotBiz pcloudRobotBiz;
@ApiOperation("新增全平台机器人")
@PostMapping("/createPcloudRobot")
ResponseDto<?> createPcloudRobot(
@RequestHeader("token") @ApiParam("token信息") String token,
@RequestBody @ApiParam("全平台个人号") PcloudRobot pcloudRobot
) throws BizException, PermissionException {
SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
pcloudRobotBiz.createPcloudRobot(pcloudRobot);
return new ResponseDto<>();
}
@ApiOperation("获取全平台个人号列表")
@GetMapping("/getPcloudRobotList")
ResponseDto<?> getPcloudRobotList(
@RequestHeader("token") @ApiParam("token信息") String token,
@RequestParam(value = "nickName", required = false) @ApiParam("昵称") String nickName,
@RequestParam("currentPage") Integer currentPage,
@RequestParam("numPerPage") Integer numPerPage
) throws BizException, PermissionException{
SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
return new ResponseDto<>(pcloudRobotBiz.getPcloudRobotList(nickName,currentPage,numPerPage));
}
@ApiOperation("更新全平台个人号欢迎语")
@PostMapping("/batchUpdatePcloudRobotWelcome")
ResponseDto<?> batchUpdatePcloudRobotWelcome(
@RequestHeader("token") @ApiParam("token信息") String token,
@RequestBody @ApiParam("全平台个人号欢迎语列表") List<PcloudRobotWelcome> robotWelcomeList
) throws BizException, PermissionException {
SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
pcloudRobotBiz.batchUpdatePcloudRobotWelcome(robotWelcomeList);
return new ResponseDto<>();
}
@ApiOperation("获取全平台个人号信息")
@GetMapping("/getPcloudRobot")
ResponseDto<?> getPcloudRobot(
@RequestHeader("token") @ApiParam("token信息") String token,
@RequestParam("id") Long id
) throws BizException, PermissionException{
SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
return new ResponseDto<>(pcloudRobotBiz.getPcloudRobot(id));
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.pcloud.book.pcloudkeyword.dao.impl.PcloudRobotDaoImpl" >
<resultMap id="BaseResultMap" type="PcloudRobot" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="wx_id" property="wxId" jdbcType="VARCHAR" />
<result column="nick_name" property="nickName" jdbcType="VARCHAR" />
<result column="head" property="head" jdbcType="VARCHAR" />
<result column="qrcode_url" property="qrcodeUrl" jdbcType="VARCHAR" />
<result column="state" property="state" jdbcType="INTEGER" />
</resultMap>
<sql id="Base_Column_List" >
id, wx_id, nick_name, head, qrcode_url, state
</sql>
<insert id="insert" parameterType="PcloudRobot" useGeneratedKeys="true" keyProperty="id">
insert into pcloud_robot (
wx_id,
nick_name,
head,
qrcode_url,
state
)
values (
#{wxId,jdbcType=VARCHAR},
#{nickName,jdbcType=VARCHAR},
#{head,jdbcType=VARCHAR},
#{qrcodeUrl,jdbcType=VARCHAR},
#{state,jdbcType=INTEGER}
)
</insert>
<update id="updateState" parameterType="PcloudRobot">
update pcloud_robot set
state = #{state}
where id=#{id}
</update>
<select id="getById" parameterType="long" resultMap="BaseResultMap">
select <include refid="Base_Column_List"/>
from pcloud_robot where id=#{id}
</select>
<select id="getPcloudRobotList" parameterType="map" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List"/>
FROM
pcloud_robot
WHERE
1=1
<if test="nickName!=null">
and nick_name like concat('%', #{nickName}, '%')
</if>
</select>
<select id="getPcloudKeywordRobotCount" parameterType="map" resultType="integer">
SELECT
count(1)
FROM
pcloud_robot
WHERE
1=1
<if test="nickName!=null">
and nick_name like concat('%', #{nickName}, '%')
</if>
</select>
<select id="getPcloudKeywordRobotIds" resultType="string">
select wx_id from pcloud_robot where state = 1
</select>
<select id="getByRobotWxId" parameterType="string" resultMap="BaseResultMap">
select <include refid="Base_Column_List"/>
from pcloud_robot where wx_id = #{robotWxId}
limit 1
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.pcloud.book.pcloudkeyword.dao.impl.PcloudRobotWelcomeDaoImpl" >
<resultMap id="BaseResultMap" type="PcloudRobotWelcome" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="pcloud_robot_id" property="pcloudRobotId" jdbcType="BIGINT"/>
<result column="reply_type" property="replyType" jdbcType="INTEGER"/>
<result column="content" property="content" jdbcType="VARCHAR"/>
<result column="pic_url" property="picUrl" jdbcType="VARCHAR"/>
<result column="file_name" property="fileName" jdbcType="VARCHAR"/>
<result column="file_type" property="fileType" jdbcType="VARCHAR"/>
<result column="file_url" property="fileUrl" jdbcType="VARCHAR"/>
<result column="file_size" property="fileSize" jdbcType="BIGINT"/>
<result column="resource_id" property="resourceId" jdbcType="INTEGER"/>
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List" >
id, pcloud_robot_id, reply_type, content, pic_url, file_name, file_type, file_url,
file_size, resource_id, create_time
</sql>
<!--批量插入-->
<insert id="batchInsert" parameterType="PcloudRobotWelcome" useGeneratedKeys="true" keyProperty="id">
insert into pcloud_robot_welcome (
pcloud_robot_id,
reply_type,
content,
pic_url,
file_name,
file_type,
file_url,
file_size,
resource_id,
create_time
) values
<foreach collection="list" item="item" index="index" separator=",">
(
#{item.pcloudRobotId,jdbcType=BIGINT},
#{item.replyType,jdbcType=INTEGER},
#{item.content,jdbcType=VARCHAR},
#{item.picUrl,jdbcType=VARCHAR},
#{item.fileName,jdbcType=VARCHAR},
#{item.fileType,jdbcType=VARCHAR},
#{item.fileUrl,jdbcType=VARCHAR},
#{item.fileSize,jdbcType=BIGINT},
#{item.resourceId,jdbcType=BIGINT},
NOW()
)
</foreach>
</insert>
<delete id="deleteByPcloudRobotId" parameterType="long">
delete from pcloud_robot_welcome
where pcloud_robot_id = #{pcloudRobotId}
</delete>
<select id="getRobotWelcomeListByPcloudRobotId" parameterType="long" resultMap="BaseResultMap">
select <include refid="Base_Column_List"/>
from pcloud_robot_welcome
where pcloud_robot_id = #{pcloudRobotId}
</select>
</mapper>
\ No newline at end of file
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