lidongdong
2023-10-13 9b46a6f934d9ec7bacccae019bd21b25978174ad
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
148
149
150
151
152
153
154
155
156
157
158
159
package com.panzhihua.applets.api;
 
 
import com.alibaba.fastjson.JSONObject;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.dtos.community.PageActWorkGuideDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComActActRegistVO;
import com.panzhihua.common.model.vos.community.ComActActivityVO;
import com.panzhihua.common.model.vos.community.SignactivityVO;
import com.panzhihua.common.model.vos.jinhui.JinhuiCoinGeneralTableVO;
import com.panzhihua.common.model.vos.jinhui.JinhuiGoldCoinRecordVO;
import com.panzhihua.common.model.vos.user.SysUserNoticeVO;
import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.service.jinhui.JinhuiCommunityService;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.validated.AddGroup;
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 javax.annotation.Resource;
import java.util.Date;
 
@Slf4j
@RestController
@RequestMapping("/jin_hui/")
@Api(tags = {"小程序-金汇社区api"})
public class JinHuiCommnuityApi  extends BaseController
{
 
    @Resource
    private CommunityService communityService;
 
    @Resource
    private JinhuiCommunityService jinhuiCommunityService;
 
    @Resource
    private UserService userService;
 
    @ApiOperation(value = "新增服务活动")
    @PostMapping("add/activity")
    public R addActivity(@RequestBody @Validated(AddGroup.class) ComActActivityVO comActActivityVO) {
        Long communityId = this.getCommunityId();
        comActActivityVO.setCommunityId(communityId);
        comActActivityVO.setUserId(this.getLoginUserInfo().getUserId());
        comActActivityVO.setStatus(2);
        comActActivityVO.setHasPrize(0);
        comActActivityVO.setHaveIntegralReward(0);
        return communityService.addActivity(comActActivityVO);
    }
 
 
    @ApiOperation(value = "用户签到")
    @PostMapping("activitySignIn")
    public R jinhuiactivitySignIn(@RequestBody @Validated(AddGroup.class) ComActActRegistVO comActActRegistVO) {
        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
        comActActRegistVO.setUserId(loginUserInfo.getUserId());
        return communityService.jinhuiActivitySignIn(comActActRegistVO);
    }
 
    @ApiOperation(value = "报名/取消报名社区活动")
    @PutMapping("signactivity")
    public R signActivity(@RequestBody @Validated(AddGroup.class) SignactivityVO signactivityVO) {
        Long userId = this.getUserId();
        Long activityId = signactivityVO.getActivityId();
        signactivityVO.setUserId(userId);
        R r = communityService.jinhuiSignActivity(signactivityVO);
        if (R.isOk(r) && signactivityVO.getType().intValue() == 1) {
            R r2 = communityService.detailActivity(activityId, userId, null, null);
            ComActActivityVO comActActivityVO =
                    JSONObject.parseObject(JSONObject.toJSONString(r2.getData()), ComActActivityVO.class);
            Integer isVolunteer = JSONObject.parseObject(JSONObject.toJSONString(r.getData()), Integer.class);
            SysUserNoticeVO sysUserNoticeVO = new SysUserNoticeVO();
            sysUserNoticeVO.setUserId(userId);
            sysUserNoticeVO.setType(1);
            sysUserNoticeVO.setTitle("报名成功");
            sysUserNoticeVO.setBusinessType(1);
            sysUserNoticeVO.setBusinessTitle(comActActivityVO.getActivityName());
            Date beginAt = comActActivityVO.getBeginAt();
            sysUserNoticeVO.setBusinessContent(String.format("活动将于%tF %tT  开始,请按时参加", beginAt, beginAt));
            sysUserNoticeVO.setBusinessId(activityId);
            sysUserNoticeVO.setStatus(0);
            sysUserNoticeVO.setActivityType(comActActivityVO.getType());
            sysUserNoticeVO.setBusinessStatus(2);
            R r1 = userService.addNotice(sysUserNoticeVO);
            if (R.isOk(r1)) {
                log.info("新增用户报名社区活动通知成功【{}】", JSONObject.toJSONString(sysUserNoticeVO));
            }
        }
        return r;
    }
 
 
    @ApiOperation(value = "获取个人金汇币总币", response = JinhuiCoinGeneralTableVO.class)
    @GetMapping("goldCoin/getDetails" )
    public R coinTableGetDetails()
    {
        return jinhuiCommunityService.coinTableGetDetails( this.getUserId()+"");
    }
 
 
    @ApiOperation(value = "获取个人金汇币明细", response = JinhuiGoldCoinRecordVO.class)
    @GetMapping("/record/getList")
    public R recordGetList(@RequestParam("pageNum")  int pageNum,
                           @RequestParam("pageSize")  int pageSize)
    {
        return jinhuiCommunityService.recordGetList(pageNum,pageSize,this.getUserId()+"");
    }
 
    @ApiOperation(value = "获取个人金汇币明细详情", response = JinhuiGoldCoinRecordVO.class)
    @GetMapping("/jinhuiRecord/getDetails")
    public R recordGetDetails(@RequestParam("id") String id)
    {
        return jinhuiCommunityService.recordGetDetails(id);
    }
 
    @ApiOperation(value = "删除金汇币记录")
    @PostMapping("/record/expurgateData")
    public R recordExpurgateData(@RequestParam("id") String id)
    {
        return jinhuiCommunityService.recordExpurgateData(id);
    }
 
 
 
    /**
     * 办事指南_详情
     *
     * @param workGuideId
     * @return 详情
     */
    @ApiOperation(value = "办事指南_详情")
    @GetMapping("/detailworkguide")
    public R detailWorkGuide(@RequestParam("workGuideId") String workGuideId,
                             @RequestParam("communityId") String communityId)
    {
        return jinhuiCommunityService.detailWorkGuide(workGuideId,communityId);
    }
 
    /**
     * 办事指南_分页
     *
     * @param pageActWorkGuideDTO
     *            查询参数
     * @return 分页集合
     */
    @ApiOperation(value = "办事指南_分页")
    @PostMapping("/pageworkguide")
    public R pageWorkGuide(@RequestBody PageActWorkGuideDTO pageActWorkGuideDTO)
    {
        return jinhuiCommunityService.pageWorkGuide(pageActWorkGuideDTO);
    }
 
 
}