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