From 08eefab8f0b04018dc62928ec2191bcae9d3e7d0 Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期五, 15 十月 2021 16:25:01 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/test' into test --- springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComActWarehouseDonatesApi.java | 126 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 126 insertions(+), 0 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComActWarehouseDonatesApi.java b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComActWarehouseDonatesApi.java new file mode 100644 index 0000000..59c7517 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComActWarehouseDonatesApi.java @@ -0,0 +1,126 @@ +package com.panzhihua.applets.api; + +import static java.util.Objects.isNull; +import static java.util.Objects.nonNull; + +import javax.annotation.Resource; +import javax.validation.Valid; +import javax.validation.constraints.NotNull; + +import org.hibernate.validator.constraints.Length; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import com.panzhihua.common.constants.HttpStatus; +import com.panzhihua.common.controller.BaseController; +import com.panzhihua.common.model.dtos.community.warehouse.ComActWarehouseDonatesDTO; +import com.panzhihua.common.model.dtos.community.warehouse.PageDonatesDTO; +import com.panzhihua.common.model.vos.LoginUserInfoVO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseDonatesVO; +import com.panzhihua.common.service.community.CommunityService; +import com.panzhihua.common.validated.AddGroup; +import com.panzhihua.common.validated.PutGroup; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; + +/** + * @title: ComActWarehouseApi + * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 + * @description: 爱心义仓捐赠小程序相关接口 + * @author: hans + * @date: 2021/10/11 15:45 + */ + +@Slf4j +@Api(tags = {"爱心义仓捐赠相关"}) +@RestController +@RequestMapping("/warehouse/donates") +public class ComActWarehouseDonatesApi extends BaseController { + + @Resource + private CommunityService communityService; + + @ApiOperation(value = "分页查询捐赠物品", response = ComActWarehouseDonatesVO.class) + @PostMapping("/page") + public R pageDonates(@RequestBody PageDonatesDTO pageDonatesDTO) { + LoginUserInfoVO loginUserInfo = getLoginUserInfoSureNoLogin(); + Integer isWhich = pageDonatesDTO.getIsWhich(); + if (isNull(isWhich)) { + return R.fail("缺少isWhich参数"); + } + if (isNull(pageDonatesDTO.getCommunityId())) { + return R.fail("社区id不能为空"); + } + if (isNull(loginUserInfo) && isWhich.intValue() != 3) { + return R.fail(HttpStatus.UNAUTHORIZED, "未登录"); + } + if (isWhich.intValue() == 2 && loginUserInfo.getIsCommunityWorker().intValue() != 1) { + return R.fail("非社区工作人员"); + } + if (nonNull(loginUserInfo)) { + pageDonatesDTO.setUserId(loginUserInfo.getUserId()); + } + return communityService.pageDonates(pageDonatesDTO); + } + + @ApiOperation(value = "新增物品捐赠") + @PostMapping("/add") + public R addDonates(@RequestBody @Validated(AddGroup.class) ComActWarehouseDonatesDTO comActWarehouseDonatesDTO) { + LoginUserInfoVO loginUserInfo = getLoginUserInfo(); + Long userId = loginUserInfo.getUserId(); + comActWarehouseDonatesDTO.setCommunityId(loginUserInfo.getCommunityId()); + comActWarehouseDonatesDTO.setRegisterBy(userId); + comActWarehouseDonatesDTO.setUserId(userId); + comActWarehouseDonatesDTO.setName(loginUserInfo.getName()); + comActWarehouseDonatesDTO.setPhone(loginUserInfo.getPhone()); + return communityService.addDonates(comActWarehouseDonatesDTO); + } + + @ApiOperation(value = "查看物品捐赠详情", response = ComActWarehouseDonatesVO.class) + @ApiImplicitParam(name = "isWhich", value = "1.个人中心捐赠详情 2.捐赠物品管理详情 3.爱心义仓捐赠列表详情", required = true) + @GetMapping("/get") + public R getDonates(@RequestParam("donatesId") Long donatesId, @RequestParam("isWhich") Integer isWhich) { + LoginUserInfoVO loginUserInfo = getLoginUserInfoSureNoLogin(); + if (isNull(isWhich)) { + return R.fail("缺少isWhich参数"); + } + if (isNull(loginUserInfo) && isWhich.intValue() != 3) { + return R.fail(HttpStatus.UNAUTHORIZED, "未登录"); + } + if (isWhich.intValue() == 2 && loginUserInfo.getIsCommunityWorker().intValue() != 1) { + return R.fail("非社区工作人员"); + } + Long userId = 0L; + if (nonNull(loginUserInfo)) { + userId = loginUserInfo.getUserId(); + } + return communityService.getDonates(donatesId, isWhich, userId); + } + + @ApiOperation(value = "捐赠物品签收") + @PostMapping("/signing") + public R signingDonates(@RequestBody @Validated(PutGroup.class) ComActWarehouseDonatesDTO comActWarehouseDonatesDTO) { + LoginUserInfoVO loginUserInfo = getLoginUserInfo(); + Integer isCommunityWorker = loginUserInfo.getIsCommunityWorker(); + if (isCommunityWorker.intValue() == 2) { + return R.fail("非社区工作人员"); + } + comActWarehouseDonatesDTO.setSigningBy(loginUserInfo.getUserId()); + return communityService.signingDonates(comActWarehouseDonatesDTO); + } + + @ApiOperation(value = "用户取消捐赠") + @GetMapping("/cancel") + public R cancelDonates(@RequestParam("donatesId") Long donatesId) { + return communityService.cancelDonates(donatesId, getUserId()); + } +} -- Gitblit v1.7.1