guoshilong
2023-06-21 4bdde4f8171028442dd2d1da6f0be715cd676853
收藏
2 files modified
9 files added
325 ■■■■■ changed files
skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java 8 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/collect/entity/UserCollect.java 36 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/collect/feign/ICollectClient.java 21 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/collect/feign/ICollectClientFallback.java 11 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/appmanage/controller/AppManageController.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/collect/controller/UserCollectController.java 102 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/collect/feign/CollectClientImpl.java 26 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/collect/mapper/UserCollectMapper.java 15 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/collect/mapper/UserCollectMapper.xml 33 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/collect/service/IUserCollectService.java 21 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/collect/service/impl/UserCollectServiceImpl.java 50 ●●●●● patch | view | raw | blame | history
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);
        }
    }
}