diff --git a/server/like-common/src/main/java/com/mdd/common/mapper/AppCircleContentMapper.java b/server/like-common/src/main/java/com/mdd/common/mapper/AppCircleContentMapper.java index acb1537..ccb9430 100644 --- a/server/like-common/src/main/java/com/mdd/common/mapper/AppCircleContentMapper.java +++ b/server/like-common/src/main/java/com/mdd/common/mapper/AppCircleContentMapper.java @@ -1,6 +1,7 @@ package com.mdd.common.mapper; import com.mdd.common.core.basics.IBaseMapper; +import com.mdd.common.entity.AppCircle; import com.mdd.common.entity.AppCircleContent; import org.apache.ibatis.annotations.Mapper; @@ -10,4 +11,5 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface AppCircleContentMapper extends IBaseMapper { + void updateByPlateId(Integer plateId); } diff --git a/server/like-common/src/main/resources/mapper/AppCircleContentMapper.xml b/server/like-common/src/main/resources/mapper/AppCircleContentMapper.xml new file mode 100644 index 0000000..1e6e28d --- /dev/null +++ b/server/like-common/src/main/resources/mapper/AppCircleContentMapper.xml @@ -0,0 +1,12 @@ + + + + + update la_app_circle_content + set plate_id = null + where plate_id = #{plateId} + + + \ No newline at end of file diff --git a/server/like-front/src/main/java/com/mdd/front/config/WebMvcConfig.java b/server/like-front/src/main/java/com/mdd/front/config/WebMvcConfig.java index e3de150..c39d984 100644 --- a/server/like-front/src/main/java/com/mdd/front/config/WebMvcConfig.java +++ b/server/like-front/src/main/java/com/mdd/front/config/WebMvcConfig.java @@ -12,7 +12,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import javax.annotation.Resource; -@Configuration +//@Configuration public class WebMvcConfig implements WebMvcConfigurer { @Resource diff --git a/server/like-front/src/main/java/com/mdd/front/controller/AppCirclePlateController.java b/server/like-front/src/main/java/com/mdd/front/controller/AppCirclePlateController.java index 3ddaf85..072e5dd 100644 --- a/server/like-front/src/main/java/com/mdd/front/controller/AppCirclePlateController.java +++ b/server/like-front/src/main/java/com/mdd/front/controller/AppCirclePlateController.java @@ -46,8 +46,7 @@ public class AppCirclePlateController { @PostMapping("/add") @ApiOperation(value="圈子板块信息新增") public AjaxResult add(@Validated @RequestBody AppCirclePlateCreateValidate createValidate) { - iAppCirclePlateService.add(createValidate); - return AjaxResult.success(); + return iAppCirclePlateService.add(createValidate); } @Log(title = "圈子板块信息编辑") diff --git a/server/like-front/src/main/java/com/mdd/front/service/IAppCirclePlateService.java b/server/like-front/src/main/java/com/mdd/front/service/IAppCirclePlateService.java index 3ab277a..dfdc412 100644 --- a/server/like-front/src/main/java/com/mdd/front/service/IAppCirclePlateService.java +++ b/server/like-front/src/main/java/com/mdd/front/service/IAppCirclePlateService.java @@ -1,5 +1,6 @@ package com.mdd.front.service; +import com.mdd.common.core.AjaxResult; import com.mdd.front.validate.common.PageValidate; import com.mdd.front.validate.AppCirclePlateCreateValidate; import com.mdd.front.validate.AppCirclePlateUpdateValidate; @@ -39,7 +40,7 @@ public interface IAppCirclePlateService { * @author LikeAdmin * @param createValidate 参数 */ - void add(AppCirclePlateCreateValidate createValidate); + AjaxResult add(AppCirclePlateCreateValidate createValidate); /** * 圈子板块信息编辑 diff --git a/server/like-front/src/main/java/com/mdd/front/service/impl/AppCircleContentServiceImpl.java b/server/like-front/src/main/java/com/mdd/front/service/impl/AppCircleContentServiceImpl.java index bbc11d9..c4fe937 100644 --- a/server/like-front/src/main/java/com/mdd/front/service/impl/AppCircleContentServiceImpl.java +++ b/server/like-front/src/main/java/com/mdd/front/service/impl/AppCircleContentServiceImpl.java @@ -1,9 +1,16 @@ package com.mdd.front.service.impl; +import cn.dev33.satoken.stp.StpUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.yulichang.query.MPJQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.mdd.common.entity.AppCircle; +import com.mdd.common.entity.AppCirclePlate; +import com.mdd.common.entity.AppCircleUser; +import com.mdd.common.mapper.AppCircleMapper; +import com.mdd.common.mapper.AppCirclePlateMapper; +import com.mdd.common.mapper.AppCircleUserMapper; import com.mdd.front.validate.common.PageValidate; import com.mdd.front.service.IAppCircleContentService; import com.mdd.front.validate.AppCircleContentCreateValidate; @@ -24,6 +31,7 @@ import org.springframework.util.Assert; import javax.annotation.Resource; import java.util.*; +import java.util.stream.Collectors; /** * 圈子内容信息实现类 @@ -35,6 +43,15 @@ public class AppCircleContentServiceImpl implements IAppCircleContentService { @Resource AppCircleContentMapper appCircleContentMapper; + @Resource + AppCircleMapper appCircleMapper; + + @Resource + AppCircleUserMapper appCircleUserMapper; + + @Resource + AppCirclePlateMapper appCirclePlateMapper; + /** * 圈子内容信息列表 * @@ -114,6 +131,29 @@ public class AppCircleContentServiceImpl implements IAppCircleContentService { */ @Override public void add(AppCircleContentCreateValidate createValidate) { + if (createValidate.getCiteType() != null && createValidate.getCiteId() == null) { + Assert.notNull(null, "引用id不能为空"); + } + AppCircle appCircle = appCircleMapper.selectOne( + new QueryWrapper() + .eq("id", createValidate.getCircleId()) + .eq("is_delete", 0) + .last("limit 1")); + Assert.notNull(appCircle, "圈子数据不存在"); + AppCirclePlate appCirclePlate = appCirclePlateMapper.selectOne( + new QueryWrapper() + .eq("id", createValidate.getPlateId()) + .eq("is_delete", 0) + .last("limit 1")); + Assert.notNull(appCirclePlate, "板块数据不存在"); + //System.out.println(StpUtil.getLoginIdAsInt()); + List appCircleUsers = appCircleUserMapper.selectList( + new QueryWrapper() + .eq("circle_id", createValidate.getCircleId()) + .eq("is_admin", 1) + .eq("is_delete", 0) + ); + AppCircleContent model = new AppCircleContent(); model.setCircleId(createValidate.getCircleId()); model.setUserId(createValidate.getUserId()); @@ -132,6 +172,15 @@ public class AppCircleContentServiceImpl implements IAppCircleContentService { model.setAddress(createValidate.getAddress()); model.setCreateTime(System.currentTimeMillis() / 1000); model.setUpdateTime(System.currentTimeMillis() / 1000); + if (createValidate.getUserId() == appCircle.getUserId()) { + model.setIsOwner(1); + } + if (appCircleUsers != null && appCircleUsers.size() > 0) { + List ids = appCircleUsers.stream().map(x->x.getUserId()).collect(Collectors.toList()); + if (ids.contains(createValidate.getUserId())) { + model.setIsAdmin(1); + } + } appCircleContentMapper.insert(model); } diff --git a/server/like-front/src/main/java/com/mdd/front/service/impl/AppCirclePlateServiceImpl.java b/server/like-front/src/main/java/com/mdd/front/service/impl/AppCirclePlateServiceImpl.java index 3e8e981..72ff502 100644 --- a/server/like-front/src/main/java/com/mdd/front/service/impl/AppCirclePlateServiceImpl.java +++ b/server/like-front/src/main/java/com/mdd/front/service/impl/AppCirclePlateServiceImpl.java @@ -1,9 +1,16 @@ package com.mdd.front.service.impl; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments; import com.github.yulichang.query.MPJQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.mdd.common.core.AjaxResult; +import com.mdd.common.entity.AppCircle; +import com.mdd.common.entity.AppCircleContent; +import com.mdd.common.mapper.AppCircleContentMapper; +import com.mdd.common.mapper.AppCircleMapper; import com.mdd.front.validate.common.PageValidate; import com.mdd.front.service.IAppCirclePlateService; import com.mdd.front.validate.AppCirclePlateCreateValidate; @@ -18,6 +25,7 @@ import com.mdd.common.mapper.AppCirclePlateMapper; import com.mdd.common.util.ListUtils; import com.mdd.common.util.TimeUtils; import com.mdd.common.util.UrlUtils; +import org.aspectj.weaver.loadtime.Aj; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.util.Assert; @@ -35,6 +43,12 @@ public class AppCirclePlateServiceImpl implements IAppCirclePlateService { @Resource AppCirclePlateMapper appCirclePlateMapper; + @Resource + AppCircleMapper appCircleMapper; + + @Resource + AppCircleContentMapper appCircleContentMapper; + /** * 圈子板块信息列表 * @@ -101,7 +115,13 @@ public class AppCirclePlateServiceImpl implements IAppCirclePlateService { * @param createValidate 参数 */ @Override - public void add(AppCirclePlateCreateValidate createValidate) { + public AjaxResult add(AppCirclePlateCreateValidate createValidate) { + AppCircle appCircle = appCircleMapper.selectOne( + new QueryWrapper() + .eq("id", createValidate.getCircleId()) + .eq("is_delete", 0) + .last("limit 1")); + Assert.notNull(appCircle, "圈子数据不存在"); AppCirclePlate model = new AppCirclePlate(); model.setCircleId(createValidate.getCircleId()); model.setName(createValidate.getName()); @@ -109,6 +129,7 @@ public class AppCirclePlateServiceImpl implements IAppCirclePlateService { model.setCreateTime(System.currentTimeMillis() / 1000); model.setUpdateTime(System.currentTimeMillis() / 1000); appCirclePlateMapper.insert(model); + return AjaxResult.success(); } /** @@ -154,6 +175,9 @@ public class AppCirclePlateServiceImpl implements IAppCirclePlateService { model.setIsDelete(1); model.setDeleteTime(System.currentTimeMillis() / 1000); appCirclePlateMapper.updateById(model); + + // 清除内容板块信息 + appCircleContentMapper.updateByPlateId(id); } } diff --git a/server/like-front/src/main/java/com/mdd/front/validate/AppCircleContentCreateValidate.java b/server/like-front/src/main/java/com/mdd/front/validate/AppCircleContentCreateValidate.java index 5e6e97a..4d39f03 100644 --- a/server/like-front/src/main/java/com/mdd/front/validate/AppCircleContentCreateValidate.java +++ b/server/like-front/src/main/java/com/mdd/front/validate/AppCircleContentCreateValidate.java @@ -24,35 +24,27 @@ public class AppCircleContentCreateValidate implements Serializable { @ApiModelProperty(value = "内容") private String content; - @NotNull(message = "imgUrl参数缺失") @ApiModelProperty(value = "图片,多张用逗号分隔") private String imgUrl; - @NotNull(message = "videoUrl参数缺失") @ApiModelProperty(value = "视频地址") private String videoUrl; - @NotNull(message = "citeType参数缺失") @ApiModelProperty(value = "引用类型1动态2圈子内容3心愿单") private Integer citeType; - @NotNull(message = "citeId参数缺失") @ApiModelProperty(value = "引用类型=1为动态id;=2为圈子内容id;=3为心愿单内容id") private Integer citeId; - @NotNull(message = "isTop参数缺失") @ApiModelProperty(value = "是否置顶1是2否") private Integer isTop; - @NotNull(message = "isShield参数缺失") @ApiModelProperty(value = "是否屏蔽1是2否") private Integer isShield; - @NotNull(message = "isSos参数缺失") @ApiModelProperty(value = "是否开启sos1是2否") private Integer isSos; - @NotNull(message = "isTj参数缺失") @ApiModelProperty(value = "是否推荐1是2否") private Integer isTj; @@ -60,11 +52,9 @@ public class AppCircleContentCreateValidate implements Serializable { @ApiModelProperty(value = "板块id") private Integer plateId; - @NotNull(message = "isOwner参数缺失") @ApiModelProperty(value = "是否圈主1是2否") private Integer isOwner; - @NotNull(message = "isAdmin参数缺失") @ApiModelProperty(value = "是否是管理员1是2否") private Integer isAdmin;