mitao
2025-02-21 31573d6180d15ef65ed0df9c2732495f40b12663
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
package com.panzhihua.applets.api;
 
import com.alibaba.excel.EasyExcel;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.listen.ComActSocialWorkerExcelListen;
import com.panzhihua.common.model.dtos.civil.*;
import com.panzhihua.common.model.dtos.property.CommonPage;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.civil.ComActSocialWorkerDetailsVO;
import com.panzhihua.common.model.vos.civil.ComActSocialWorkerVO;
import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.utlis.ClazzUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
 
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.InputStream;
 
import static java.util.Objects.isNull;
import static java.util.Objects.nonNull;
 
/**
 *
 * @author cedoo email:cedoo(a)qq.com
 * @version 1.0
 * @since 1.0
 * @date 2021-06-03
 * */
@Slf4j
@RestController
@RequestMapping("/comactsocialworker")
@Api(tags = {"社工"})
public class ComActSocialWorkerApi extends BaseController {
 
    @Resource
    private CommunityService communityService;
 
//    @Value("${excel.comactsocialworkerUrl}")
//    private String comactsocialworkerUrl;
    /**
     * 新增社工
     * @param {classNameFirstLower}AddDTO 添加社工传递对象
     * @return 新增结果
     */
    @PostMapping()
    @ApiOperation(value = "新增社工", response = R.class)
    R add(@Validated @RequestBody ComActSocialWorkerAddDTO comActSocialWorkerAddDTO){
        ClazzUtils.setIfStringIsEmpty(comActSocialWorkerAddDTO);
        comActSocialWorkerAddDTO.setUserId(getUserId());
        comActSocialWorkerAddDTO.setCommunityId(getCommunityId());
        return communityService.addComactsocialworker(comActSocialWorkerAddDTO);
    }
 
    /**
     * 修改
     * @param comActSocialWorkerEditDTO 修改社工传递对象
     * @return 修改结果
     */
    @PutMapping()
    @ApiOperation(value = "编辑社工", response = R.class)
    R edit(@Validated @RequestBody ComActSocialWorkerEditDTO comActSocialWorkerEditDTO){
        comActSocialWorkerEditDTO.setUserId(getUserId());
        return communityService.editComactsocialworker(comActSocialWorkerEditDTO);
    }
 
    /**
     * 分页查找
     * @param pageComActSocialWorkerDTO 查找社工传递对象
     * @return 查找结果
     */
    @GetMapping()
    @ApiOperation(value = "查询社工", response= ComActSocialWorkerVO.class)
    R query(@Validated @ModelAttribute PageComActSocialWorkerDTO pageComActSocialWorkerDTO){
        ClazzUtils.setIfStringIsEmpty(pageComActSocialWorkerDTO);
        LoginUserInfoVO loginUserInfoSureNoLogin = this.getLoginUserInfoSureNoLogin();
        if (nonNull(loginUserInfoSureNoLogin)) {
            pageComActSocialWorkerDTO.setCommunityId(loginUserInfoSureNoLogin.getCommunityId());
        } else if (isNull(pageComActSocialWorkerDTO.getCommunityId())) {
            return R.fail("缺少社区id");
        }
        return communityService.queryComactsocialworker(pageComActSocialWorkerDTO);
    }
 
    /**
     * 删除
     * @param comActSocialWorkerDeleteDTO 删除社工传递对象
     * @return 删除结果
     */
    @DeleteMapping()
    @ApiOperation(value = "删除社工", response = R.class)
    R delete(@Validated @RequestBody ComActSocialWorkerDeleteDTO  comActSocialWorkerDeleteDTO){
        ClazzUtils.setIfStringIsEmpty(comActSocialWorkerDeleteDTO);
        return communityService.deleteComactsocialworker(comActSocialWorkerDeleteDTO);
    }
 
    /**
     * 查询社工详细信息
     * @param id 社工 id
     * @return 查找结果
     */
    @GetMapping("/{id}")
    @ApiOperation(value = "查询社工详细信息")
    R<ComActSocialWorkerVO> details(@PathVariable("id") Long id){
        return communityService.comActSocialWorkerDetails(id);
    }
 
    /**
     * 导入社工名单
     * @return
     */
    @ApiOperation(value = "导入社工名单")
    @PostMapping(value = "/import", consumes = "multipart/*", headers = "content-type=multipart/form-data")
    public R downloadTemplate(@RequestParam MultipartFile file, HttpServletRequest request) {
        String fileName = file.getOriginalFilename();  //获取文件名
        log.info("传入文件名字【{}】",fileName);
        InputStream inputStream = null;
        try {
            inputStream = file.getInputStream();
            EasyExcel.read(inputStream, ComActSocialWorkerExcelVO.class, new ComActSocialWorkerExcelListen(communityService,this.getCommunityId())).sheet().doRead();
        } catch (IOException e) {
            e.printStackTrace();
            log.error("导入模板失败【{}】", e.getMessage());
            return R.fail("信息有误");
        }
        return R.ok();
    }
 
 
    //    @GetMapping("/getTemplate")
//    @ApiOperation("获取模板")
//    public R getTemplate(){
//        return R.ok(comactsocialworkerUrl);
//    }
    @ApiOperation("根据社工获取活动")
    @PostMapping("/activityList")
    R activityList(@RequestBody CommonPage commonPage){
        return communityService.activityList(commonPage);
    }
 
}