Commit 58872c06 by 桂前礼

feat: [none] 小睿小程序在本书服务页对书刊资源满意度评选功能

parent 41f109d6
package com.pcloud.book.applet.biz;
import com.pcloud.book.applet.dto.AppletBookUserScoreDTO;
import java.util.List;
public interface AppletBookScoreBiz {
/**
* 为小程序本书服务评分
*
* @param wechatUserId 用户ID
* @param bookId 图书ID
* @param channelId 渠道ID
* @param adviserId 编辑ID
* @param scoreTagId 评价
* @return 主键ID
*/
Long score(Long wechatUserId, Long bookId, Long channelId, Long adviserId, Long scoreTagId);
/**
* 获取本书服务评价信息
* @param wechatUserId 用户ID
* @param bookId 图书ID
* @param channelId 渠道ID
* @param adviserId 评价
* @return
*/
List<AppletBookUserScoreDTO> get(Long wechatUserId, Long bookId, Long channelId, Long adviserId);
}
package com.pcloud.book.applet.biz.impl;
import cn.hutool.core.collection.CollUtil;
import com.pcloud.book.applet.biz.AppletBookScoreBiz;
import com.pcloud.book.applet.dto.AppletBookScoreTagDTO;
import com.pcloud.book.applet.dto.AppletBookScoreTagInfoDTO;
import com.pcloud.book.applet.dto.AppletBookUserScoreDTO;
import com.pcloud.book.applet.entity.AppletBookUserScore;
import com.pcloud.book.applet.mapper.AppletBookScoreMapper;
import com.pcloud.book.applet.mapper.AppletBookUserScoreMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.function.Function;
import java.util.stream.Collectors;
@Component
public class AppletBookScoreBizImpl implements AppletBookScoreBiz {
@Autowired
private AppletBookUserScoreMapper appletBookUserScoreMapper;
@Autowired
private AppletBookScoreMapper appletBookScoreMapper;
@Override
public Long score(Long wechatUserId, Long bookId, Long channelId, Long adviserId, Long scoreTagId) {
AppletBookUserScore appletBookUserScore = new AppletBookUserScore();
appletBookUserScore.setWechatUserId(wechatUserId);
appletBookUserScore.setBookId(bookId);
appletBookUserScore.setChannelId(channelId);
appletBookUserScore.setAdviserId(adviserId);
appletBookUserScore.setScoreTagId(scoreTagId);
// 不存在则新增
Long primaryKey = appletBookUserScoreMapper.selectPrimaryKey(appletBookUserScore);
if (Objects.isNull(primaryKey)) {
appletBookUserScoreMapper.insert(appletBookUserScore);
return appletBookUserScore.getId();
}
// 存在则更新
appletBookUserScore.setId(primaryKey);
appletBookUserScoreMapper.updateByPrimaryKey(appletBookUserScore);
return primaryKey;
}
@Override
public List<AppletBookUserScoreDTO> get(Long wechatUserId, Long bookId, Long channelId, Long adviserId) {
List<AppletBookScoreTagInfoDTO> dtos = appletBookScoreMapper.listTags(wechatUserId, bookId, channelId, adviserId);
Map<Long, List<AppletBookScoreTagDTO>> tagsMap = dtos.stream().collect(
Collectors.groupingBy(AppletBookScoreTagInfoDTO::getScoreId, Collectors.mapping(item -> {
AppletBookScoreTagDTO tag = new AppletBookScoreTagDTO();
tag.setTagId(item.getTagId());
tag.setTagName(item.getTagName());
tag.setChosen(item.getChosen() == 1);
tag.setChooseTime(item.getChosenTime());
return tag;
}, Collectors.toList())));
ArrayList<AppletBookUserScoreDTO> result = new ArrayList<>();
if (CollUtil.isEmpty(tagsMap)) return result;
dtos.stream().collect(Collectors.toMap(AppletBookScoreTagInfoDTO::getScoreId, AppletBookScoreTagInfoDTO::getScoreName, (key1, key2) -> key1)).forEach((scoreId, scoreName) -> {
AppletBookUserScoreDTO appletBookUserScoreDTO = new AppletBookUserScoreDTO();
appletBookUserScoreDTO.setScoreId(scoreId);
appletBookUserScoreDTO.setScoreName(scoreName);
appletBookUserScoreDTO.setWechatUserId(wechatUserId);
appletBookUserScoreDTO.setTags(Optional.of(tagsMap).map(map -> map.get(scoreId)).orElse(new ArrayList<>()));
result.add(appletBookUserScoreDTO);
});
return result;
}
}
package com.pcloud.book.applet.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel("标签信息封装")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class AppletBookScoreTagDTO {
@ApiModelProperty("标签ID")
private Long tagId;
@ApiModelProperty("标签名称")
private String tagName;
@ApiModelProperty("是否选中")
private boolean chosen = false;
@ApiModelProperty("选中时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date chooseTime;
}
package com.pcloud.book.applet.dto;
import lombok.Data;
import java.util.Date;
@Data
public class AppletBookScoreTagInfoDTO {
private Long scoreId;
private String scoreName;
private Long tagId;
private String tagName;
private Integer chosen;
private Date chosenTime;
}
package com.pcloud.book.applet.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.List;
/**
* 小程序用户图书评价信息封装
*/
@Data
@ApiModel("小程序用户图书评价信息封装")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class AppletBookUserScoreDTO {
private Long wechatUserId;
private Long scoreId;
private String scoreName;
private List<AppletBookScoreTagDTO> tags;
}
package com.pcloud.book.applet.entity;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* applet_book_score
* @author
*/
@Data
public class AppletBookScore implements Serializable {
/**
* 主键ID
*/
private Long id;
/**
* 本书服务评价名称
*/
private String name;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.pcloud.book.applet.entity;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* applet_book_score_tag
* @author
*/
@Data
public class AppletBookScoreTag implements Serializable {
/**
* 主键ID
*/
private Long id;
/**
* 标签名称
*/
private String name;
/**
* 评价ID
*/
private Long scoreId;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.pcloud.book.applet.entity;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* applet_book_user_score
* @author
*/
@Data
public class AppletBookUserScore implements Serializable {
/**
* 主键ID
*/
private Long id;
/**
* 用户ID
*/
private Long wechatUserId;
/**
* 图书ID
*/
private Long bookId;
/**
* 渠道ID
*/
private Long channelId;
/**
* 编辑ID
*/
private Long adviserId;
/**
* 用户评价
*/
private Long scoreTagId;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.pcloud.book.applet.facade;
import com.pcloud.book.applet.biz.AppletBookScoreBiz;
import com.pcloud.book.applet.dto.AppletBookUserScoreDTO;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.utils.cookie.Cookie;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Api(tags = "小程序本服务用户评价相关接口")
@RestController
@RequestMapping("/appletBookScore")
public class AppletBookScoreFacade {
@Autowired
private AppletBookScoreBiz appletBookScoreBiz;
@ApiOperation("新增小程序本服务评价")
@GetMapping("/add")
ResponseDto<Long> add(@CookieValue("userInfo") String userInfo,
@RequestParam("bookId") Long bookId,
@RequestParam("channelId") Long channelId,
@RequestParam("adviserId") Long adviserId,
@RequestParam("score") Long score) {
Long wechatUserId = Cookie.getId(userInfo, Cookie._WECHAT_USER_ID);
return new ResponseDto<>(appletBookScoreBiz.score(wechatUserId, bookId, channelId, adviserId, score));
}
@GetMapping("/get")
ResponseDto<List<AppletBookUserScoreDTO>> get(@CookieValue("userInfo") String userInfo,
@RequestParam("bookId") Long bookId,
@RequestParam("channelId") Long channelId,
@RequestParam("adviserId") Long adviserId) {
Long wechatUserId = Cookie.getId(userInfo, Cookie._WECHAT_USER_ID);
return new ResponseDto<>(appletBookScoreBiz.get(wechatUserId, bookId, channelId, adviserId));
}
}
package com.pcloud.book.applet.mapper;
import com.pcloud.book.applet.dto.AppletBookScoreTagInfoDTO;
import com.pcloud.book.applet.entity.AppletBookScore;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
import java.util.List;
@Mapper
@Component
public interface AppletBookScoreMapper {
int deleteByPrimaryKey(Long id);
int insert(AppletBookScore record);
int insertSelective(AppletBookScore record);
AppletBookScore selectByPrimaryKey(Long id);
int updateByPrimaryKeySelective(AppletBookScore record);
int updateByPrimaryKey(AppletBookScore record);
List<AppletBookScoreTagInfoDTO> listTags(@Param("wechatUserId") Long wechatUserId,
@Param("bookId") Long bookId,
@Param("channelId") Long channelId,
@Param("adviserId") Long adviserId);
}
\ No newline at end of file
package com.pcloud.book.applet.mapper;
import com.pcloud.book.applet.entity.AppletBookScoreTag;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;
@Mapper
@Component
public interface AppletBookScoreTagMapper {
int deleteByPrimaryKey(Long id);
int insert(AppletBookScoreTag record);
int insertSelective(AppletBookScoreTag record);
AppletBookScoreTag selectByPrimaryKey(Long id);
int updateByPrimaryKeySelective(AppletBookScoreTag record);
int updateByPrimaryKey(AppletBookScoreTag record);
}
\ No newline at end of file
package com.pcloud.book.applet.mapper;
import com.pcloud.book.applet.entity.AppletBookUserScore;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;
@Mapper
@Component
public interface AppletBookUserScoreMapper {
int deleteByPrimaryKey(Long id);
int insert(AppletBookUserScore record);
int insertSelective(AppletBookUserScore record);
AppletBookUserScore selectByPrimaryKey(Long id);
int updateByPrimaryKeySelective(AppletBookUserScore record);
int updateByPrimaryKey(AppletBookUserScore record);
Long selectPrimaryKey(AppletBookUserScore appletBookUserScore);
}
\ 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.applet.mapper.AppletBookScoreMapper">
<resultMap id="BaseResultMap" type="com.pcloud.book.applet.entity.AppletBookScore">
<id column="id" jdbcType="BIGINT" property="id"/>
<result column="name" jdbcType="VARCHAR" property="name"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
</resultMap>
<sql id="Base_Column_List">
id
, `name`, create_time, update_time
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from applet_book_score
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete
from applet_book_score
where id = #{id,jdbcType=BIGINT}
</delete>
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.pcloud.book.applet.entity.AppletBookScore"
useGeneratedKeys="true">
insert into applet_book_score (`name`, create_time, update_time)
values (#{name,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id"
parameterType="com.pcloud.book.applet.entity.AppletBookScore" useGeneratedKeys="true">
insert into applet_book_score
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="name != null">
`name`,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="name != null">
#{name,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.pcloud.book.applet.entity.AppletBookScore">
update applet_book_score
<set>
<if test="name != null">
`name` = #{name,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.pcloud.book.applet.entity.AppletBookScore">
update applet_book_score
set `name` = #{name,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=BIGINT}
</update>
<select id="listTags" resultType="com.pcloud.book.applet.dto.AppletBookScoreTagInfoDTO">
SELECT a.id scoreId,
a.name scoreName,
b.id tagId,
b.name tagName,
c.update_time chosenTime,
IF(c.id IS NULL, 0, 1) chosen
FROM applet_book_score a
LEFT JOIN applet_book_score_tag b ON a.id = b.score_id
LEFT JOIN (SELECT score_tag_id, id, update_time
FROM applet_book_user_score
WHERE book_id = ${bookId}
AND channel_id = ${channelId}
AND wechat_user_id = ${wechatUserId}
AND adviser_id = ${adviserId}
) c ON c.score_tag_id = b.id
ORDER BY a.id, b.id
</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.applet.mapper.AppletBookScoreTagMapper">
<resultMap id="BaseResultMap" type="com.pcloud.book.applet.entity.AppletBookScoreTag">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="score_id" jdbcType="BIGINT" property="scoreId" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<sql id="Base_Column_List">
id, `name`, score_id, create_time, update_time
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from applet_book_score_tag
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from applet_book_score_tag
where id = #{id,jdbcType=BIGINT}
</delete>
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.pcloud.book.applet.entity.AppletBookScoreTag" useGeneratedKeys="true">
insert into applet_book_score_tag (`name`, score_id, create_time,
update_time)
values (#{name,jdbcType=VARCHAR}, #{scoreId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.pcloud.book.applet.entity.AppletBookScoreTag" useGeneratedKeys="true">
insert into applet_book_score_tag
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="name != null">
`name`,
</if>
<if test="scoreId != null">
score_id,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="name != null">
#{name,jdbcType=VARCHAR},
</if>
<if test="scoreId != null">
#{scoreId,jdbcType=BIGINT},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.pcloud.book.applet.entity.AppletBookScoreTag">
update applet_book_score_tag
<set>
<if test="name != null">
`name` = #{name,jdbcType=VARCHAR},
</if>
<if test="scoreId != null">
score_id = #{scoreId,jdbcType=BIGINT},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.pcloud.book.applet.entity.AppletBookScoreTag">
update applet_book_score_tag
set `name` = #{name,jdbcType=VARCHAR},
score_id = #{scoreId,jdbcType=BIGINT},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=BIGINT}
</update>
</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.applet.mapper.AppletBookUserScoreMapper">
<resultMap id="BaseResultMap" type="com.pcloud.book.applet.entity.AppletBookUserScore">
<id column="id" jdbcType="BIGINT" property="id"/>
<result column="wechat_user_id" jdbcType="BIGINT" property="wechatUserId"/>
<result column="book_id" jdbcType="BIGINT" property="bookId"/>
<result column="channel_id" jdbcType="BIGINT" property="channelId"/>
<result column="adviser_id" jdbcType="BIGINT" property="adviserId"/>
<result column="score_tag_id" jdbcType="BIGINT" property="scoreTagId"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
</resultMap>
<sql id="Base_Column_List">
id
, wechat_user_id, book_id, channel_id, adviser_id, score_tag_id, create_time, update_time
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from applet_book_user_score
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete
from applet_book_user_score
where id = #{id,jdbcType=BIGINT}
</delete>
<insert id="insert" keyColumn="id" keyProperty="id"
parameterType="com.pcloud.book.applet.entity.AppletBookUserScore" useGeneratedKeys="true">
insert into applet_book_user_score (wechat_user_id, book_id, channel_id,
adviser_id, score_tag_id, create_time,
update_time)
values (#{wechatUserId,jdbcType=BIGINT}, #{bookId,jdbcType=BIGINT}, #{channelId,jdbcType=BIGINT},
#{adviserId,jdbcType=BIGINT}, #{scoreTagId,jdbcType=BIGINT}, NOW(), NOW())
</insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id"
parameterType="com.pcloud.book.applet.entity.AppletBookUserScore" useGeneratedKeys="true">
insert into applet_book_user_score
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="wechatUserId != null">
wechat_user_id,
</if>
<if test="bookId != null">
book_id,
</if>
<if test="channelId != null">
channel_id,
</if>
<if test="adviserId != null">
adviser_id,
</if>
<if test="scoreTagId != null">
score_tag_id,
</if>
create_time,
update_time
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="wechatUserId != null">
#{wechatUserId,jdbcType=BIGINT},
</if>
<if test="bookId != null">
#{bookId,jdbcType=BIGINT},
</if>
<if test="channelId != null">
#{channelId,jdbcType=BIGINT},
</if>
<if test="adviserId != null">
#{adviserId,jdbcType=BIGINT},
</if>
<if test="scoreTagId != null">
#{scoreTagId,jdbcType=BIGINT},
</if>
NOW(),
NOW()
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.pcloud.book.applet.entity.AppletBookUserScore">
update applet_book_user_score
<set>
<if test="wechatUserId != null">
wechat_user_id = #{wechatUserId,jdbcType=BIGINT},
</if>
<if test="bookId != null">
book_id = #{bookId,jdbcType=BIGINT},
</if>
<if test="channelId != null">
channel_id = #{channelId,jdbcType=BIGINT},
</if>
<if test="adviserId != null">
adviser_id = #{adviserId,jdbcType=BIGINT},
</if>
<if test="scoreTagId != null">
score_tag_id = #{scoreTagId,jdbcType=BIGINT},
</if>
update_time = NOW()
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.pcloud.book.applet.entity.AppletBookUserScore">
update applet_book_user_score
set wechat_user_id = #{wechatUserId,jdbcType=BIGINT},
book_id = #{bookId,jdbcType=BIGINT},
channel_id = #{channelId,jdbcType=BIGINT},
adviser_id = #{adviserId,jdbcType=BIGINT},
score_tag_id = #{scoreTagId,jdbcType=BIGINT},
update_time = NOW()
where id = #{id,jdbcType=BIGINT}
</update>
<select id="selectPrimaryKey" resultType="java.lang.Long">
select id
from applet_book_user_score
where wechat_user_id = #{wechatUserId,jdbcType=BIGINT}
and book_id = #{bookId,jdbcType=BIGINT}
and channel_id = #{channelId,jdbcType=BIGINT}
and adviser_id = #{adviserId,jdbcType=BIGINT}
</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