package com.panzhihua.applets.api;
|
|
import java.util.Date;
|
|
import javax.annotation.Resource;
|
|
import cn.hutool.core.util.StrUtil;
|
import com.panzhihua.common.constants.Constants;
|
import com.panzhihua.common.interfaces.OperLog;
|
import com.panzhihua.common.model.dtos.common.PageComPbCheckUnitDto;
|
import com.panzhihua.common.model.dtos.community.PageMemberForInviteDTO;
|
import com.panzhihua.common.model.dtos.partybuilding.*;
|
import com.panzhihua.common.model.vos.common.ComPbCheckUnitVo;
|
import com.panzhihua.common.model.vos.grid.EventGridCommunityAdminVO;
|
import com.panzhihua.common.service.community.CommunityService;
|
import com.panzhihua.common.service.partybuilding.ComPbCheckUnitFeign;
|
import com.panzhihua.common.service.partybuilding.PartyBuildingWestService;
|
import org.springframework.util.ObjectUtils;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.panzhihua.applets.weixin.CheckService;
|
import com.panzhihua.common.controller.BaseController;
|
import com.panzhihua.common.model.vos.LoginUserInfoVO;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.model.vos.partybuilding.*;
|
import com.panzhihua.common.model.vos.user.SysUserNoticeVO;
|
import com.panzhihua.common.service.partybuilding.PartyBuildingService;
|
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;
|
|
/**
|
* @program: springcloud_k8s_panzhihuazhihuishequ
|
* @description: 党群服务
|
* @author: huang.hongfa weixin hhf9596 qq 959656820
|
* @create: 2020-12-02 16:19
|
**/
|
@Slf4j
|
@RestController
|
@RequestMapping("/partybuilding/")
|
@Api(tags = {"党群服务"})
|
public class PartyBuildingApi extends BaseController {
|
@Resource
|
private PartyBuildingService partyBuildingService;
|
@Resource
|
private PartyBuildingWestService partyBuildingWestService;
|
@Resource
|
private UserService userService;
|
@Resource
|
private CheckService checkService;
|
@Resource
|
private ComPbCheckUnitFeign pbCheckUnitFeign;
|
@Resource
|
private CommunityService communityService;
|
|
public static void main(String[] args) {
|
Date date = new Date();
|
String dateFormat = String.format("%tF %tT ", date, date);
|
System.out.println(dateFormat);
|
}
|
|
@ApiOperation(value = "分页党建动态/政策文件", response = PartyBuildingComPbDynVO.class)
|
@PostMapping("pagedynamic")
|
public R pageYnamic(@RequestBody PartyBuildingComPbDynVO partyBuildingComPbDynVO) {
|
LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin();
|
if (loginUserInfo != null) {
|
partyBuildingComPbDynVO.setCommunityId(loginUserInfo.getCommunityId());
|
}
|
Integer type = partyBuildingComPbDynVO.getType();
|
if (ObjectUtils.isEmpty(type)) {
|
return R.fail("类型不能为空");
|
}
|
partyBuildingComPbDynVO.setStatus(2);
|
return partyBuildingWestService.pageYnamic(partyBuildingComPbDynVO);
|
}
|
|
@ApiOperation(value = "分页查询党员活动", response = PageActivityMembersVO.class)
|
@PostMapping("pageactivity")
|
public R pageActivity(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO) {
|
LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin();
|
if (loginUserInfo != null) {
|
partyBuildingActivityVO.setCommunityId(loginUserInfo.getCommunityId());
|
}
|
// Long communityId = this.getCommunityId();
|
// partyBuildingActivityVO.setCommunityId(communityId);
|
Integer status = partyBuildingActivityVO.getStatus();
|
if (null != status && status.intValue() == 4) {
|
partyBuildingActivityVO.setIsAppliets(1);
|
}
|
return partyBuildingService.pageActivity(partyBuildingActivityVO);
|
}
|
|
// @ApiOperation(value = "增加阅读记录")
|
// @PostMapping("adddynuser")
|
// public R addDynUser(@RequestBody PartyBuildingComPbDynVO partyBuildingComPbDynVO) {
|
// Long id = partyBuildingComPbDynVO.getId();
|
// if (ObjectUtils.isEmpty(id)||0==id) {
|
// return R.fail("主键id不能为空");
|
// }
|
// Long userId = this.getUserId();
|
// ComPbDynUserVO comPbDynUserVO=new ComPbDynUserVO();
|
// comPbDynUserVO.setCreateAt(new Date());
|
// comPbDynUserVO.setDynId(id);
|
// comPbDynUserVO.setUserId(userId);
|
// return partyBuildingService.addDynUser(comPbDynUserVO);
|
// }
|
|
@ApiOperation(value = "动态/政策文件详情", response = PartyBuildingComPbDynVO.class)
|
@GetMapping("infodynamic")
|
public R infoYnamic(@RequestParam("id") Long id) {
|
R r = partyBuildingWestService.infoYnamic(id);
|
if (R.isOk(r)) {
|
if (ObjectUtils.isEmpty(id) || 0 == id) {
|
return R.fail("主键id不能为空");
|
}
|
Long userId = null;
|
LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin();
|
if (loginUserInfo != null) {
|
userId = loginUserInfo.getUserId();
|
}
|
|
PartyBuildingComPbDynVO partyBuildingComPbDynVO =
|
JSONObject.parseObject(JSONObject.toJSONString(r.getData()), PartyBuildingComPbDynVO.class);
|
if (userId != null) {
|
ComPbDynUserVO comPbDynUserVO = new ComPbDynUserVO();
|
comPbDynUserVO.setCreateAt(new Date());
|
comPbDynUserVO.setDynId(id);
|
comPbDynUserVO.setUserId(userId);
|
R r1 = partyBuildingWestService.addDynUser(comPbDynUserVO);
|
if (R.isOk(r1)) {
|
partyBuildingComPbDynVO.setIsAdd(1);
|
} else {
|
partyBuildingComPbDynVO.setIsAdd(0);
|
}
|
} else {
|
partyBuildingComPbDynVO.setIsAdd(0);
|
}
|
return R.ok(partyBuildingComPbDynVO);
|
}
|
return r;
|
}
|
|
@ApiOperation(value = "分页党委查询", response = PartyCommitteeVO.class)
|
@PostMapping("pagepartycommittee")
|
public R pagePartyCommittee(@RequestBody PartyCommitteeVO partyCommitteeVO) {
|
// Long communityId =this.getCommunityId();
|
// partyCommitteeVO.setCommunityId(communityId);
|
LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin();
|
if (loginUserInfo != null) {
|
partyCommitteeVO.setCommunityId(loginUserInfo.getCommunityId());
|
}
|
return partyBuildingService.pagePartyCommittee(partyCommitteeVO);
|
}
|
|
@ApiOperation(value = "活动详情", response = PartyBuildingActivityVO.class)
|
@GetMapping("activityinfo")
|
public R activityinfo(@RequestParam("id") Long id) {
|
Long userId = this.getUserId();
|
return partyBuildingService.activityinfo(id, userId);
|
}
|
|
@ApiOperation(value = "党员活动人员参入列表", response = PartyBuildingMemberVO.class)
|
@GetMapping("listpartybuildingmember")
|
public R listPartyBuildingMember(@RequestParam("id") Long id) {
|
return partyBuildingService.listPartyBuildingMember(id);
|
}
|
|
@ApiOperation(value = "报名、取消报名党员活动")
|
@PutMapping("activitysignup")
|
public R putActivitySignUp(@RequestBody @Validated ActivitySignUpDTO activitySignUpDTO) {
|
Long userId = this.getUserId();
|
activitySignUpDTO.setUserId(userId);
|
Long id = activitySignUpDTO.getId();
|
R r = partyBuildingService.putActivitySignUp(activitySignUpDTO);
|
if (R.isOk(r) && activitySignUpDTO.getType().intValue() == 1) {
|
R r2 = partyBuildingService.activityinfo(id, userId);
|
PartyBuildingActivityVO partyBuildingActivityVO =
|
JSONObject.parseObject(JSONObject.toJSONString(r2.getData()), PartyBuildingActivityVO.class);
|
SysUserNoticeVO sysUserNoticeVO = new SysUserNoticeVO();
|
sysUserNoticeVO.setUserId(userId);
|
sysUserNoticeVO.setType(1);
|
sysUserNoticeVO.setTitle("报名成功");
|
sysUserNoticeVO.setBusinessType(2);
|
sysUserNoticeVO.setBusinessTitle(partyBuildingActivityVO.getName());
|
Date activityTimeBegin = partyBuildingActivityVO.getActivityTimeBegin();
|
sysUserNoticeVO
|
.setBusinessContent(String.format("活动将于 %tF %tT 开始,请按时参加", activityTimeBegin, activityTimeBegin));
|
sysUserNoticeVO.setBusinessId(id);
|
sysUserNoticeVO.setStatus(0);
|
sysUserNoticeVO.setBusinessStatus(2);
|
R r1 = userService.addNotice(sysUserNoticeVO);
|
if (R.isOk(r1)) {
|
log.info("新增用户报名党建活动通知成功【{}】", JSONObject.toJSONString(sysUserNoticeVO));
|
}
|
}
|
return r;
|
}
|
|
@ApiOperation(value = "创建党员活动")
|
@PostMapping("activityinfo")
|
public R addActivityinfo(@RequestBody @Validated(AddGroup.class) ComPbActivityDTO comPbActivityDTO) {
|
// 微信内容审核
|
String msg = comPbActivityDTO.getRichText();
|
if (StrUtil.isNotBlank(msg)) {
|
String result = checkService.checkMessageBy(msg, this.getLoginUserInfo().getOpenid(),this.getAppId());
|
if (StrUtil.isNotBlank(result)) {
|
return R.fail(501, "填写内容存在 " + result + " 违规信息");
|
}
|
}
|
LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
|
Long userId = loginUserInfo.getUserId();
|
Long communityId = loginUserInfo.getCommunityId();
|
comPbActivityDTO.setCreateBy(userId);
|
comPbActivityDTO.setCommunityId(communityId);
|
Date date = new Date();
|
comPbActivityDTO.setReleaseTime(date);
|
Date activityTimeBegin = comPbActivityDTO.getActivityTimeBegin();
|
Date activityTimeEnd = comPbActivityDTO.getActivityTimeEnd();
|
boolean before = activityTimeEnd.before(activityTimeBegin);
|
if (before) {
|
return R.fail("活动结束时间不能早于开始时间");
|
}
|
// 1 待发布 2 未开始 3 报名中 4 进行中 5 已结束 6 已取消
|
int status = 2;
|
Date enrollTimeBegin = comPbActivityDTO.getEnrollTimeBegin();
|
Date enrollTimeEnd = comPbActivityDTO.getEnrollTimeEnd();
|
if (enrollTimeEnd.before(enrollTimeBegin)) {
|
return R.fail("报名结束时间不能早于报名开始时间");
|
}
|
if (enrollTimeBegin.before(date)) {
|
status = 3;
|
}
|
comPbActivityDTO.setStatus(status);
|
return partyBuildingService.addActivityApplets(comPbActivityDTO);
|
}
|
|
@ApiOperation(value = "分页查询服务团队成员", response = ComPbServiceTeamVO.class)
|
@PostMapping("pageserviceteam")
|
public R pageServiceTeam(@RequestBody PageComPbServiceTeamDTO pageComPbServiceTeamDTO) {
|
LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin();
|
if (loginUserInfo != null) {
|
pageComPbServiceTeamDTO.setCommunityId(loginUserInfo.getCommunityId());
|
}
|
// pageComPbServiceTeamDTO.setCommunityId(this.getCommunityId());
|
return partyBuildingService.pageServiceTeam(pageComPbServiceTeamDTO);
|
}
|
|
@ApiOperation(value = "社区所有启用的党组织列表", response = PartyOrganizationVO.class)
|
@PostMapping("listpartyorganization")
|
public R listPartyOrganization(@RequestBody ComListPartyDTO comListPartyDTO) {
|
// Long communityId = this.getCommunityId();
|
// log.info("社区所有党组织社区id【{}】", communityId);
|
// if(communityId != null){
|
// comListPartyDTO.setCommunityId(communityId);
|
// }
|
return partyBuildingService.listPartyOrganizationByApp(comListPartyDTO);
|
}
|
|
@OperLog(operModul = "党员管理", operType = 2)
|
@ApiOperation(value = "编辑党员")
|
@PutMapping("updatepartybuildingmember")
|
public R updatePartyBuildingMember(@RequestBody PartyBuildingMemberVO partyBuildingMemberVO) {
|
return partyBuildingService.updatePartyBuildingMember(partyBuildingMemberVO);
|
}
|
|
@ApiOperation(value = "查询社区下所有党员报到单位", response = ComPbCheckUnitVo.class)
|
@PostMapping("/comPbCheckUnit/list")
|
public R getPbCheckUnitList(@RequestBody PageComPbCheckUnitDto comPbCheckUnit) {
|
if (comPbCheckUnit.getCommunityId() == null) {
|
comPbCheckUnit.setCommunityId(this.getCommunityId());
|
}
|
return pbCheckUnitFeign.queryByList(comPbCheckUnit);
|
}
|
|
@OperLog(operModul = "党员管理", operType = 1)
|
@ApiOperation(value = "新增党员")
|
@PostMapping("addpartybuildingmember")
|
public R addPartyBuildingMember(@RequestBody PartyBuildingMemberVO partyBuildingMemberVO) {
|
Long userId = this.getUserId();
|
partyBuildingMemberVO.setUserId(userId);
|
R r = partyBuildingService.addPartyBuildingMember(partyBuildingMemberVO);
|
if (R.isOk(r)) {
|
R r1 = userService.updateUserPartyStatus(this.getUserId());
|
}
|
return r;
|
}
|
|
@OperLog(operModul = "党员管理", operType = 1)
|
@ApiOperation(value = "分页查询党员列表",response = PartyBuildingMemberVO.class)
|
@PostMapping("/page/member")
|
public R pageMember(@RequestBody PartyBuildingMemberVO partyBuildingMemberVO) {
|
//partyBuildingMemberVO.setCommunityId(this.getCommunityId());
|
return partyBuildingService.getPagePbMember(partyBuildingMemberVO);
|
}
|
|
@PostMapping("/getProject/list")
|
public R getProjectList(@RequestBody ProjectVO projectVO){
|
return partyBuildingService.getProjectList(projectVO);
|
}
|
|
@PostMapping("/add/project")
|
public R addProject(@RequestBody ProjectVO projectVO){
|
return partyBuildingService.addProject(projectVO);
|
}
|
|
@PostMapping("/update/project")
|
public R updateProject(@RequestBody ProjectVO projectVO){
|
return partyBuildingService.updateProject(projectVO);
|
}
|
|
@PostMapping("/delete/project")
|
public R deleteProject(@RequestBody ProjectVO projectVO){
|
return partyBuildingService.deleteProject(projectVO);
|
}
|
|
@ApiOperation(value = "分页查询注册党员列表",response = PartyBuildingMemberVO.class)
|
@PostMapping("/page/registerMember")
|
public R pageRegisterMember(@RequestBody PageMemberForInviteDTO pageMemberForInviteDTO) {
|
pageMemberForInviteDTO.setAppid(this.getAppId());
|
return partyBuildingService.pageRegisterMember(pageMemberForInviteDTO);
|
}
|
|
@ApiOperation(value = "查询所有社区列表", response = EventGridCommunityAdminVO.class)
|
@GetMapping("/community/list")
|
public R getCommunityLists() {
|
return communityService.getCommunityLists();
|
}
|
|
@ApiOperation(value = "查询当前用户党员信息")
|
@GetMapping("/getPartyMember")
|
public R getPartyMember(@RequestParam("type")Integer type){
|
LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
|
if (StrUtil.isEmpty(loginUserInfo.getPhone())){
|
return R.fail("请先实名认证");
|
}
|
return partyBuildingService.getPartyMember(loginUserInfo.getPhone(),type);
|
}
|
@ApiOperation(value = "查询报道单位详情")
|
@GetMapping("/comPbCheckUnit/detailByPhone")
|
public R detailById(@RequestParam("phone") String phone) {
|
return partyBuildingService.detailByPhone(phone);
|
}
|
@ApiOperation(value = "党员详情",response =PartyBuildingMemberVO.class)
|
@GetMapping("/memberDetail")
|
public R memberDetail(@RequestParam("id")Long id){
|
return partyBuildingService.memberDetail(id);
|
}
|
}
|