wzy
2022-10-09 99091a8cbb8e098575c75a7c640b568addbcc29d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
package com.matrix.system.app.action;
 
import com.matrix.beauty.followup.dao.SysFollowupDao;
import com.matrix.beauty.followup.entry.SysFollowup;
import com.matrix.beauty.followup.service.SysFollowupService;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.StringUtils;
import com.matrix.core.tools.WebUtil;
import com.matrix.system.app.dto.*;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.tools.DataAuthUtil;
import com.matrix.system.hive.bean.*;
import com.matrix.system.hive.dao.*;
import com.matrix.system.hive.plugin.util.CollectionUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
 
import java.util.*;
import java.util.stream.Collectors;
 
/**
 * @author jyy
 * @date 2020-12-21
 **/
@Api(value = "ApiFollowupAction", tags = "跟进记录接口类")
@RestController
@RequestMapping(value = "/api/followup")
public class ApiFollowupAction {
 
    @Autowired
    private SysFollowupDao followupDao;
 
    @Autowired
    private SysFollowupCommentDao followupCommentDao;
 
 
    @Autowired
    private SysFollowupService followupService;
 
 
    @ApiOperation(value = "新增跟进记录", notes = "新增跟进记录")
    @ApiResponses({
            @ApiResponse(code = 200, message = "ok", response = SysFollowup.class)
    })
    @PostMapping(value = "/addFollowup")
    public AjaxResult addFollowup(@RequestBody @Validated SysFollowup followup) {
        followupService.save(followup);
        return AjaxResult.buildSuccessInstance("保存成功");
    }
 
    @ApiOperation(value = "跟进记录点赞或者取消点赞", notes = "跟进记录点赞或者取消点赞")
    @ApiResponses({
            @ApiResponse(code = 200, message = "ok", response = AjaxResult.class)
    })
    @GetMapping(value = "/zanFollowup/{id}")
    public AjaxResult zanFollowup(@PathVariable("id")Long id) {
        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
        SysFollowup followup = followupDao.selectById(id);
        String zans=followup.getZans();
        if(StringUtils.isNotBlank(zans)){
            List<Long> zanIds = StringUtils.strToCollToLong(zans, ",");
            List<Long> zaned = zanIds.stream().filter(zanid -> zanid.equals(user.getSuId())).collect(Collectors.toList());
            if(CollectionUtils.isNotEmpty(zaned)){
                //取消赞
                List<Long> newZaned = zanIds.stream().filter(zanid -> !zanid.equals(user.getSuId())).collect(Collectors.toList());
                zans=StringUtils.collToStr(newZaned,",");
 
            }else{
                //点赞
                zanIds.add(user.getSuId());
                zans=StringUtils.collToStr(zanIds,",");
            }
        }else{
            //直接点赞
            zans=user.getSuId()+"";
        }
        followupDao.updateZan(id,zans);
        return AjaxResult.buildSuccessInstance("修改成功");
    }
 
 
    @ApiOperation(value = "评论跟进", notes = "评论跟进")
    @ApiResponses({
            @ApiResponse(code = 200, message = "ok", response = AjaxResult.class)
    })
    @PostMapping(value = "/addFollowupComment")
    public AjaxResult addFollowupComment(@RequestBody @Validated SysFollowupComment followupComment) {
        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
        followupComment.setCreateBy(user.getSuName());
        followupComment.setUpdateBy(user.getSuName());
        followupComment.setStaffId(user.getSuId());
        followupCommentDao.insert(followupComment);
        return AjaxResult.buildSuccessInstance("评论成功");
    }
 
 
    @ApiOperation(value = "查询跟进记录", notes = "查询跟进记录")
    @ApiResponses({
            @ApiResponse(code = 200, message = "ok", response = SysFollowup.class)
    })
    @PostMapping(value = "/findFollowup")
    public AjaxResult findFollowup(@RequestBody @Validated FollowupListDto followupListDto) {
        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
        if(!DataAuthUtil.hasAllShopAuth()){
            followupListDto.setShopId(user.getShopId());
        }
        followupListDto.setCompanyId(user.getCompanyId());
        followupListDto.setSelfStaff(user.getSuId());
        //TODO 需要设置跨店数据权限
        List<SysFollowup> rows= followupDao.selectByAppDto(followupListDto);
        return AjaxResult.buildSuccessInstance(rows,"查询成功");
    }
 
 
 
 
 
 
 
 
 
 
    
    
 
}