提交 2bea1e0a authored 作者: 林业通's avatar 林业通

邀请成员修改

上级 b3de15d2
package tech.glinfo.enbao.modules.sh.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import tech.glinfo.enbao.common.annotation.ApiLog;
import tech.glinfo.enbao.common.annotation.Login;
import tech.glinfo.enbao.common.annotation.LoginUser;
import tech.glinfo.enbao.common.utils.R;
import tech.glinfo.enbao.common.utils.StringUtils;
import tech.glinfo.enbao.modules.appuser.entity.AppUserEntity;
import tech.glinfo.enbao.modules.appuser.service.AppUserService;
import tech.glinfo.enbao.modules.sh.entity.ShFamilyInviteEntity;
import tech.glinfo.enbao.modules.sh.entity.ShFamilyMemberEntity;
import tech.glinfo.enbao.modules.sh.service.ShFamilyInviteService;
import tech.glinfo.enbao.modules.sh.service.ShFamilyMemberService;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("/shFamilyInvite")
@Api(value = "邀请家庭成员")
public class ShFamilyInviteController {
@Autowired
private ShFamilyInviteService shFamilyInviteService;
@Autowired
private ShFamilyMemberService shFamilyMemberService;
@Autowired
private AppUserService appUserService;
@Login
@PostMapping("add")
@ApiOperation("新增")
@ApiLog("新增")
public R add(@RequestBody Map<String, Object> params, @LoginUser AppUserEntity user) {
String phone = (String) params.get("phone");
String name = (String) params.get("name");
Integer familyId = (Integer) params.get("familyId");
if (StringUtils.isBlank(familyId, name)) {
return R.error("缺少参数");
}
if (StringUtils.isBlank(phone)) {
return R.error("请输入邀请成员手机号码");
}
AppUserEntity appUser = appUserService.getOne(new QueryWrapper<AppUserEntity>().eq("phone", phone));
if (appUser == null) {
return R.error("成员还未注册");
}
int count = shFamilyMemberService.count(new QueryWrapper<ShFamilyMemberEntity>().eq("user_id", appUser.getId()).eq("family_id", familyId));
if (count > 0) {
return R.error("成员已经加入");
}
int count1 = shFamilyInviteService.count(new QueryWrapper<ShFamilyInviteEntity>().eq("status", 1).eq("family_id", familyId).eq("user_id", appUser.getId()));
//判断是否重复邀请
if (count1 == 0) {
ShFamilyInviteEntity invite = new ShFamilyInviteEntity();
invite.setFamilyId(familyId);
invite.setCreateId(user.getId());
invite.setUserId(appUser.getId());
invite.setName(name);
shFamilyInviteService.save(invite);
}
return R.ok();
}
@Login
@GetMapping("list")
@ApiOperation("邀请列表")
@ApiLog("邀请列表")
public R list(@LoginUser AppUserEntity user) {
List<ShFamilyInviteEntity> list = shFamilyInviteService.list(new QueryWrapper<ShFamilyInviteEntity>().eq("user_id", user.getId()));
return R.ok().put("list", list);
}
@Login
@PostMapping("updateStatus")
@ApiOperation("修改状态")
@ApiLog("修改状态")
public R updateStatus(@RequestBody Map<String, Object> params) {
Integer id = (Integer) params.get("id");
Integer status = (Integer) params.get("status");
if (StringUtils.isBlank(id, status)) {
return R.error("缺少参数");
}
ShFamilyInviteEntity invite = shFamilyInviteService.getById(id);
if (invite != null && invite.getStatus() == 1) {
invite.setStatus(status);
if (status == 2) {
ShFamilyMemberEntity member = new ShFamilyMemberEntity();
member.setFamilyId(invite.getFamilyId());
member.setUserId(invite.getUserId());
member.setIsAdmin(2);
shFamilyMemberService.save(member);
}
shFamilyInviteService.updateById(invite);
}
return R.ok();
}
}
\ No newline at end of file
package tech.glinfo.enbao.modules.sh.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import tech.glinfo.enbao.common.annotation.ApiLog;
import tech.glinfo.enbao.common.annotation.Login;
import tech.glinfo.enbao.common.annotation.LoginUser;
import tech.glinfo.enbao.common.utils.R;
import tech.glinfo.enbao.common.utils.StringUtils;
import tech.glinfo.enbao.modules.appuser.entity.AppUserEntity;
import tech.glinfo.enbao.modules.appuser.service.AppUserService;
import tech.glinfo.enbao.modules.sh.entity.ShFamilyMemberEntity;
import tech.glinfo.enbao.modules.sh.service.OtherShFamilyMemberService;
import tech.glinfo.enbao.modules.sh.service.ShFamilyMemberService;
import java.util.Map;
......@@ -25,25 +25,69 @@ import java.util.Map;
public class ShFamilyMemberController {
@Autowired
private ShFamilyMemberService shFamilyMemberService;
private OtherShFamilyMemberService otherShFamilyMemberService;
/*@Login
@Autowired
private AppUserService appUserService;
@Login
@PostMapping("add")
@ApiOperation("新增")
@ApiLog("新增")
public R add(@RequestBody Map<String, Object> params, @LoginUser AppUserEntity user) {
String phone = (String) params.get("phone");
Integer familyId = (Integer) params.get("familyId");
if (StringUtils.isBlank(familyId)) {
return R.error("缺少参数");
}
if (StringUtils.isBlank(phone)) {
return R.error("请输入邀请成员手机号码");
}
AppUserEntity appUser = appUserService.getOne(new QueryWrapper<AppUserEntity>().eq("phone", phone));
if (appUser == null) {
return R.error("成员还未注册");
}
int count = otherShFamilyMemberService.count(new QueryWrapper<ShFamilyMemberEntity>().eq("user_id", appUser.getId()).eq("family_id", familyId).in("status", 1, 2));
if (count > 0) {
return R.error("请勿重复邀请");
}
ShFamilyMemberEntity member = new ShFamilyMemberEntity();
member.setFamilyId(familyId);
member.setUserId(user.getId());
member.setUserId(appUser.getId());
member.setIsAdmin(2);
shFamilyMemberService.save(member);
member.setInviteId(user.getId());
otherShFamilyMemberService.save(member);
return R.ok();
}*/
}
@Login
@GetMapping("list")
@ApiOperation("邀请列表")
@ApiLog("邀请列表")
public R list(@LoginUser AppUserEntity user) {
return otherShFamilyMemberService.list(user.getId());
}
@Login
@PostMapping("updateStatus")
@ApiOperation("修改状态")
@ApiLog("修改状态")
public R updateStatus(@RequestBody Map<String, Object> params) {
Integer id = (Integer) params.get("id");
Integer status = (Integer) params.get("status");
if (StringUtils.isBlank(id, status)) {
return R.error("缺少参数");
}
ShFamilyMemberEntity member = otherShFamilyMemberService.getById(id);
if (member != null && member.getStatus() == 1) {
member.setStatus(status);
otherShFamilyMemberService.updateById(member);
}
return R.ok();
}
@Login
@PostMapping("delete")
......@@ -51,11 +95,11 @@ public class ShFamilyMemberController {
@ApiLog("删除")
public R delete(@RequestBody Map<String, Object> params) {
Integer id = (Integer) params.get("id");
ShFamilyMemberEntity member = shFamilyMemberService.getById(id);
ShFamilyMemberEntity member = otherShFamilyMemberService.getById(id);
if (member.getIsAdmin() == 1) {
return R.error("不能删除管理员");
}
shFamilyMemberService.removeById(id);
otherShFamilyMemberService.removeById(id);
return R.ok();
}
......
package tech.glinfo.enbao.modules.sh.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import tech.glinfo.enbao.modules.sh.entity.ShFamilyMemberEntity;
import java.util.List;
import java.util.Map;
/**
* @author lyt
* @date 2022/1/5 10:50
*/
@Mapper
public interface OtherShFamilyMemberDao extends BaseMapper<ShFamilyMemberEntity> {
@Select("<script>" +
"SELECT a.id, b.name, c.nickname FROM sh_family_member a ,sh_family b, app_user c WHERE a.family_id = b.id AND a.invite_id = c.id AND a.status = 1 AND a.user_id = ${userId}" +
" </script>")
List<Map<String, Object>> list(Integer userId);
}
......@@ -2,19 +2,20 @@ package tech.glinfo.enbao.modules.sh.service;
import com.baomidou.mybatisplus.extension.service.IService;
import tech.glinfo.enbao.common.utils.PageUtils;
import tech.glinfo.enbao.modules.sh.entity.ShFamilyInviteEntity;
import tech.glinfo.enbao.common.utils.R;
import tech.glinfo.enbao.modules.sh.entity.ShFamilyMemberEntity;
import java.util.Map;
/**
* 家庭邀请记录
* 家庭成员
*
* @author linyetong
* @email linyetong@glinfo.com
* @date 2022-02-16 16:50:09
* @date 2022-01-05 10:24:13
*/
public interface ShFamilyInviteService extends IService<ShFamilyInviteEntity> {
public interface OtherShFamilyMemberService extends IService<ShFamilyMemberEntity> {
PageUtils queryPage(Map<String, Object> params);
R list(Integer userId);
}
package tech.glinfo.enbao.modules.sh.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import tech.glinfo.enbao.common.utils.R;
import tech.glinfo.enbao.modules.sh.dao.OtherShFamilyMemberDao;
import tech.glinfo.enbao.modules.sh.entity.ShFamilyMemberEntity;
import tech.glinfo.enbao.modules.sh.service.OtherShFamilyMemberService;
import java.util.List;
import java.util.Map;
@Service("otherShFamilyMemberService")
public class OtherShFamilyMemberServiceImpl extends ServiceImpl<OtherShFamilyMemberDao, ShFamilyMemberEntity> implements OtherShFamilyMemberService {
@Override
public R list(Integer userId) {
List<Map<String, Object>> list = this.baseMapper.list(userId);
return R.ok().put("list", list);
}
}
\ No newline at end of file
......@@ -11,6 +11,7 @@
<result column="id" property="id"/>
<result column="nickname" property="nickname"/>
<result column="is_admin" property="isAdmin"/>
<result column="status" property="status"/>
</collection>
</resultMap>
......@@ -35,7 +36,8 @@
SELECT a.id, a.name, (SELECT COUNT(c.id) FROM sh_family_room c WHERE a.id = c.family_id) room,
b.id item_id,
d.nickname item_nickname,
b.is_admin item_is_admin
b.is_admin item_is_admin,
b.status item_status
FROM
sh_family a , sh_family_member b, app_user d
WHERE
......
package tech.glinfo.enbao.modules.sh.dao;
import tech.glinfo.enbao.modules.sh.entity.ShFamilyInviteEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* 家庭邀请记录
*
* @author linyetong
* @email linyetong@glinfo.com
* @date 2022-02-16 16:50:09
*/
@Mapper
public interface ShFamilyInviteDao extends BaseMapper<ShFamilyInviteEntity> {
}
package tech.glinfo.enbao.modules.sh.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 家庭邀请记录
*
* @author linyetong
* @email linyetong@glinfo.com
* @date 2022-02-16 16:50:09
*/
@Data
@TableName("sh_family_invite")
public class ShFamilyInviteEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId
private Integer id;
/**
* 家庭ID
*/
private Integer familyId;
/**
* 家庭名称
*/
private String name;
/**
* 被邀请人
*/
private Integer userId;
/**
* 状态[1待确认,2已加入,2已拒绝]
*/
private Integer status;
/**
* 邀请人
*/
private Integer createId;
/**
* 创建时间
*/
private Date createTime;
}
......@@ -36,6 +36,14 @@ public class ShFamilyMemberEntity implements Serializable {
* 是否管理员 1:是 2:否
*/
private Integer isAdmin;
/**
* 状态[1待确认,2已加入,2已拒绝]
*/
private Integer status;
/**
* 邀请人ID
*/
private Integer inviteId;
/**
* 创建时间
*/
......
package tech.glinfo.enbao.modules.sh.service.impl;
import org.springframework.stereotype.Service;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import tech.glinfo.enbao.common.utils.PageUtils;
import tech.glinfo.enbao.common.utils.Query;
import tech.glinfo.enbao.modules.sh.dao.ShFamilyInviteDao;
import tech.glinfo.enbao.modules.sh.entity.ShFamilyInviteEntity;
import tech.glinfo.enbao.modules.sh.service.ShFamilyInviteService;
@Service("shFamilyInviteService")
public class ShFamilyInviteServiceImpl extends ServiceImpl<ShFamilyInviteDao, ShFamilyInviteEntity> implements ShFamilyInviteService {
@Override
public PageUtils queryPage(Map<String, Object> params) {
IPage<ShFamilyInviteEntity> page = this.page(
new Query<ShFamilyInviteEntity>().getPage(params),
new QueryWrapper<ShFamilyInviteEntity>()
);
return new PageUtils(page);
}
}
\ 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="tech.glinfo.enbao.modules.sh.dao.ShFamilyInviteDao">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="tech.glinfo.enbao.modules.sh.entity.ShFamilyInviteEntity" id="shFamilyInviteMap">
<result property="id" column="id"/>
<result property="familyId" column="family_id"/>
<result property="name" column="name"/>
<result property="userId" column="user_id"/>
<result property="status" column="status"/>
<result property="createId" column="create_id"/>
<result property="createTime" column="create_time"/>
</resultMap>
</mapper>
\ No newline at end of file
......@@ -9,6 +9,8 @@
<result property="familyId" column="family_id"/>
<result property="userId" column="user_id"/>
<result property="isAdmin" column="is_admin"/>
<result property="status" column="status"/>
<result property="inviteId" column="invite_id"/>
<result property="createTime" column="create_time"/>
</resultMap>
......
......@@ -299,14 +299,5 @@ CREATE TABLE `business_cooperation` (
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商务合作';
CREATE TABLE `sh_family_invite` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`family_id` int(11) DEFAULT NULL COMMENT '家庭ID',
`name` varchar(64) DEFAULT NULL COMMENT '家庭名称',
`user_id` int(11) DEFAULT NULL COMMENT '被邀请人',
`status` tinyint(2) DEFAULT '1' COMMENT '状态[1待确认,2已加入,2已拒绝]',
`create_id` int(11) DEFAULT NULL COMMENT '邀请人',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `sh_family_invite_user_id` (`user_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='家庭邀请记录';
\ No newline at end of file
alter table sh_family_member add `status` tinyint(2) DEFAULT '1' COMMENT '状态[1待确认,2已加入,2已拒绝]' after `is_admin` ;
alter table sh_family_member add `invite_id` int(11) DEFAULT NULL COMMENT '邀请人ID' after `status` ;
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论