package com.panzhihua.applets.api;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.panzhihua.common.controller.BaseController;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.model.vos.community.ComActActivityVO;
|
import com.panzhihua.common.model.vos.community.SignactivityVO;
|
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("/JinHui/")
|
@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 = "报名/取消报名社区活动")
|
@PutMapping("signactivity")
|
public R signActivity(@RequestBody @Validated(AddGroup.class) SignactivityVO signactivityVO) {
|
Long userId = this.getUserId();
|
Long activityId = signactivityVO.getActivityId();
|
signactivityVO.setUserId(userId);
|
R r = jinhuiCommunityService.signActivity(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;
|
}
|
|
|
|
}
|