@@ -15,4 +15,5 @@ public interface InviteDao {
List<Invite> getLimit(@Param("userId") long userId, @Param("currIndex") int currIndex, @Param("pageSize") int pageSize);
+ Invite getInviteUserId(long userId, long inviteUserId);
}
@@ -56,10 +56,13 @@ public class MgrUserService {
public void saveInvite(long userId, String content) {
InviteQr inviteQr = inviteQrDao.getContent(content);
if (inviteQr != null) {
- Invite invite = new Invite();
- invite.setUserId(inviteQr.getUserId());
- invite.setInviteUserId(userId);
- inviteDao.insert(invite);
+ Invite inv = inviteDao.getInviteUserId(inviteQr.getUserId(), userId);
+ if (inv == null) {
+ Invite invite = new Invite();
+ invite.setUserId(inviteQr.getUserId());
+ invite.setInviteUserId(userId);
+ inviteDao.insert(invite);
+ }
@@ -11,6 +11,10 @@
<result column="userPortrait" property="userPortrait"/>
</resultMap>
+ <select id="getInviteUserId" resultMap="result">
+ SELECT * FROM invite where userId =#{userId} and inviteUserId = #{inviteUserId}
+ </select>
+
<insert id="insert" parameterType="com.bosshand.virgo.core.model.Invite" useGeneratedKeys="true" keyProperty="id">
INSERT INTO invite(userId, inviteUserId, createTime) VALUES (#{userId}, #{inviteUserId}, now())
</insert>