skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java
@@ -17,6 +17,8 @@ package cn.gistack.auth.service; import cn.gistack.auth.constant.AuthConstant; import cn.gistack.sm.collect.feign.ICollectClient; import cn.gistack.sm.collect.feign.ICollectClientFallback; import cn.gistack.sm.sjztmd.entity.AttResManagePerson; import cn.gistack.sm.sjztmd.feign.IAttResManagePersonClient; import cn.gistack.system.entity.Dept; @@ -66,6 +68,8 @@ private final BladeRedis bladeRedis; private final JwtProperties jwtProperties; private final ICollectClient collectClient; @Override @SneakyThrows @@ -167,8 +171,8 @@ userInfo.getDetail().set("parentDept",deptRes.getData().getParentId()); } String collectResIds = collectClient.getMyCollect(user.getId().toString()); userInfo.getDetail().set("collect",collectResIds); return new BladeUserDetails(user.getId(), user.getTenantId(), StringPool.EMPTY, user.getName(), user.getRealName(), user.getDeptId(), user.getPostId(), user.getRoleId(), Func.join(userInfo.getRoles()), Func.toStr(user.getAvatar(), TokenUtil.DEFAULT_AVATAR), skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/collect/entity/UserCollect.java
New file @@ -0,0 +1,36 @@ package cn.gistack.sm.collect.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import org.springblade.core.mp.base.BaseEntity; /** * @PROJECT_NAME: skjcmanager * @DESCRIPTION: 收藏表 * @USER: guoshilong * @DATE: 2023/6/21 9:38 */ @Data @TableName( value = "SM_RES_USER_COLLECT",autoResultMap = true) @EqualsAndHashCode(callSuper = true) public class UserCollect extends BaseEntity { private static final long serialVersionUID = 1L; /** * 用户id */ @ApiModelProperty("用户id") private String userId; /** * 水库id */ @ApiModelProperty("水库id") private String resId; } skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/collect/feign/ICollectClient.java
New file @@ -0,0 +1,21 @@ package cn.gistack.sm.collect.feign; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; @FeignClient( value = "blade-sm", fallback = ICollectClientFallback.class ) public interface ICollectClient { String API_PREFIX = "/client"; String GET_MY_COLLECT = API_PREFIX + "/getMyCollect"; @GetMapping(GET_MY_COLLECT) String getMyCollect(@RequestParam("userId") String userId); } skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/collect/feign/ICollectClientFallback.java
New file @@ -0,0 +1,11 @@ package cn.gistack.sm.collect.feign; import org.springframework.stereotype.Component; @Component public class ICollectClientFallback implements ICollectClient{ @Override public String getMyCollect(String userId) { return null; } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/appmanage/controller/AppManageController.java
@@ -124,7 +124,7 @@ */ JSONObject jump_wxa = new JSONObject(); jump_wxa.put("path", "/pages/home/index"); jump_wxa.put("path", "/subPackage/user/historical/index"); jump_wxa.put("query", ""); jump_wxa.put("env_version", "release"); params.put("jump_wxa", jump_wxa); skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/collect/controller/UserCollectController.java
New file @@ -0,0 +1,102 @@ package cn.gistack.sm.collect.controller; import cn.gistack.sm.collect.entity.UserCollect; import cn.gistack.sm.collect.service.IUserCollectService; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springframework.web.bind.annotation.*; /** * @PROJECT_NAME: skjcmanager * @DESCRIPTION: 反馈记录表Controller * @USER: guoshilong * @DATE: 2023/6/21 9:38 * */ @RestController @RequestMapping("collect") @AllArgsConstructor @Api(value = "收藏表", tags = "收藏表") public class UserCollectController extends BladeController { private final IUserCollectService userCollectService; @GetMapping("/page") @ApiOperation(value = "列表", notes = "收藏表") public R<IPage<UserCollect>> pageList(UserCollect userCollect, Query query) { IPage<UserCollect> pageList = userCollectService.page(Condition.getPage(query),Condition.getQueryWrapper(userCollect)); return R.data(pageList); } /** * 详情 */ @GetMapping("/detail") @ApiOperation(value = "详情", notes = "收藏表") public R<UserCollect> detail(@RequestParam(name="id",required=true) String id) { return R.data(userCollectService.getById(id)); } /** * 新增 */ @PostMapping("/save") @ApiOperation(value = "新增", notes = "收藏表") public R save(@RequestBody UserCollect userCollect) { return R.data(userCollectService.save(userCollect)); } /** * 修改 */ @PostMapping("/update") @ApiOperation(value = "修改", notes = "收藏表") public R update(@RequestBody UserCollect userCollect) { return R.data(userCollectService.updateById(userCollect)); } /** * 新增或修改 */ @PostMapping("/submit") @ApiOperation(value = "新增或修改", notes = "收藏表") public R submit(@RequestBody UserCollect userCollect) { return R.data(userCollectService.saveOrUpdate(userCollect)); } /** * 删除 */ @PostMapping("/remove") @ApiOperation(value = "逻辑删除", notes = "收藏表") public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) { return R.data(userCollectService.removeBatchByIds(Func.toLongList(ids))); } /** * 修改 */ @PostMapping("/updateCollect") @ApiOperation(value = "修改收藏", notes = "收藏表") public R updateCollect(UserCollect userCollect){ return R.data(userCollectService.updateCollect(userCollect)); } /** * 获取我的收藏的水库 */ @PostMapping("/getMyCollect") @ApiOperation(value = "获取我的收藏的水库", notes = "获取我的收藏的水库") public R getMyCollect(String userId){ return R.data(userCollectService.getMyCollect(userId)); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/collect/feign/CollectClientImpl.java
New file @@ -0,0 +1,26 @@ package cn.gistack.sm.collect.feign; import cn.gistack.sm.collect.service.IUserCollectService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.core.tenant.annotation.NonDS; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; @NonDS @ApiIgnore @RestController @AllArgsConstructor @Slf4j public class CollectClientImpl implements ICollectClient { private final IUserCollectService userCollectService; @Override @GetMapping(GET_MY_COLLECT) public String getMyCollect(String userId) { return userCollectService.getMyCollect(userId); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/collect/mapper/UserCollectMapper.java
New file @@ -0,0 +1,15 @@ package cn.gistack.sm.collect.mapper; import cn.gistack.sm.collect.entity.UserCollect; import cn.gistack.sm.feedback.entity.Feedback; import cn.gistack.sm.feedback.vo.FeedbackVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import java.util.List; public interface UserCollectMapper extends BaseMapper<UserCollect> { String getMyCollect(@Param("userId") String userId); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/collect/mapper/UserCollectMapper.xml
New file @@ -0,0 +1,33 @@ <?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="cn.gistack.sm.collect.mapper.UserCollectMapper"> <resultMap id="vo" type="cn.gistack.sm.feedback.vo.FeedbackVO"> <id property="id" column="id"/> <result property="content" column="content"/> <result property="images" column="images" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/> <result property="phone" column="userPhone"/> <result property="reportUserName" column="real_name"/> <result property="createDept" column="create_dept"/> <result property="createUser" column="create_user"/> <result property="updateUser" column="update_user"/> <result property="updateTime" column="update_time"/> <result property="createTime" column="create_time"/> <result property="status" column="status"/> <result property="isDeleted" column="is_deleted"/> </resultMap> <select id="getMyCollect" resultType="java.lang.String"> select wm_concat(res_id) from SM_RES_USER_COLLECT WHERE STATUS = 1 AND IS_DELETED = 0 AND USER_ID = #{userId} </select> </mapper> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/collect/service/IUserCollectService.java
New file @@ -0,0 +1,21 @@ package cn.gistack.sm.collect.service; import cn.gistack.sm.collect.entity.UserCollect; import cn.gistack.sm.feedback.entity.Feedback; import cn.gistack.sm.feedback.vo.FeedbackVO; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; import org.springblade.core.tool.api.R; /** * @PROJECT_NAME: skjcmanager * @DESCRIPTION: * @USER: guoshilong * @DATE: 2023/6/21 9:38 */ public interface IUserCollectService extends BaseService<UserCollect> { String getMyCollect(String userId); Boolean updateCollect(UserCollect userCollect); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/collect/service/impl/UserCollectServiceImpl.java
New file @@ -0,0 +1,50 @@ package cn.gistack.sm.collect.service.impl; import cn.gistack.sm.collect.entity.UserCollect; import cn.gistack.sm.collect.mapper.UserCollectMapper; import cn.gistack.sm.collect.service.IUserCollectService; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.support.Condition; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.ObjectUtil; import org.springframework.stereotype.Service; @Service public class UserCollectServiceImpl extends BaseServiceImpl<UserCollectMapper, UserCollect> implements IUserCollectService { @Override public String getMyCollect(String userId) { String resIds = baseMapper.getMyCollect(userId); return resIds; } @Override public Boolean updateCollect(UserCollect userCollect) { if (ObjectUtil.isEmpty(userCollect.getUserId())){ userCollect.setUserId(AuthUtil.getUserId().toString()); } if (ObjectUtil.isEmpty(userCollect.getResId())){ throw new ServiceException("请选择水库!"); } UserCollect params = new UserCollect(); params.setUserId(userCollect.getUserId()); params.setResId(userCollect.getResId()); UserCollect detail = baseMapper.selectOne(Condition.getQueryWrapper(params)); if (ObjectUtil.isEmpty(detail)){ //库里不存在该数据就新增 return save(userCollect); }else { //更新收藏状态 detail.setStatus(userCollect.getStatus()); return updateById(detail); } } }