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/service_community/src/main/java/com/panzhihua/service_community/entity/ComActWarehouseBase.java | 82 + springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActWarehouseBaseService.java | 15 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActWarehouseOperationService.java | 16 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActWarehouseOperationMapper.xml | 46 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/util/QRCodeUtil.java | 205 ++ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActWarehouseOperationDao.java | 44 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActWarehouseBaseDao.java | 16 springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 2 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/warehouse/ExportDonatesDTO.java | 41 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActWarehouseApplyDao.java | 51 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActWarehouseApplyService.java | 54 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ExportDonatesVO.java | 72 springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActWarehouseApplyApi.java | 213 ++ springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ApplyStatistics.java | 42 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/DonatesStatisticsVO.java | 44 springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComActWarehouseApplyApi.java | 135 + springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ComActWarehouseDonatesVO.java | 82 + springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/warehouse/PageDonatesDTO.java | 57 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWarehouseApplyServiceImpl.java | 92 + springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActWarehouseBaseApi.java | 58 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComActWarehouseDonates.java | 135 + springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWarehouseDonatesServiceImpl.java | 351 ++++ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWarehouseBaseServiceImpl.java | 22 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComPbServiceTeam.java | 80 + springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ComActWarehouseApplyExcelVO.java | 101 + springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/resources/mapper/ComPbMemberRoleDOMapper.xml | 4 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/property/CommonPage.java | 4 springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActWarehouseDonatesApi.java | 198 ++ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActWarehouseOperationApi.java | 86 + springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActWarehouseDonatesDao.java | 73 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/QRCodeVO.java | 17 springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComActWarehouseDonatesApi.java | 126 + springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComPbServiceTeamMapper.xml | 19 springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComActWarehouseOperationApi.java | 46 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActWarehouseApplyApi.java | 126 + springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/WarehouseDonatesExcelListen.java | 81 + springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActWarehouseApplyMapper.xml | 64 springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbServiceTeamServiceImpl.java | 23 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/LoginUserInfoVO.java | 3 springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbMemberRoleDAO.java | 6 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/warehouse/ComActWarehouseApplyDTO.java | 54 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java | 245 +++ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActWarehouseDonatesService.java | 89 + springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ComActWarehouseApplyVO.java | 179 ++ springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/WarehouseDonatesExcelVO.java | 71 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWarehouseOperationServiceImpl.java | 34 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComPbServiceTeamDao.java | 16 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComActWarehouseOperation.java | 73 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActWarehouseDonatesMapper.xml | 119 + springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActWarehouseBaseMapper.xml | 15 springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComActWarehouseBaseApi.java | 43 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActWarehouseBaseApi.java | 82 + springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ComActWarehouseOperationVO.java | 90 + springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComActWarehouseApply.java | 144 + springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/JWTAuthenticationTokenFilter.java | 2 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/warehouse/ComActWarehouseDonatesDTO.java | 73 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ComActWarehouseBaseVO.java | 66 springcloud_k8s_panzhihuazhihuishequ/service_community/pom.xml | 12 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActWarehouseDonatesApi.java | 182 ++ 59 files changed, 4,515 insertions(+), 6 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComActWarehouseApplyApi.java b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComActWarehouseApplyApi.java new file mode 100644 index 0000000..5d97c50 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComActWarehouseApplyApi.java @@ -0,0 +1,135 @@ +package com.panzhihua.applets.api; + + +import com.panzhihua.common.controller.BaseController; +import com.panzhihua.common.model.dtos.property.CommonPage; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.warehouse.ApplyStatistics; +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseApplyVO; +import com.panzhihua.common.model.vos.community.warehouse.QRCodeVO; +import com.panzhihua.common.service.community.CommunityService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; + +/** + * 物品申请表(ComActWarehouseApply)表控制层 + * + * @author makejava + * @since 2021-10-09 17:13:53 + */ +@Slf4j +@Api(tags = {"爱心义仓申领记录接口"}) +@RestController +@RequestMapping("comActWarehouseApply") +public class ComActWarehouseApplyApi extends BaseController { + /** + * 服务对象 + */ + @Resource + private CommunityService communityService; + + /** + * 分页查询所有数据 + * + * @param commonPage 查询实体 + * @return 所有数据 + */ + @ApiOperation(value = "分页查询所有数据",response = ComActWarehouseApplyVO.class) + @PostMapping("queryAll") + public R selectAll(@RequestBody CommonPage commonPage) { + commonPage.setParamId(this.getCommunityId()); + return this.communityService.comActWarehouseApplySelectAll(commonPage); + } + + /** + * 统计查询 + * + * @return 所有数据 + */ + @ApiOperation(value = "统计查询",response = ApplyStatistics.class) + @GetMapping("selectStatics") + public R selectAll() { + return this.communityService.comActWarehouseApplySelectAll(this.getCommunityId()); + } + + /** + * 通过主键查询单条数据 + * + * @param id 主键 + * @return 单条数据 + */ + @ApiOperation(value = "通过主键查询单条数据",response = ComActWarehouseApplyVO.class) + @GetMapping("{id}") + public R selectOne(@PathVariable("id") Integer id) { + return this.communityService.comActWarehouseApplySelectOne(id); + } + + /** + * 新增数据 + * + * @param comActWarehouseApply 实体对象 + * @return 新增结果 + */ + @ApiOperation("新增数据") + @PostMapping + public R insert(@RequestBody ComActWarehouseApplyVO comActWarehouseApply) { + comActWarehouseApply.setCommunityId(this.getCommunityId()); + comActWarehouseApply.setCreateTime(new Date()); + comActWarehouseApply.setApplyUserId(this.getUserId()); + comActWarehouseApply.setStatus(ComActWarehouseApplyVO.status.dcl); + comActWarehouseApply.setApplyName(this.getLoginUserInfo().getName()!=null?this.getLoginUserInfo().getName():""); + comActWarehouseApply.setApplyPhone(this.getLoginUserInfo().getPhone()!=null?this.getLoginUserInfo().getPhone():""); + return this.communityService.comActWarehouseApplyInsert(comActWarehouseApply); + } + + /** + * 修改数据 + * + * @param comActWarehouseApply 实体对象 + * @return 修改结果 + */ + @ApiOperation("修改数据") + @PostMapping("/update") + public R update(@RequestBody ComActWarehouseApplyVO comActWarehouseApply) { + if(comActWarehouseApply.getStatus().equals(ComActWarehouseApplyVO.status.yqx)){ + comActWarehouseApply.setCancelTime(new Date()); + } + if(comActWarehouseApply.getStatus().equals(ComActWarehouseApplyVO.status.dlq)||comActWarehouseApply.getStatus().equals(ComActWarehouseApplyVO.status.ybh)){ + comActWarehouseApply.setSolveTime(new Date()); + comActWarehouseApply.setSolveUserId(this.getUserId()); + } + if(comActWarehouseApply.getStatus().equals(ComActWarehouseApplyVO.status.ylq)){ + comActWarehouseApply.setActualTime(new Date()); + comActWarehouseApply.setWriteOffUserId(this.getUserId()); + } + return this.communityService.comActWarehouseApplyUpdate(comActWarehouseApply); + } + + /** + * 删除数据 + * + * @param id 主键结合 + * @return 删除结果 + */ + @ApiOperation("删除数据") + @GetMapping("del") + public R delete(@RequestParam("id") Long id) { + return this.communityService.comActWarehouseApplyDelete(id); + } + + /** + * 生成二维码 + * @param qrCodeVO + * @return + */ + @ApiOperation("生成二维码") + @PostMapping("/getQRCode") + public R getQRCode(@RequestBody QRCodeVO qrCodeVO){ + return this.communityService.comActWarehouseApplyGetQRCode(qrCodeVO); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComActWarehouseBaseApi.java b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComActWarehouseBaseApi.java new file mode 100644 index 0000000..6f0e450 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComActWarehouseBaseApi.java @@ -0,0 +1,43 @@ +package com.panzhihua.applets.api; + + +import com.panzhihua.common.controller.BaseController; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseBaseVO; +import com.panzhihua.common.service.community.CommunityService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * 义仓基础设置表(ComActWarehouseBase)表控制层 + * + * @author makejava + * @since 2021-10-11 09:21:53 + */ +@Slf4j +@Api(tags = {"爱心义仓基础记录接口"}) +@RestController +@RequestMapping("comActWarehouseBase") +public class ComActWarehouseBaseApi extends BaseController { + /** + * 服务对象 + */ + @Resource + private CommunityService communityService; + + /** + * 通过社区id查询单条数据 + * + * @return 单条数据 + */ + @ApiOperation(value = "查询单条数据",response = ComActWarehouseBaseVO.class) + @GetMapping + public R selectOne() { + return this.communityService.comActWarehouseBaseSelectOne(this.getCommunityId()); + } + +} 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()); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComActWarehouseOperationApi.java b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComActWarehouseOperationApi.java new file mode 100644 index 0000000..4b6b3c7 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComActWarehouseOperationApi.java @@ -0,0 +1,46 @@ +package com.panzhihua.applets.api; + + +import com.panzhihua.common.controller.BaseController; +import com.panzhihua.common.model.dtos.property.CommonPage; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseBaseVO; +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseOperationVO; +import com.panzhihua.common.service.community.CommunityService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * 义仓基础设置表(ComActWarehouseBase)表控制层 + * + * @author makejava + * @since 2021-10-11 09:21:53 + */ +@Slf4j +@Api(tags = {"爱心义仓爱心接力接口"}) +@RestController +@RequestMapping("comActWarehouseOperation") +public class ComActWarehouseOperationApi extends BaseController { + /** + * 服务对象 + */ + @Resource + private CommunityService communityService; + + /** + * 分页 + * + * @return + */ + @ApiOperation(value = "分页",response = ComActWarehouseOperationVO.class) + @PostMapping("queryAll") + public R queryAll(@RequestBody CommonPage commonPage) { + commonPage.setCommunityId(this.getCommunityId()); + return this.communityService.comActWarehouseOperationSelectAll(commonPage); + } + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/WarehouseDonatesExcelListen.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/WarehouseDonatesExcelListen.java new file mode 100644 index 0000000..724ca09 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/WarehouseDonatesExcelListen.java @@ -0,0 +1,81 @@ +package com.panzhihua.common.listen; + +import static java.util.Objects.isNull; +import static java.util.Objects.nonNull; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.panzhihua.common.exceptions.ServiceException; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.warehouse.WarehouseDonatesExcelVO; +import com.panzhihua.common.service.community.CommunityService; +import com.panzhihua.common.utlis.StringUtils; + +import lombok.extern.slf4j.Slf4j; + +/** + * @title: WarehouseDonatesExcelListen + * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 + * @description: 爱心义仓物品捐赠导入监听 + * @author: hans + * @date: 2021/10/09 17:45 + */ +@Slf4j +public class WarehouseDonatesExcelListen extends AnalysisEventListener<WarehouseDonatesExcelVO> { + + private static final int BATCH_COUNT = 3000; + private CommunityService communityService; + private Long communityId; + private Long registerBy; + private List<WarehouseDonatesExcelVO> list = new ArrayList<>(); + + public WarehouseDonatesExcelListen(CommunityService communityService, Long communityId, Long registerBy) { + this.communityService = communityService; + this.communityId = communityId; + this.registerBy = registerBy; + } + + @Override + public void invoke(WarehouseDonatesExcelVO warehouseDonatesExcelVO, AnalysisContext analysisContext) { + Integer quantity = warehouseDonatesExcelVO.getQuantity(); + if (!StringUtils.isEmpty(warehouseDonatesExcelVO.getItem()) && nonNull(quantity)) { + if (quantity <= 0) { + throw new ServiceException("捐赠数量有误"); + } + if (StringUtils.isEmpty(warehouseDonatesExcelVO.getName()) + || isNull(warehouseDonatesExcelVO.getIsAnonymous())) { + warehouseDonatesExcelVO.setIsAnonymous("是"); + } + if (isNull(warehouseDonatesExcelVO.getSigningAt())) { + Date nowDate = new Date(); + warehouseDonatesExcelVO.setSigningAt(nowDate); + warehouseDonatesExcelVO.setRegisterAt(nowDate); + } else { + warehouseDonatesExcelVO.setRegisterAt(warehouseDonatesExcelVO.getSigningAt()); + } + warehouseDonatesExcelVO.setCommunityId(this.communityId); + warehouseDonatesExcelVO.setStatus(2); + warehouseDonatesExcelVO.setSurplusQuantity(quantity); + warehouseDonatesExcelVO.setRegisterBy(this.registerBy); + warehouseDonatesExcelVO.setSigningBy(this.registerBy); + list.add(warehouseDonatesExcelVO); + // 达到BATCH_COUNT了,需要去存储一次数据库,防止数据几万条数据在内存,容易OOM + if (list.size() >= BATCH_COUNT) { + doAfterAllAnalysed(analysisContext); + list.clear(); + } + } + } + + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + R r = this.communityService.batchImportWarehouseDonates(list); + if (!R.isOk(r)) { + throw new ServiceException(r.getMsg()); + } + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/warehouse/ComActWarehouseApplyDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/warehouse/ComActWarehouseApplyDTO.java new file mode 100644 index 0000000..61d21d3 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/warehouse/ComActWarehouseApplyDTO.java @@ -0,0 +1,54 @@ +package com.panzhihua.common.model.dtos.community.warehouse; + +import java.util.List; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.Pattern; + +import org.hibernate.validator.constraints.Length; + +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseApplyVO; +import com.panzhihua.common.validated.AddGroup; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @title: ComActWarehouseApplyDTO + * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 + * @description: 后台物品领用信息 + * @author: hans + * @date: 2021/10/13 14:33 + */ +@Data +@ApiModel("后台物品领用信息") +public class ComActWarehouseApplyDTO { + + @ApiModelProperty("领用人") + @Length(groups = {AddGroup.class}, max = 10, message = "领用人最多支持10个字符") + private String applyName; + + @ApiModelProperty("联系电话") + @Pattern(groups = {AddGroup.class}, message = "联系电话格式错误", regexp = "^(13[0-9]|14[01456879]|15[0-3,5-9]|16[2567]|17[0-8]|18[0-9]|19[0-3,5-9])\\d{8}$") + private String applyPhone; + + @ApiModelProperty("领用物品,传入goodsId,goodsNum即可") + @NotEmpty(groups = {AddGroup.class}, message = "领用物品不能为空") + private List<ComActWarehouseApplyVO> applyItems; + + @ApiModelProperty("遇到的困难") + @NotBlank(groups = {AddGroup.class}, message = "困难描述不可为空") + @Length(groups = {AddGroup.class}, max = 100, message = "遇到的困难最多支持100个字符") + private String reason; + + @ApiModelProperty("领用图片") + private String receiveUrl; + + @ApiModelProperty(value = "操作人id", hidden = true) + private Long operateUserId; + + @ApiModelProperty(value = "社区id", hidden = true) + private Long communityId; +} \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/warehouse/ComActWarehouseDonatesDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/warehouse/ComActWarehouseDonatesDTO.java new file mode 100644 index 0000000..08350ff --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/warehouse/ComActWarehouseDonatesDTO.java @@ -0,0 +1,73 @@ +package com.panzhihua.common.model.dtos.community.warehouse; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; + +import org.hibernate.validator.constraints.Length; + +import com.panzhihua.common.validated.AddGroup; +import com.panzhihua.common.validated.PutGroup; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @title: ComActWarehouseDonatesDTO + * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 + * @description: 新增/编辑物品捐赠 + * @author: hans + * @date: 2021/10/11 14:18 + */ +@Data +@ApiModel("新增/编辑物品捐赠") +public class ComActWarehouseDonatesDTO { + + @ApiModelProperty("捐赠物品ID") + @NotNull(groups = {PutGroup.class}, message = "捐赠物品ID不能为空") + private Long id; + + @ApiModelProperty("捐赠用户") + @Length(groups = {AddGroup.class}, max = 10, message = "捐赠用户最多支持10个字符") + private String name; + + @ApiModelProperty("联系电话") + @Pattern(groups = {AddGroup.class}, message = "联系电话格式错误", regexp = "^(13[0-9]|14[01456879]|15[0-3,5-9]|16[2567]|17[0-8]|18[0-9]|19[0-3,5-9])\\d{8}$") + private String phone; + + @ApiModelProperty("捐赠物品") + @NotBlank(groups = {AddGroup.class}, message = "捐赠物品不能为空") + @Length(groups = {AddGroup.class}, max = 10, message = "捐赠物品名称最多支持10个字符") + private String item; + + @ApiModelProperty("捐赠数量") + @NotNull(groups = {AddGroup.class}, message = "捐赠数量不能为空") + @Min(1) + private Integer quantity; + + @ApiModelProperty("物品图片") + @NotBlank(groups = {AddGroup.class}, message = "物品图片不能为空") + private String image; + + @ApiModelProperty("匿名捐赠(1.是 2.否)") + @NotNull(groups = {AddGroup.class}, message = "是否匿名捐赠不能为空") + private Integer isAnonymous; + + @ApiModelProperty("留言信息") + @Length(groups = {AddGroup.class}, max = 100, message = "留言信息最多支持100个字符") + private String message; + + @ApiModelProperty(value = "社区id", hidden = true) + private Long communityId; + + @ApiModelProperty(value = "登记人", hidden = true) + private Long registerBy; + + @ApiModelProperty(value = "捐赠人用户绑定id", hidden = true) + private Long userId; + + @ApiModelProperty(value = "签收人", hidden = true) + private Long signingBy; +} \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/warehouse/ExportDonatesDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/warehouse/ExportDonatesDTO.java new file mode 100644 index 0000000..751dab4 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/warehouse/ExportDonatesDTO.java @@ -0,0 +1,41 @@ +package com.panzhihua.common.model.dtos.community.warehouse; + +import java.util.Date; +import java.util.List; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @title: ExportDonatesDTO + * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 + * @description: 捐赠物品导出请求参数 + * @author: hans + * @date: 2021/10/11 11:09 + */ +@Data +@ApiModel("捐赠物品导出请求参数") +public class ExportDonatesDTO { + + @ApiModelProperty(value = "批量勾选时传参数组") + private List<Long> ids; + + @ApiModelProperty("关键词") + private String keyword; + + @ApiModelProperty("捐赠状态(1.待签收 2.已签收 3.已取消)") + private Integer status; + + @ApiModelProperty("是否匿名捐赠(1.是 2.否)") + private Integer isAnonymous; + + @ApiModelProperty("签收时间-起") + private Date signingAtBegin; + + @ApiModelProperty("签收时间-止") + private Date signingAtEnd; + + @ApiModelProperty(value = "社区id", hidden = true) + private Long communityId; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/warehouse/PageDonatesDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/warehouse/PageDonatesDTO.java new file mode 100644 index 0000000..530b42d --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/warehouse/PageDonatesDTO.java @@ -0,0 +1,57 @@ +package com.panzhihua.common.model.dtos.community.warehouse; + +import java.util.Date; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @title: PageDonatesDTO + * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 + * @description: 分页查询捐赠物品请求参数 + * @author: hans + * @date: 2021/10/11 13:56 + */ +@Data +@ApiModel("分页查询捐赠物品请求参数") +public class PageDonatesDTO { + + @ApiModelProperty("关键词") + private String keyword; + + @ApiModelProperty("捐赠状态(1.待签收 2.已签收 3.已取消)") + private Integer status; + + @ApiModelProperty("是否匿名捐赠(1.是 2.否)") + private Integer isAnonymous; + + @ApiModelProperty("签收时间-起") + private Date signingAtBegin; + + @ApiModelProperty("签收时间-止") + private Date signingAtEnd; + + @ApiModelProperty("小程序使用,1.个人中心捐赠记录 2.捐赠物品管理 3.爱心义仓捐赠列表") + private Integer isWhich; + + @ApiModelProperty(value = "社区id") + private Long communityId; + + @ApiModelProperty(value = "分页-当前页数", example = "1") + @NotNull(message = "分页参数不能为空") + @Min(value = 1) + private Long pageNum; + + @ApiModelProperty(value = "分页-每页记录数", example = "10") + @NotNull(message = "分页参数不能为空") + @Min(value = 1) + private Long pageSize; + + + @ApiModelProperty(value = "当前访问用户", hidden = true) + private Long userId; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/property/CommonPage.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/property/CommonPage.java index a0f2d3b..8a63880 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/property/CommonPage.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/property/CommonPage.java @@ -55,4 +55,8 @@ private String keyword; @ApiModelProperty("职务") private String position; + @ApiModelProperty("参数id2") + private Integer paramId2; + @ApiModelProperty("社区id") + private Long communityId; } diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/LoginUserInfoVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/LoginUserInfoVO.java index 26ac3bf..e359bc0 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/LoginUserInfoVO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/LoginUserInfoVO.java @@ -181,4 +181,7 @@ @ApiModelProperty("是否四长四员 1.是 2.否") private Integer isFourMember; + @ApiModelProperty("是否社区工作人员 1.是 2.否") + private Integer isCommunityWorker; + } diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ApplyStatistics.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ApplyStatistics.java new file mode 100644 index 0000000..c115aeb --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ApplyStatistics.java @@ -0,0 +1,42 @@ +package com.panzhihua.common.model.vos.community.warehouse; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zzj + */ +@Data +@ApiModel("申领统计") +public class ApplyStatistics { + /** + * 待处理 + */ + @ApiModelProperty("待处理") + private Integer pending; + + /** + * 待领取 + */ + @ApiModelProperty("待领取") + private Integer unclaimed; + + /** + * 已领取 + */ + @ApiModelProperty("已领取") + private Integer received; + + /** + *已取消 + */ + @ApiModelProperty("已取消") + private Integer cancelled; + + /** + * 已驳回 + */ + @ApiModelProperty("已驳回") + private Integer rejected; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ComActWarehouseApplyExcelVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ComActWarehouseApplyExcelVO.java new file mode 100644 index 0000000..167be9c --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ComActWarehouseApplyExcelVO.java @@ -0,0 +1,101 @@ +package com.panzhihua.common.model.vos.community.warehouse; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.converters.string.StringImageConverter; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.net.URL; +import java.util.Date; + +/** + * @author zzj + */ +@Data +public class ComActWarehouseApplyExcelVO { + + @ExcelProperty(value = "申领流水",index = 10) + private Integer id; + + /** + * 物品数量 + */ + @ExcelProperty(value = "物品数量",index = 6) + private Integer goodsNum; + + /** + * 预约时间 + */ + @ExcelProperty(value = "预约领用时间",index = 7) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date reserveTime; + + /** + * 实际时间 + */ + @ExcelProperty(value = "实际领用时间",index = 8) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date actualTime; + + /** + * 理由 + */ + @ExcelProperty(value = "主要困难",index = 9) + private String reason; + + /** + * 领取图片 + */ + @ExcelProperty(value = "领取图片",index = 11) + private URL receiveUrl; + + /** + * 提交时间 + */ + @ExcelProperty(value = "提交时间",index = 13) + private Date createTime; + + /** + * 状态 0待处理 1 待领取 2已拒绝 3已领取 -1已取消 + */ + @ExcelProperty(value = "状态",index =14) + private String status; + @ExcelProperty(value = "核销人",index = 12) + private String writeOffUserName; + + /** + * 申请人 + */ + @ExcelProperty(value = "申请人",index = 0) + private String applyName; + + /** + * 申请人联系电话 + */ + @ExcelProperty(value = "申请人联系电话",index = 1) + private String applyPhone; + + /** + * 申请物品 + */ + @ExcelProperty(value = "申请物品",index = 2) + private String item; + + /** + * 捐赠人 + */ + @ExcelProperty(value = "捐赠人",index = 3) + private String donateName; + + /** + * 捐赠人联系方式 + */ + @ExcelProperty(value = "捐赠人联系方式",index = 4) + private String donatePhone; + + /** + * 物品图片 + */ + @ExcelProperty(value = "物品图片",index = 5) + private URL image; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ComActWarehouseApplyVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ComActWarehouseApplyVO.java new file mode 100644 index 0000000..1aae24a --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ComActWarehouseApplyVO.java @@ -0,0 +1,179 @@ +package com.panzhihua.common.model.vos.community.warehouse; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * @author zzj + */ +@Data +@ApiModel("义仓物品申领记录实体") +public class ComActWarehouseApplyVO { + private Integer id; + + /** + * 物品id + */ + @ApiModelProperty(value = "物品id") + private Integer goodsId; + + /** + * 物品数量 + */ + @ApiModelProperty(value = "物品数量") + private Integer goodsNum; + + /** + * 预约时间 + */ + @ApiModelProperty(value = "预约时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date reserveTime; + + /** + * 实际时间 + */ + @ApiModelProperty(value = "实际时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date actualTime; + + /** + * 理由 + */ + @ApiModelProperty(value = "理由") + private String reason; + + /** + * 领取图片 + */ + @ApiModelProperty(value = "领取图片") + private String receiveUrl; + + /** + * 提交时间 + */ + @ApiModelProperty(value = "提交时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + /** + * 状态 0待处理 1 待领取 2已拒绝 3已领取 -1已取消 + */ + @ApiModelProperty(value = "状态 0待处理 1 待领取 2已拒绝 3已领取 -1已取消") + private Integer status; + + /** + * 申请人id + */ + @ApiModelProperty("申请人id") + private Long applyUserId; + + /** + * 处理人id + */ + @ApiModelProperty(value = "处理人id") + private Long solveUserId; + + /** + * 处理人时间 + */ + @ApiModelProperty(value = "处理人时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date solveTime; + + /** + * 处理人备注 + */ + @ApiModelProperty(value = "处理人备注") + private String solveContent; + + /** + * 处理人 + */ + @ApiModelProperty(value = "处理人") + private String solveName; + + /** + * 核销人id + */ + @ApiModelProperty(value = "核销人id") + private Long writeOffUserId; + + /** + * 取消时间 + */ + @ApiModelProperty(value = "取消时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date cancelTime; + + /** + * 社区id + */ + @ApiModelProperty(value = "社区id") + private Long communityId; + + /** + * 申请人 + */ + @ApiModelProperty("申请人") + private String applyName; + + /** + * 申请人联系电话 + */ + @ApiModelProperty("申请人联系电话") + private String applyPhone; + + /** + * 申请物品 + */ + @ApiModelProperty("申请物品") + private String item; + + /** + * 捐赠人 + */ + @ApiModelProperty("捐赠人") + private String donateName; + + /** + * 捐赠人联系方式 + */ + @ApiModelProperty("捐赠人联系方式") + private String donatePhone; + + /** + * 物品图片 + */ + @ApiModelProperty("物品图片") + private String image; + + /** + * 核销人 + */ + @ApiModelProperty("核销人") + private String writeOffUserName; + + /** + *剩下数量 + */ + @ApiModelProperty("剩下数量") + private Integer surplusQuantity; + + /** + * 状态 0待处理 1 待领取 2已拒绝 3已领取 -1已取消 + */ + public interface status{ + int dcl=0; + int dlq=1; + int ybh=2; + int ylq=3; + int yqx=-1; + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ComActWarehouseBaseVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ComActWarehouseBaseVO.java new file mode 100644 index 0000000..acc25a7 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ComActWarehouseBaseVO.java @@ -0,0 +1,66 @@ +package com.panzhihua.common.model.vos.community.warehouse; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @author zzj + */ +@Data +@ApiModel("义仓基础设置实体") +public class ComActWarehouseBaseVO { + private Integer id; + + /** + * 义仓说明 + */ + @ApiModelProperty(value = "义仓说明") + private String warehouseExplain; + + /** + * 工作时间 + */ + @ApiModelProperty(value = "工作时间") + private String warehouseWorkTime; + + /** + * 联系电话 + */ + @ApiModelProperty(value = "联系电话") + private String warehouseContact; + + /** + * 接收地点 + */ + @ApiModelProperty(value = "接收地点") + private String receivePosition; + + /** + * 社区id + */ + @ApiModelProperty(value = "社区id") + private Long communityId; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + /** + *经度 + */ + @ApiModelProperty("经度") + private String longitude; + + /** + *纬度 + */ + @ApiModelProperty("纬度") + private String latitude; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ComActWarehouseDonatesVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ComActWarehouseDonatesVO.java new file mode 100644 index 0000000..0b0b900 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ComActWarehouseDonatesVO.java @@ -0,0 +1,82 @@ +package com.panzhihua.common.model.vos.community.warehouse; + +import java.util.Date; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @title: ComActWarehouseDonatesVO + * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 + * @description: 爱心义仓/物品捐赠信息 + * @author: hans + * @date: 2021/10/11 14:06 + */ +@Data +@ApiModel("爱心义仓/物品捐赠信息") +public class ComActWarehouseDonatesVO { + + @ApiModelProperty("捐赠物品id") + private Long id; + + @ApiModelProperty("捐赠人") + private String name; + + @ApiModelProperty("联系电话") + private String phone; + + @ApiModelProperty("捐赠物品") + private String item; + + @ApiModelProperty("物品图片") + private String image; + + @ApiModelProperty("捐赠数量") + private Integer quantity; + + @ApiModelProperty("剩余数量") + private Integer surplusQuantity; + + @ApiModelProperty("是否匿名(1.是 2.否)") + private Integer isAnonymous; + + @ApiModelProperty("留言信息") + private String message; + + @ApiModelProperty("物品登记时间/捐赠时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date registerAt; + + @ApiModelProperty("物品签收时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date signingAt; + + @ApiModelProperty("捐赠状态(1.待签收 2.已签收 3.已取消)") + private Integer status; + + @ApiModelProperty("签收人") + private String signingBy; + + @ApiModelProperty("物品捐赠操作记录") + private List<ComActWarehouseOperationVO> operationList; + + @ApiModelProperty("捐赠用户") + @JsonIgnore + private Long userId; + + public interface isAnonymous { + int yes = 1; + int no = 2; + } + + public interface status { + int dqs = 1; + int yqs = 2; + int yqx = 3; + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ComActWarehouseOperationVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ComActWarehouseOperationVO.java new file mode 100644 index 0000000..64ef4e8 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ComActWarehouseOperationVO.java @@ -0,0 +1,90 @@ +package com.panzhihua.common.model.vos.community.warehouse; + +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.panzhihua.common.utlis.StringUtils; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @title: ComActWarehouseOperationVO + * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 + * @description: 爱心义仓操作记录vo + * @author: hans + * @date: 2021/10/11 16:32 + */ + +@Data +@ApiModel("爱心义仓操作记录vo") +public class ComActWarehouseOperationVO { + + @ApiModelProperty(value = "操作记录id") + private Integer id; + + @ApiModelProperty(value = "物品id") + private Integer goodsId; + + @ApiModelProperty(value = "操作内容") + private String content; + + @ApiModelProperty(value = "操作时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + @ApiModelProperty(value = "操作人") + private Integer userId; + + @ApiModelProperty("申请人姓名") + private String applyName; + + @ApiModelProperty("捐赠人名称") + private String donateName; + + @ApiModelProperty("捐赠物品名称") + private String item; + + @ApiModelProperty("捐赠物品图片") + private String image; + + @ApiModelProperty("捐赠物品数量") + private Integer goodsNum; + + /** + * 实际时间 + */ + @ApiModelProperty(value = "实际时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date actualTime; + + @ApiModelProperty("是否匿名(1.是 2.否)") + private Integer isAnonymous; + + /** + * 理由 + */ + @ApiModelProperty("理由") + private String reason; + + /** + * 领取图片 + */ + @ApiModelProperty("领取图片") + private String receiveUrl; + + @ApiModelProperty("类型 1 content 2其他") + private Integer type; + + public void setDonateName(String donateName) { + if(StringUtils.isNotEmpty(donateName)){ + this.donateName = donateName.charAt(0)+"**"; + } + } + + public void setApplyName(String applyName) { + if(StringUtils.isNotEmpty(applyName)){ + this.applyName = applyName.charAt(0)+"**"; + } + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/DonatesStatisticsVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/DonatesStatisticsVO.java new file mode 100644 index 0000000..a86b9d6 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/DonatesStatisticsVO.java @@ -0,0 +1,44 @@ +package com.panzhihua.common.model.vos.community.warehouse; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @title: DonatesStatisticsVO + * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 + * @description: 爱心义仓/物品捐赠统计信息 + * @author: hans + * @date: 2021/10/12 15:56 + */ +@Data +@ApiModel("爱心义仓/物品捐赠统计信息") +public class DonatesStatisticsVO { + + @ApiModelProperty("累计物品数量") + private Integer totalInc; + + @ApiModelProperty("当前剩余物品") + private Integer surplus; + + @ApiModelProperty("今日新增") + private Integer dayInc; + + @ApiModelProperty("本月新增") + private Integer mothInc; + + @ApiModelProperty("本年新增") + private Integer yearInc; + + @ApiModelProperty("累计领用物品") + private Integer totalDec; + + @ApiModelProperty("今日领用") + private Integer dayDec; + + @ApiModelProperty("本月领用") + private Integer mothDec; + + @ApiModelProperty("本年领用") + private Integer yearDec; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ExportDonatesVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ExportDonatesVO.java new file mode 100644 index 0000000..efbb558 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/ExportDonatesVO.java @@ -0,0 +1,72 @@ +package com.panzhihua.common.model.vos.community.warehouse; + +import static java.util.Objects.nonNull; + +import java.util.Date; + +import com.alibaba.excel.annotation.ExcelProperty; + +import lombok.Data; + +/** + * @title: ExportDonatesVO + * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 + * @description: 爱心义仓捐赠物品导出VO + * @author: hans + * @date: 2021/10/11 11:20 + */ +@Data +public class ExportDonatesVO { + + private Long id; + + @ExcelProperty("捐赠用户") + private String name; + + @ExcelProperty("联系电话") + private String phone; + + @ExcelProperty("捐赠物品") + private String item; + + @ExcelProperty("捐赠数量") + private Integer quantity; + + @ExcelProperty("剩余数量") + private Integer surplusQuantity; + + @ExcelProperty("匿名捐赠") + private String isAnonymous; + + @ExcelProperty("留言信息") + private String message; + + @ExcelProperty("物品登记时间") + private Date registerAt; + + @ExcelProperty("物品签收时间") + private Date signingAt; + + @ExcelProperty("状态") + private String status; + + public void setIsAnonymous(String isAnonymous) { + this.isAnonymous = nonNull(isAnonymous) && isAnonymous.equals("1") ? "是" : "否"; + } + + public void setStatus(String status) { + if (nonNull(status)) { + switch (status) { + case "1": + this.status = "待签收"; + break; + case "2": + this.status = "已签收"; + break; + default: + this.status = "已取消"; + break; + } + } + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/QRCodeVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/QRCodeVO.java new file mode 100644 index 0000000..3e79a2b --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/QRCodeVO.java @@ -0,0 +1,17 @@ +package com.panzhihua.common.model.vos.community.warehouse; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author zzj + */ +@Data +@ApiModel("生成二维码传参") +public class QRCodeVO { + @ApiModelProperty("数据主键id") + private Integer id; + @ApiModelProperty("二维码类型 1签收 2核销") + private Integer type; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/WarehouseDonatesExcelVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/WarehouseDonatesExcelVO.java new file mode 100644 index 0000000..f28a6a4 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/warehouse/WarehouseDonatesExcelVO.java @@ -0,0 +1,71 @@ +package com.panzhihua.common.model.vos.community.warehouse; + +import java.io.Serializable; +import java.util.Date; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.fasterxml.jackson.annotation.JsonFormat; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @title: WarehouseDonatesExcelVO + * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 + * @description: 捐赠物品ExcelVO + * @author: hans + * @date: 2021/10/09 17:42 + */ +@Data +public class WarehouseDonatesExcelVO implements Serializable { + + private static final long serialVersionUID = -7026869907781559301L; + + @ExcelProperty(value = "捐赠用户", index = 0) + private String name; + + @ExcelProperty(value = "联系电话", index = 1) + private String phone; + + @ExcelProperty(value = "捐赠物品", index = 2) + private String item; + + @ExcelProperty(value = "捐赠数量", index = 3) + private Integer quantity; + + @ExcelProperty(value = "匿名捐赠", index = 4) + private String isAnonymous; + + @ExcelProperty(value = "留言信息", index = 5) + private String message; + + @ExcelProperty(value = "物品签收时间", index = 6) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date signingAt; + + /** + * 剩余数量 + */ + private Integer surplusQuantity; + /** + * 捐赠状态 + */ + private Integer status; + /** + * 社区id + */ + private Long communityId; + /** + * 物品登记时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date registerAt; + /** + * 登记人 + */ + private Long registerBy; + /** + * 签收人 + */ + private Long signingBy; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java index 1cb7750..7d413e0 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java @@ -2,6 +2,7 @@ import java.util.List; +import com.panzhihua.common.model.dtos.community.warehouse.ComActWarehouseApplyDTO; import com.panzhihua.common.model.dtos.community.GetIdentityEidTokenDTO; import com.panzhihua.common.model.dtos.community.*; import com.panzhihua.common.model.dtos.community.building.admin.*; @@ -53,6 +54,8 @@ import com.panzhihua.common.model.dtos.community.ComMngPopulationEditDTO; import com.panzhihua.common.model.dtos.community.ComMngPopulationHouseAdminDTO; import com.panzhihua.common.model.dtos.community.ComMngPopulationHouseEditAdminDTO; +import com.panzhihua.common.model.dtos.community.ComMngPopulationHouseInsertAdminDTO; +import com.panzhihua.common.model.dtos.community.ComMngPopulationHouseUserVO; import com.panzhihua.common.model.dtos.community.ComMngPopulationTagDTO; import com.panzhihua.common.model.dtos.community.ComMngRealCompanyBelongsDTO; import com.panzhihua.common.model.dtos.community.ComOpsHouseDTO; @@ -117,6 +120,13 @@ import com.panzhihua.common.model.dtos.community.bigscreen.work.ScreenActActivityPeopleListDTO; import com.panzhihua.common.model.dtos.community.bigscreen.work.ScreenDiscussListDTO; import com.panzhihua.common.model.dtos.community.bigscreen.work.ScreenMicroListDTO; +import com.panzhihua.common.model.dtos.community.cluster.PageClusterMemberDto; +import com.panzhihua.common.model.dtos.community.cluster.admin.AddClusterAdminDto; +import com.panzhihua.common.model.dtos.community.cluster.admin.AddClusterMemberAdminDto; +import com.panzhihua.common.model.dtos.community.cluster.admin.EditClusterAdminDto; +import com.panzhihua.common.model.dtos.community.cluster.admin.EditClusterMemberAdminDto; +import com.panzhihua.common.model.dtos.community.cluster.admin.PageClusterAdminDto; +import com.panzhihua.common.model.dtos.community.cluster.admin.PageClusterMemberAdminDto; import com.panzhihua.common.model.dtos.community.convenient.ConvenientMerchantDTO; import com.panzhihua.common.model.dtos.community.convenient.ConvenientProductCategoryDTO; import com.panzhihua.common.model.dtos.community.convenient.ConvenientProductDTO; @@ -169,6 +179,9 @@ import com.panzhihua.common.model.dtos.community.wallet.PageComActWalletAdminDTO; import com.panzhihua.common.model.dtos.community.wallet.PageComActWalletTradeAdminDTO; import com.panzhihua.common.model.dtos.community.wallet.PageComActWalletTradeDTO; +import com.panzhihua.common.model.dtos.community.warehouse.ComActWarehouseDonatesDTO; +import com.panzhihua.common.model.dtos.community.warehouse.ExportDonatesDTO; +import com.panzhihua.common.model.dtos.community.warehouse.PageDonatesDTO; import com.panzhihua.common.model.dtos.elders.ComEldersAuthGetResultDTO; import com.panzhihua.common.model.dtos.elders.ComEldersAuthPageDTO; import com.panzhihua.common.model.dtos.elders.ComEldersAuthUserAddAppDTO; @@ -234,14 +247,77 @@ import com.panzhihua.common.model.vos.DictionaryVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.SystemmanagementConfigVO; +import com.panzhihua.common.model.vos.community.ActivitySignVO; +import com.panzhihua.common.model.vos.community.BatchhouseVO; +import com.panzhihua.common.model.vos.community.ComActActEvaluateVO; +import com.panzhihua.common.model.vos.community.ComActActRegistVO; +import com.panzhihua.common.model.vos.community.ComActActivityVO; +import com.panzhihua.common.model.vos.community.ComActCommiteeVO; +import com.panzhihua.common.model.vos.community.ComActDynVO; +import com.panzhihua.common.model.vos.community.ComActEasyPhotoVO; +import com.panzhihua.common.model.vos.community.ComActFourMemberVO; +import com.panzhihua.common.model.vos.community.ComActMessageBackVO; +import com.panzhihua.common.model.vos.community.ComActMessageVO; +import com.panzhihua.common.model.vos.community.ComActMicroWishVO; +import com.panzhihua.common.model.vos.community.ComActReserveCommitVO; +import com.panzhihua.common.model.vos.community.ComActSocialOrgVO; +import com.panzhihua.common.model.vos.community.ComActVO; +import com.panzhihua.common.model.vos.community.ComActWorkGuideClassifyVO; +import com.panzhihua.common.model.vos.community.ComActWorkGuideVO; +import com.panzhihua.common.model.vos.community.ComCvtServeExcelVO; +import com.panzhihua.common.model.vos.community.ComElderAuthRecordImportExcelVO; +import com.panzhihua.common.model.vos.community.ComElderAuthRecordVO; +import com.panzhihua.common.model.vos.community.ComEldersAuthElderlyDetailsVO; +import com.panzhihua.common.model.vos.community.ComMngBuildingExcelVO; +import com.panzhihua.common.model.vos.community.ComMngCarExcelVO; +import com.panzhihua.common.model.vos.community.ComMngPopulationCorrectExcelVO; +import com.panzhihua.common.model.vos.community.ComMngPopulationCultExcelVO; +import com.panzhihua.common.model.vos.community.ComMngPopulationDisabilityExcelVO; +import com.panzhihua.common.model.vos.community.ComMngPopulationDrugExcelVO; +import com.panzhihua.common.model.vos.community.ComMngPopulationElderExcelVO; +import com.panzhihua.common.model.vos.community.ComMngPopulationKeyExcelVO; +import com.panzhihua.common.model.vos.community.ComMngPopulationLowSecurityExcelVO; +import com.panzhihua.common.model.vos.community.ComMngPopulationMajorExcelVO; +import com.panzhihua.common.model.vos.community.ComMngPopulationPensionExcelVO; +import com.panzhihua.common.model.vos.community.ComMngPopulationRehabilitationExcelVO; +import com.panzhihua.common.model.vos.community.ComMngPopulationSentenceExcelVO; +import com.panzhihua.common.model.vos.community.ComMngPopulationServeExcelVO; +import com.panzhihua.common.model.vos.community.ComMngPopulationVO; +import com.panzhihua.common.model.vos.community.ComMngPopulationVeteransExcelVO; +import com.panzhihua.common.model.vos.community.ComMngRealAssetsExcelVO; +import com.panzhihua.common.model.vos.community.ComMngRealAssetsVO; +import com.panzhihua.common.model.vos.community.ComMngRealCompanyExcelVO; +import com.panzhihua.common.model.vos.community.ComMngRealCompanyVO; +import com.panzhihua.common.model.vos.community.ComMngStructAreaVO; +import com.panzhihua.common.model.vos.community.ComMngStructHouseVO; +import com.panzhihua.common.model.vos.community.ComMngStructOtherBuildVO; +import com.panzhihua.common.model.vos.community.ComMngVillageServeExcelVO; +import com.panzhihua.common.model.vos.community.ComMngVillageVO; +import com.panzhihua.common.model.vos.community.ComMngVolunteerMngVO; +import com.panzhihua.common.model.vos.community.ComOpsHouseUndercarriageVO; +import com.panzhihua.common.model.vos.community.ComOpsHouseVO; +import com.panzhihua.common.model.vos.community.ComPensionAuthRecordImportExcelVO; +import com.panzhihua.common.model.vos.community.ComPensionAuthRecordVO; +import com.panzhihua.common.model.vos.community.ComPropertyVO; +import com.panzhihua.common.model.vos.community.ComStreetVO; +import com.panzhihua.common.model.vos.community.ComSwRotaExcelVO; +import com.panzhihua.common.model.vos.community.EldersAuthDetailsVO; +import com.panzhihua.common.model.vos.community.EldersAuthElderlyExcelVO; +import com.panzhihua.common.model.vos.community.ResetComActMessageVO; +import com.panzhihua.common.model.vos.community.SignactivityVO; import com.panzhihua.common.model.vos.community.bigscreen.BigScreenStatisticAgeGender; import com.panzhihua.common.model.vos.community.bigscreen.BigScreenStatisticPartyActivity; import com.panzhihua.common.model.vos.community.bigscreen.BigScreenStatisticPartyBuild; import com.panzhihua.common.model.vos.community.bigscreen.PartyBuildingMemberVO; +import com.panzhihua.common.model.vos.community.cluster.admin.ComClusterMemberExcelVO; import com.panzhihua.common.model.vos.community.convenient.ConvenientMerchantVO; import com.panzhihua.common.model.vos.community.questnaire.EditComActQuestnaireVo; import com.panzhihua.common.model.vos.community.questnaire.QuestnaireVO; import com.panzhihua.common.model.vos.community.questnaire.UsersAnswerQuestnaireVO; +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseApplyVO; +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseBaseVO; +import com.panzhihua.common.model.vos.community.warehouse.QRCodeVO; +import com.panzhihua.common.model.vos.community.warehouse.WarehouseDonatesExcelVO; import com.panzhihua.common.model.vos.neighbor.AddNeighborCircleAdminVO; import com.panzhihua.common.model.vos.neighbor.ChangeCommentReplyStatusByAdminVO; import com.panzhihua.common.model.vos.neighbor.ChangeCommentStatusByAdminVO; @@ -6733,4 +6809,173 @@ */ @PostMapping("/building/house/population/delete/admin") R deleteBuildingHousePopulationAdmin(@RequestBody DeleteBuildingHousePopulationDto housePopulationDto); + + /** + * 分页查询所有数据 + * + * @param commonPage 查询实体 + * @return 所有数据 + */ + @PostMapping("/comActWarehouseApply/queryAll") + public R comActWarehouseApplySelectAll(@RequestBody CommonPage commonPage); + + /** + * 统计查询 + * + * @param communityId + * @return 所有数据 + */ + @GetMapping("/comActWarehouseApply/selectStatics") + public R comActWarehouseApplySelectAll(@RequestParam("communityId") Long communityId); + + /** + * 通过主键查询单条数据 + * + * @param id 主键 + * @return 单条数据 + */ + @GetMapping("/comActWarehouseApply/{id}") + public R comActWarehouseApplySelectOne(@PathVariable("id") Integer id); + + /** + * 新增数据 + * + * @param comActWarehouseApply 实体对象 + * @return 新增结果 + */ + @PostMapping("/comActWarehouseApply") + public R comActWarehouseApplyInsert(@RequestBody ComActWarehouseApplyVO comActWarehouseApply); + + /** + * 修改数据 + * + * @param comActWarehouseApply 实体对象 + * @return 修改结果 + */ + @PostMapping("/comActWarehouseApply/update") + public R comActWarehouseApplyUpdate(@RequestBody ComActWarehouseApplyVO comActWarehouseApply); + + /** + * 删除数据 + * + * @param id 主键结合 + * @return 删除结果 + */ + @GetMapping("/comActWarehouseApply/del") + public R comActWarehouseApplyDelete(@RequestParam("id") Long id); + + /** + * 生成二维码 + * @param qrCodeVO + * @return + */ + @PostMapping("/comActWarehouseApply/getQRCode") + public R comActWarehouseApplyGetQRCode(@RequestBody QRCodeVO qrCodeVO); + + /** + * 社区Id查询基础配置 + * @param communityId + * @return + */ + @GetMapping("/comActWarehouseBase") + public R comActWarehouseBaseSelectOne(@RequestParam("communityId") Long communityId); + + /** + * 新增数据 + * + * @param comActWarehouseBase 实体对象 + * @return 新增结果 + */ + @PostMapping("/comActWarehouseBase") + public R comActWarehouseBaseInsert(@RequestBody ComActWarehouseBaseVO comActWarehouseBase); + + /** + * 导出数据 + */ + @PostMapping("/comActWarehouseApply/export") + public R comActWarehouseApplyExport(@RequestBody CommonPage commonPage); + + /** + * 后台导入捐赠物品 + * @param list + * @return + */ + @PostMapping("/comActWarehouseDonates/import") + R batchImportWarehouseDonates(@RequestBody List<WarehouseDonatesExcelVO> list); + + /** + * 后台导出捐赠物品表格 + * @param exportDonatesDTO + * @return + */ + @PostMapping("/comActWarehouseDonates/donates/export") + R exportDonates(@RequestBody ExportDonatesDTO exportDonatesDTO); + + /** + * 分页查询捐赠物品 + * @param pageDonatesDTO + * @return + */ + @PostMapping("/comActWarehouseDonates/donates/page") + R pageDonates(@RequestBody PageDonatesDTO pageDonatesDTO); + + /** + * 新增物品捐赠 + * @param comActWarehouseDonatesDTO + * @return + */ + @PostMapping("/comActWarehouseDonates/donates/add") + R addDonates(@RequestBody ComActWarehouseDonatesDTO comActWarehouseDonatesDTO); + + /** + * 查看物品捐赠详情 + * @param donatesId + * @param isWhich + * @param userId + * @return + */ + @GetMapping("/comActWarehouseDonates/donates/get") + R getDonates(@RequestParam("donatesId") Long donatesId, @RequestParam("isWhich") Integer isWhich, @RequestParam("userId") Long userId); + + /** + * 捐赠物品后台签收 + * @param comActWarehouseDonatesDTO + * @return + */ + @PostMapping("/comActWarehouseDonates/donates/signing") + R signingDonates(@RequestBody ComActWarehouseDonatesDTO comActWarehouseDonatesDTO); + + /** + * 用户取消捐赠 + * @param donatesId + * @param currentUser + * @return + */ + @GetMapping("/comActWarehouseDonates/donates/cancel") + R cancelDonates(@RequestParam("donatesId") Long donatesId, @RequestParam("currentUser") Long currentUser); + + /** + * 捐赠物品统计查询 + * @param communityId + * @return + */ + @GetMapping("/comActWarehouseDonates/donates/statistics") + R getDonatesStatistics(@RequestParam("communityId") Long communityId); + + /** + * 分页查询所有数据 + * + * @param commonPage 查询实体 + * @return 所有数据 + */ + @PostMapping("/comActWarehouseOperation/queryAll") + public R comActWarehouseOperationSelectAll(@RequestBody CommonPage commonPage); + + /** + * 物品领用 + * @param comActWarehouseApplyDTO + * @return + */ + @PostMapping("/comActWarehouseDonates/donates/apply") + R applyDonates(@RequestBody ComActWarehouseApplyDTO comActWarehouseApplyDTO); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActWarehouseApplyApi.java b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActWarehouseApplyApi.java new file mode 100644 index 0000000..004a96c --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActWarehouseApplyApi.java @@ -0,0 +1,213 @@ +package com.panzhihua.community_backstage.api; + + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.panzhihua.common.controller.BaseController; +import com.panzhihua.common.model.dtos.community.ExportUserDTO; +import com.panzhihua.common.model.dtos.property.CommonPage; +import com.panzhihua.common.model.dtos.user.EexcelUserDTO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.ComActUserWalletTradeExcelVO; +import com.panzhihua.common.model.vos.community.ComActUserWalletTradeRewardExcelVO; +import com.panzhihua.common.model.vos.community.warehouse.ApplyStatistics; +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseApplyExcelVO; +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseApplyVO; +import com.panzhihua.common.model.vos.community.warehouse.QRCodeVO; +import com.panzhihua.common.service.community.CommunityService; +import com.panzhihua.common.utlis.SFTPUtil; +import com.panzhihua.community_backstage.excel.CustomSheetWriteHandler; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; +import java.util.Date; +import java.util.List; +import java.util.UUID; + +/** + * 物品申请表(ComActWarehouseApply)表控制层 + * + * @author makejava + * @since 2021-10-09 17:13:53 + */ +@Slf4j +@Api(tags = {"爱心义仓申领记录接口"}) +@RestController +@RequestMapping("comActWarehouseApply") +public class ComActWarehouseApplyApi extends BaseController { + /** + * 服务对象 + */ + @Resource + private CommunityService communityService; + + @Value("${excel.userurl}") + private String excelUrl; + // FTP 登录用户名 + @Value("${ftp.username}") + private String userName; + // FTP 登录密码 + @Value("${ftp.password}") + private String password; + // FTP 服务器地址IP地址 + @Value("${ftp.host}") + private String host; + // FTP 端口 + @Value("${ftp.port}") + private int port; + + /** + * 分页查询所有数据 + * + * @param commonPage 查询实体 + * @return 所有数据 + */ + @ApiOperation(value = "分页查询所有数据",response = ComActWarehouseApplyVO.class) + @PostMapping("queryAll") + public R selectAll(@RequestBody CommonPage commonPage) { + commonPage.setParamId(this.getCommunityId()); + return this.communityService.comActWarehouseApplySelectAll(commonPage); + } + + /** + * 统计查询 + * + * @return 所有数据 + */ + @ApiOperation(value = "统计查询",response = ApplyStatistics.class) + @GetMapping("selectStatics") + public R selectAll() { + return this.communityService.comActWarehouseApplySelectAll(this.getCommunityId()); + } + + /** + * 通过主键查询单条数据 + * + * @param id 主键 + * @return 单条数据 + */ + @ApiOperation(value = "通过主键查询单条数据",response = ComActWarehouseApplyVO.class) + @GetMapping("{id}") + public R selectOne(@PathVariable("id") Integer id) { + return this.communityService.comActWarehouseApplySelectOne(id); + } + + /** + * 新增数据 + * + * @param comActWarehouseApply 实体对象 + * @return 新增结果 + */ + @ApiOperation("新增数据") + @PostMapping + public R insert(@RequestBody ComActWarehouseApplyVO comActWarehouseApply) { + comActWarehouseApply.setCommunityId(this.getCommunityId()); + comActWarehouseApply.setCreateTime(new Date()); + return this.communityService.comActWarehouseApplyInsert(comActWarehouseApply); + } + + /** + * 修改数据 + * + * @param comActWarehouseApply 实体对象 + * @return 修改结果 + */ + @ApiOperation("修改数据") + @PostMapping("/update") + public R update(@RequestBody ComActWarehouseApplyVO comActWarehouseApply) { + return this.communityService.comActWarehouseApplyUpdate(comActWarehouseApply); + } + + /** + * 删除数据 + * + * @param id 主键结合 + * @return 删除结果 + */ + @ApiOperation("删除数据") + @GetMapping("del") + public R delete(@RequestParam("id") Long id) { + return this.communityService.comActWarehouseApplyDelete(id); + } + + /** + * 生成二维码 + * @param qrCodeVO + * @return + */ + @ApiOperation("生成二维码") + @PostMapping("/getQRCode") + public R getQRCode(@RequestBody QRCodeVO qrCodeVO){ + return this.communityService.comActWarehouseApplyGetQRCode(qrCodeVO); + } + + @ApiOperation(value = "导出") + @PostMapping("/export") + public R export(@RequestBody CommonPage commonPage) { + Long communityId = this.getCommunityId(); + commonPage.setParamId(communityId); + + + String name = "物品领取.xlsx"; + String ftpUrl = "/mnt/data/web/excel/"; + // 用户搜索了就下载搜索的用户否则下载所有用户 + R r = communityService.comActWarehouseApplyExport(commonPage); + if (R.isOk(r)) { + try { + SFTPUtil sftp = new SFTPUtil(userName, password, host, port); + sftp.login(); + boolean existDir = sftp.isExistDir(ftpUrl + name); + if (!existDir) { + String property = System.getProperty("user.dir"); + String fileName = property + File.separator + name; + // 这里 需要指定写用哪个class去写 + ExcelWriter excelWriter = null; + InputStream inputStream = null; + try { + excelWriter = EasyExcel.write(fileName, ComActWarehouseApplyExcelVO.class) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) + .registerWriteHandler(new CustomSheetWriteHandler()).build(); + WriteSheet writeSheet = EasyExcel.writerSheet( "导出").build(); + excelWriter.write(JSONArray.parseArray(JSONArray.toJSONString(r.getData()), ComActWarehouseApplyExcelVO.class), writeSheet); + + + excelWriter.finish(); + File file = new File(fileName); + inputStream = new FileInputStream(file); + sftp.uploadMore(ftpUrl, name, inputStream); + sftp.logout(); + inputStream.close(); + String absolutePath = file.getAbsolutePath(); + boolean delete = file.delete(); + log.info("删除excel【{}】结果【{}】", absolutePath, delete); + } finally { + // 千万别忘记finish 会帮忙关闭流 + if (inputStream != null) { + inputStream.close(); + } + if (excelWriter != null) { + excelWriter.finish(); + } + } + } + return R.ok(excelUrl + name); + } catch (Exception e) { + e.printStackTrace(); + log.error("文件传输失败【{}】", e.getMessage()); + return R.fail(); + } + } + return r; + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActWarehouseBaseApi.java b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActWarehouseBaseApi.java new file mode 100644 index 0000000..5d355ca --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActWarehouseBaseApi.java @@ -0,0 +1,58 @@ +package com.panzhihua.community_backstage.api; + + +import com.panzhihua.common.controller.BaseController; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseBaseVO; +import com.panzhihua.common.service.community.CommunityService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; + +/** + * 义仓基础设置表(ComActWarehouseBase)表控制层 + * + * @author makejava + * @since 2021-10-11 09:21:53 + */ +@Slf4j +@Api(tags = {"爱心义仓基础记录接口"}) +@RestController +@RequestMapping("comActWarehouseBase") +public class ComActWarehouseBaseApi extends BaseController { + /** + * 服务对象 + */ + @Resource + private CommunityService communityService; + + /** + * 通过社区id查询单条数据 + * + * @return 单条数据 + */ + @ApiOperation(value = "查询单条数据",response = ComActWarehouseBaseVO.class) + @GetMapping + public R selectOne() { + return this.communityService.comActWarehouseBaseSelectOne(this.getCommunityId()); + } + + /** + * 新增数据 + * + * @param comActWarehouseBase 实体对象 + * @return 新增结果 + */ + @ApiOperation("新增接口") + @PostMapping + public R insert(@RequestBody ComActWarehouseBaseVO comActWarehouseBase) { + comActWarehouseBase.setCreateTime(new Date()); + comActWarehouseBase.setCommunityId(this.getCommunityId()); + return communityService.comActWarehouseBaseInsert(comActWarehouseBase); + } + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActWarehouseDonatesApi.java b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActWarehouseDonatesApi.java new file mode 100644 index 0000000..f8139c4 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ComActWarehouseDonatesApi.java @@ -0,0 +1,198 @@ +package com.panzhihua.community_backstage.api; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.List; + +import javax.annotation.Resource; + +import org.springframework.beans.factory.annotation.Value; +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 org.springframework.web.multipart.MultipartFile; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.fastjson.JSONArray; +import com.panzhihua.common.controller.BaseController; +import com.panzhihua.common.listen.WarehouseDonatesExcelListen; +import com.panzhihua.common.model.dtos.community.warehouse.ComActWarehouseApplyDTO; +import com.panzhihua.common.model.dtos.community.warehouse.ComActWarehouseDonatesDTO; +import com.panzhihua.common.model.dtos.community.warehouse.ExportDonatesDTO; +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.model.vos.community.warehouse.DonatesStatisticsVO; +import com.panzhihua.common.model.vos.community.warehouse.ExportDonatesVO; +import com.panzhihua.common.model.vos.community.warehouse.WarehouseDonatesExcelVO; +import com.panzhihua.common.service.community.CommunityService; +import com.panzhihua.common.utlis.SFTPUtil; +import com.panzhihua.common.validated.AddGroup; +import com.panzhihua.common.validated.PutGroup; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; + +/** + * @title: ComActWarehouseApi + * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 + * @description: 爱心义仓相关接口 + * @author: hans + * @date: 2021/10/09 17:35 + */ + +@Slf4j +@Api(tags = {"爱心义仓捐赠相关"}) +@RestController +@RequestMapping("/warehouse/donates") +public class ComActWarehouseDonatesApi extends BaseController { + + @Resource + private CommunityService communityService; + + @Value("${excel.donatesimporturl}") + private String donatesImportUrl; + @Value("${excel.userurl}") + private String excelUrl; + @Value("${ftp.username}") + private String userName; + @Value("${ftp.password}") + private String password; + @Value("${ftp.host}") + private String host; + @Value("${ftp.port}") + private int port; + @Value("${ftp.url}") + private String url; + + @PostMapping("/import") + @ApiOperation(value = "捐赠物品导入", response = R.class) + public R importDonates(@RequestParam MultipartFile file) { + InputStream inputStream; + try { + inputStream = file.getInputStream(); + EasyExcel.read(inputStream, WarehouseDonatesExcelVO.class, + new WarehouseDonatesExcelListen(communityService, getCommunityId(), getUserId())).sheet().doRead(); + } catch (IOException e) { + e.printStackTrace(); + log.error("导入捐赠物品失败【{}】", e.getMessage()); + } + return R.ok(); + } + + @GetMapping("/import/templates") + @ApiOperation(value = "获取物品捐赠导入模板", response = R.class) + public R getDonatesImportTemplate() { + return R.ok(donatesImportUrl); + } + + @ApiOperation(value = "捐赠物品导出") + @PostMapping("/export") + public R exportDonates(@RequestBody ExportDonatesDTO exportDonatesDTO) { + String communityName = getCommunityName(); + exportDonatesDTO.setCommunityId(getCommunityId()); + String url = excelUrl; + String name = "爱心义仓" + communityName + "捐赠物品导出.xlsx"; + String ftpUrl = "/mnt/data/web/excel/"; + R r = communityService.exportDonates(exportDonatesDTO); + if (R.isOk(r)) { + List<ExportDonatesVO> exportDonatesVOList = + JSONArray.parseArray(JSONArray.toJSONString(r.getData()), ExportDonatesVO.class); + try { + SFTPUtil sftp = new SFTPUtil(userName, password, host, port); + sftp.login(); + boolean existDir = sftp.isExistDir(ftpUrl + name); + if (!existDir) { + String property = System.getProperty("user.dir"); + String fileName = property + File.separator + name; + // 这里 需要指定写用哪个class去写 + ExcelWriter excelWriter = null; + InputStream inputStream = null; + try { + excelWriter = EasyExcel.write(fileName, ExportDonatesVO.class).build(); + WriteSheet writeSheet = EasyExcel.writerSheet("爱心义仓捐赠物品导出").build(); + excelWriter.write(exportDonatesVOList, writeSheet); + excelWriter.finish(); + File file = new File(fileName); + inputStream = new FileInputStream(file); + sftp.uploadMore(ftpUrl, name, inputStream); + sftp.logout(); + inputStream.close(); + String absolutePath = file.getAbsolutePath(); + boolean delete = file.delete(); + log.info("删除excel【{}】结果【{}】", absolutePath, delete); + } finally { + // 千万别忘记finish 会帮忙关闭流 + if (inputStream != null) { + inputStream.close(); + } + if (excelWriter != null) { + excelWriter.finish(); + } + } + } + return R.ok(url + name); + } catch (Exception e) { + e.printStackTrace(); + log.error("文件传输失败【{}】", e.getMessage()); + return R.fail(); + } + } + return R.fail("未查询到数据"); + } + + @ApiOperation(value = "分页查询捐赠物品", response = ComActWarehouseDonatesVO.class) + @PostMapping("/page") + public R pageDonates(@RequestBody PageDonatesDTO pageDonatesDTO) { + pageDonatesDTO.setCommunityId(getCommunityId()); + return communityService.pageDonates(pageDonatesDTO); + } + + @ApiOperation(value = "新增物品捐赠") + @PostMapping("/add") + public R addDonates(@RequestBody @Validated(AddGroup.class) ComActWarehouseDonatesDTO comActWarehouseDonatesDTO) { + LoginUserInfoVO loginUserInfo = getLoginUserInfo(); + comActWarehouseDonatesDTO.setCommunityId(loginUserInfo.getCommunityId()); + comActWarehouseDonatesDTO.setRegisterBy(loginUserInfo.getUserId()); + comActWarehouseDonatesDTO.setSigningBy(loginUserInfo.getUserId()); + return communityService.addDonates(comActWarehouseDonatesDTO); + } + + @ApiOperation(value = "查看物品捐赠详情", response = ComActWarehouseDonatesVO.class) + @GetMapping("/get") + public R getDonates(@RequestParam("donatesId") Long donatesId) { + return communityService.getDonates(donatesId, 0, 0L); + } + + @ApiOperation(value = "捐赠物品签收") + @PostMapping("/signing") + public R signingDonates(@RequestBody @Validated(PutGroup.class) ComActWarehouseDonatesDTO comActWarehouseDonatesDTO) { + comActWarehouseDonatesDTO.setSigningBy(getUserId()); + return communityService.signingDonates(comActWarehouseDonatesDTO); + } + + @ApiOperation(value = "捐赠物品统计查询", response = DonatesStatisticsVO.class) + @GetMapping("/statistics") + public R getDonatesStatistics() { + return communityService.getDonatesStatistics(getCommunityId()); + } + + @ApiOperation("物品领用") + @PostMapping("/apply") + public R applyDonates(@RequestBody @Validated(AddGroup.class) ComActWarehouseApplyDTO comActWarehouseApplyDTO) { + LoginUserInfoVO loginUserInfo = getLoginUserInfo(); + comActWarehouseApplyDTO.setOperateUserId(loginUserInfo.getUserId()); + comActWarehouseApplyDTO.setCommunityId(loginUserInfo.getCommunityId()); + return communityService.applyDonates(comActWarehouseApplyDTO); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/pom.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/pom.xml index 5dafd06..7f6e67e 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/pom.xml +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/pom.xml @@ -82,6 +82,18 @@ <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> + <!-- zxing生成二维码 --> + <dependency> + <groupId>com.google.zxing</groupId> + <artifactId>core</artifactId> + <version>3.3.3</version> + </dependency> + + <dependency> + <groupId>com.google.zxing</groupId> + <artifactId>javase</artifactId> + <version>3.3.3</version> + </dependency> </dependencies> diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActWarehouseApplyApi.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActWarehouseApplyApi.java new file mode 100644 index 0000000..de59e71 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActWarehouseApplyApi.java @@ -0,0 +1,126 @@ +package com.panzhihua.service_community.api; + + +import com.alibaba.fastjson.JSONObject; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.dtos.property.CommonPage; +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseApplyVO; +import com.panzhihua.common.model.vos.community.warehouse.QRCodeVO; +import com.panzhihua.service_community.entity.ComActWarehouseApply; +import com.panzhihua.service_community.service.ComActWarehouseApplyService; +import com.panzhihua.service_community.util.QRCodeUtil; +import org.springframework.beans.BeanUtils; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * 物品申请表(ComActWarehouseApply)表控制层 + * + * @author makejava + * @since 2021-10-09 17:13:53 + */ +@RestController +@RequestMapping("comActWarehouseApply") +public class ComActWarehouseApplyApi { + /** + * 服务对象 + */ + @Resource + private ComActWarehouseApplyService comActWarehouseApplyService; + + /** + * 分页查询所有数据 + * + * @param commonPage 查询实体 + * @return 所有数据 + */ + @PostMapping("queryAll") + public R selectAll(@RequestBody CommonPage commonPage) { + return this.comActWarehouseApplyService.pageList(commonPage); + } + + /** + * 统计查询 + * + * @param communityId + * @return 所有数据 + */ + @GetMapping("selectStatics") + public R selectAll(@RequestParam("communityId") Long communityId) { + return this.comActWarehouseApplyService.selectStatics(communityId); + } + + /** + * 通过主键查询单条数据 + * + * @param id 主键 + * @return 单条数据 + */ + @GetMapping("{id}") + public R selectOne(@PathVariable("id") Integer id) { + return this.comActWarehouseApplyService.selectById(id); + } + + /** + * 新增数据 + * + * @param comActWarehouseApplyVO 实体对象 + * @return 新增结果 + */ + @PostMapping + public R insert(@RequestBody ComActWarehouseApplyVO comActWarehouseApplyVO) { + ComActWarehouseApply comActWarehouseApply=new ComActWarehouseApply(); + BeanUtils.copyProperties(comActWarehouseApplyVO,comActWarehouseApply); + return R.ok(this.comActWarehouseApplyService.save(comActWarehouseApply)); + } + + /** + * 修改数据 + * + * @param comActWarehouseApplyVO 实体对象 + * @return 修改结果 + */ + @PostMapping("/update") + public R update(@RequestBody ComActWarehouseApplyVO comActWarehouseApplyVO) { + ComActWarehouseApply comActWarehouseApply=new ComActWarehouseApply(); + BeanUtils.copyProperties(comActWarehouseApplyVO,comActWarehouseApply); + return this.comActWarehouseApplyService.update(comActWarehouseApply); + } + + /** + * 删除数据 + * + * @param id 主键结合 + * @return 删除结果 + */ + @GetMapping("del") + public R delete(@RequestParam("id") Long id) { + return R.ok(this.comActWarehouseApplyService.removeById(id)); + } + + /** + * 生成二维码 + * @param qrCodeVO + * @return + */ + @PostMapping("/getQRCode") + public R getQRCode(@RequestBody QRCodeVO qrCodeVO){ + return R.ok(QRCodeUtil.getBase64QRCode(JSONObject.toJSONString(qrCodeVO))); + } + /** + * 社区团队权限校验 + */ + @GetMapping("/check") + public R check(@RequestParam("phone") String phone){ + return this.comActWarehouseApplyService.check(phone); + } + + /** + * 导出数据 + */ + @PostMapping("/export") + public R export(@RequestBody CommonPage commonPage){ + return this.comActWarehouseApplyService.export(commonPage); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActWarehouseBaseApi.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActWarehouseBaseApi.java new file mode 100644 index 0000000..aa19460 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActWarehouseBaseApi.java @@ -0,0 +1,82 @@ +package com.panzhihua.service_community.api; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.api.ApiController; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.dtos.property.CommonPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseBaseVO; +import com.panzhihua.service_community.entity.ComActWarehouseBase; +import com.panzhihua.service_community.service.ComActWarehouseBaseService; +import org.springframework.beans.BeanUtils; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.io.Serializable; +import java.util.List; + +/** + * 义仓基础设置表(ComActWarehouseBase)表控制层 + * + * @author makejava + * @since 2021-10-11 09:21:53 + */ +@RestController +@RequestMapping("comActWarehouseBase") +public class ComActWarehouseBaseApi { + /** + * 服务对象 + */ + @Resource + private ComActWarehouseBaseService comActWarehouseBaseService; + + /** + * 通过社区id查询单条数据 + * + * @param communityId 主键 + * @return 单条数据 + */ + @GetMapping + public R selectOne(@RequestParam("communityId") Long communityId) { + return R.ok(this.comActWarehouseBaseService.getOne(new QueryWrapper<ComActWarehouseBase>().lambda().eq(ComActWarehouseBase::getCommunityId,communityId))); + } + + /** + * 新增数据 + * + * @param comActWarehouseBaseVO 实体对象 + * @return 新增结果 + */ + @PostMapping + public R insert(@RequestBody ComActWarehouseBaseVO comActWarehouseBaseVO) { + ComActWarehouseBase comActWarehouseBase=new ComActWarehouseBase(); + BeanUtils.copyProperties(comActWarehouseBaseVO,comActWarehouseBase); + if(comActWarehouseBase.getId()!=null){ + return R.ok(this.comActWarehouseBaseService.updateById(comActWarehouseBase)); + } + return R.ok(this.comActWarehouseBaseService.save(comActWarehouseBase)); + } + + /** + * 修改数据 + * + * @param comActWarehouseBase 实体对象 + * @return 修改结果 + */ + @PostMapping("/update") + public R update(@RequestBody ComActWarehouseBase comActWarehouseBase) { + return R.ok(this.comActWarehouseBaseService.updateById(comActWarehouseBase)); + } + + /** + * 删除数据 + * + * @param id 主键结合 + * @return 删除结果 + */ + @GetMapping("del") + public R delete(@RequestParam("id") Long id) { + return R.ok(this.comActWarehouseBaseService.removeById(id)); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActWarehouseDonatesApi.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActWarehouseDonatesApi.java new file mode 100644 index 0000000..66d5aa9 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActWarehouseDonatesApi.java @@ -0,0 +1,182 @@ +package com.panzhihua.service_community.api; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.api.ApiController; +import com.panzhihua.common.model.dtos.community.warehouse.ComActWarehouseApplyDTO; +import com.panzhihua.common.model.dtos.community.warehouse.ComActWarehouseDonatesDTO; +import com.panzhihua.common.model.dtos.community.warehouse.ExportDonatesDTO; +import com.panzhihua.common.model.dtos.community.warehouse.PageDonatesDTO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.dtos.property.CommonPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.common.model.vos.community.warehouse.WarehouseDonatesExcelVO; +import com.panzhihua.service_community.entity.ComActWarehouseDonates; +import com.panzhihua.service_community.service.ComActWarehouseDonatesService; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.io.Serializable; +import java.util.List; + +/** + * 爱心义仓/物品捐赠表(ComActWarehouseDonates)表控制层 + * + * @author makejava + * @since 2021-10-09 17:14:16 + */ +@RestController +@RequestMapping("comActWarehouseDonates") +public class ComActWarehouseDonatesApi { + /** + * 服务对象 + */ + @Resource + private ComActWarehouseDonatesService comActWarehouseDonatesService; + + /** + * 分页查询所有数据 + * + * @param commonPage 查询实体 + * @return 所有数据 + */ + @PostMapping("queryAll") + public R selectAll(@RequestBody CommonPage commonPage) { + return this.comActWarehouseDonatesService.pageList(commonPage); + } + + /** + * 通过主键查询单条数据 + * + * @param id 主键 + * @return 单条数据 + */ + @GetMapping("{id}") + public R selectOne(@PathVariable("id") Serializable id) { + return R.ok(this.comActWarehouseDonatesService.getById(id)); + } + + /** + * 新增数据 + * + * @param comActWarehouseDonates 实体对象 + * @return 新增结果 + */ + @PostMapping + public R insert(@RequestBody ComActWarehouseDonates comActWarehouseDonates) { + return R.ok(this.comActWarehouseDonatesService.save(comActWarehouseDonates)); + } + + /** + * 修改数据 + * + * @param comActWarehouseDonates 实体对象 + * @return 修改结果 + */ + @PostMapping("/update") + public R update(@RequestBody ComActWarehouseDonates comActWarehouseDonates) { + return R.ok(this.comActWarehouseDonatesService.updateById(comActWarehouseDonates)); + } + + /** + * 删除数据 + * + * @param id 主键结合 + * @return 删除结果 + */ + @GetMapping("del") + public R delete(@RequestParam("id") Long id) { + return R.ok(this.comActWarehouseDonatesService.removeById(id)); + } + + /** + * 后台导入捐赠物品 + * @param list + * @return + */ + @PostMapping("/import") + public R batchImportWarehouseDonates(@RequestBody List<WarehouseDonatesExcelVO> list) { + return comActWarehouseDonatesService.batchImportWarehouseDonates(list); + } + + /** + * 后台导出捐赠物品表格 + * @param exportDonatesDTO + * @return + */ + @PostMapping("/donates/export") + public R exportDonates(@RequestBody ExportDonatesDTO exportDonatesDTO) { + return comActWarehouseDonatesService.exportDonates(exportDonatesDTO); + } + + /** + * 分页查询捐赠物品 + * @param pageDonatesDTO + * @return + */ + @PostMapping("/donates/page") + public R pageDonates(@RequestBody PageDonatesDTO pageDonatesDTO) { + return comActWarehouseDonatesService.pageDonates(pageDonatesDTO); + } + + /** + * 新增物品捐赠 + * @param comActWarehouseDonatesDTO + * @return + */ + @PostMapping("/donates/add") + public R addDonates(@RequestBody ComActWarehouseDonatesDTO comActWarehouseDonatesDTO) { + return comActWarehouseDonatesService.addDonates(comActWarehouseDonatesDTO); + } + + /** + * 查看物品捐赠详情 + * @param donatesId + * @return + */ + @GetMapping("/donates/get") + public R getDonates(@RequestParam("donatesId") Long donatesId, @RequestParam("isWhich") Integer isWhich, @RequestParam("userId") Long userId) { + return comActWarehouseDonatesService.getDonates(donatesId, isWhich, userId); + } + + /** + * 捐赠物品后台签收 + * @param comActWarehouseDonatesDTO + * @return + */ + @PostMapping("/donates/signing") + public R signingDonates(@RequestBody ComActWarehouseDonatesDTO comActWarehouseDonatesDTO) { + return comActWarehouseDonatesService.signingDonates(comActWarehouseDonatesDTO); + } + + /** + * 用户取消捐赠 + * @param donatesId + * @param currentUser + * @return + */ + @GetMapping("/donates/cancel") + public R cancelDonates(@RequestParam("donatesId") Long donatesId, @RequestParam("currentUser") Long currentUser) { + return comActWarehouseDonatesService.cancelDonates(donatesId, currentUser); + } + + /** + * 捐赠物品统计查询 + * @param communityId + * @return + */ + @GetMapping("/donates/statistics") + public R getDonatesStatistics(@RequestParam("communityId") Long communityId) { + return comActWarehouseDonatesService.getDonatesStatistics(communityId); + } + + /** + * 社区后台物品领用 + * @param comActWarehouseApplyDTO + * @return + */ + @PostMapping("/donates/apply") + public R applyDonates(@RequestBody ComActWarehouseApplyDTO comActWarehouseApplyDTO) { + return comActWarehouseDonatesService.applyDonates(comActWarehouseApplyDTO); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActWarehouseOperationApi.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActWarehouseOperationApi.java new file mode 100644 index 0000000..01dd62b --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActWarehouseOperationApi.java @@ -0,0 +1,86 @@ +package com.panzhihua.service_community.api; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.api.ApiController; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.dtos.property.CommonPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.service_community.entity.ComActWarehouseOperation; +import com.panzhihua.service_community.service.ComActWarehouseOperationService; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.io.Serializable; +import java.util.List; + +/** + * 爱心义操作表(ComActWarehouseOperation)表控制层 + * + * @author makejava + * @since 2021-10-09 17:14:34 + */ +@RestController +@RequestMapping("comActWarehouseOperation") +public class ComActWarehouseOperationApi { + /** + * 服务对象 + */ + @Resource + private ComActWarehouseOperationService comActWarehouseOperationService; + + /** + * 分页查询所有数据 + * + * @param commonPage 查询实体 + * @return 所有数据 + */ + @PostMapping("queryAll") + public R selectAll(@RequestBody CommonPage commonPage) { + return this.comActWarehouseOperationService.pageList(commonPage); + } + + /** + * 通过主键查询单条数据 + * + * @param id 主键 + * @return 单条数据 + */ + @GetMapping("{id}") + public R selectOne(@PathVariable("id") Serializable id) { + return R.ok(this.comActWarehouseOperationService.getById(id)); + } + + /** + * 新增数据 + * + * @param comActWarehouseOperation 实体对象 + * @return 新增结果 + */ + @PostMapping + public R insert(@RequestBody ComActWarehouseOperation comActWarehouseOperation) { + return R.ok(this.comActWarehouseOperationService.save(comActWarehouseOperation)); + } + + /** + * 修改数据 + * + * @param comActWarehouseOperation 实体对象 + * @return 修改结果 + */ + @PostMapping("/update") + public R update(@RequestBody ComActWarehouseOperation comActWarehouseOperation) { + return R.ok(this.comActWarehouseOperationService.updateById(comActWarehouseOperation)); + } + + /** + * 删除数据 + * + * @param id 主键结合 + * @return 删除结果 + */ + @GetMapping("del") + public R delete(@RequestParam("id") Long id) { + return R.ok(this.comActWarehouseOperationService.removeById(id)); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActWarehouseApplyDao.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActWarehouseApplyDao.java new file mode 100644 index 0000000..c0c0fa7 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActWarehouseApplyDao.java @@ -0,0 +1,51 @@ +package com.panzhihua.service_community.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.common.model.dtos.property.CommonPage; +import com.panzhihua.common.model.vos.community.warehouse.ApplyStatistics; +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseApplyVO; +import com.panzhihua.service_community.entity.ComActWarehouseApply; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 物品申请表(ComActWarehouseApply)表数据库访问层 + * + * @author makejava + * @since 2021-10-09 17:13:52 + */ +@Mapper +public interface ComActWarehouseApplyDao extends BaseMapper<ComActWarehouseApply> { + /** + * 分页查询 + * @param page + * @param commonPage + * @return + */ + IPage<ComActWarehouseApplyVO> queryAll(Page page, @Param("commonPage")CommonPage commonPage); + + /** + * 申领统计 + * @param communityId + * @return ApplyStatistics + */ + ApplyStatistics selectStatics(Long communityId); + + /** + * 主键查询详情 + * @param id + * @return ComActWarehouseApplyVO + */ + ComActWarehouseApplyVO selectById(Integer id); + + /** + * 条件导出 + * @param commonPage + * @return + */ + List<ComActWarehouseApplyVO> queryAll(@Param("commonPage") CommonPage commonPage); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActWarehouseBaseDao.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActWarehouseBaseDao.java new file mode 100644 index 0000000..05febc2 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActWarehouseBaseDao.java @@ -0,0 +1,16 @@ +package com.panzhihua.service_community.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import com.panzhihua.service_community.entity.ComActWarehouseBase; + +/** + * 义仓基础设置表(ComActWarehouseBase)表数据库访问层 + * + * @author makejava + * @since 2021-10-11 09:21:52 + */ +@Mapper +public interface ComActWarehouseBaseDao extends BaseMapper<ComActWarehouseBase> { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActWarehouseDonatesDao.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActWarehouseDonatesDao.java new file mode 100644 index 0000000..8eee9f6 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActWarehouseDonatesDao.java @@ -0,0 +1,73 @@ +package com.panzhihua.service_community.dao; + +import java.util.List; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.common.model.dtos.community.warehouse.PageDonatesDTO; +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseDonatesVO; +import com.panzhihua.common.model.vos.community.warehouse.DonatesStatisticsVO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.panzhihua.common.model.dtos.community.warehouse.ExportDonatesDTO; +import com.panzhihua.common.model.vos.community.warehouse.ExportDonatesVO; +import com.panzhihua.service_community.entity.ComActWarehouseDonates; + +/** + * 爱心义仓/物品捐赠表(ComActWarehouseDonates)表数据库访问层 + * + * @author makejava + * @since 2021-10-09 17:14:15 + */ +@Mapper +public interface ComActWarehouseDonatesDao extends BaseMapper<ComActWarehouseDonates> { + + /** + * 批量插入捐赠物品 + * @param donateList + * @return + */ + int batchInsertDonates(@Param("donateList") List<ComActWarehouseDonates> donateList); + + /** + * 根据id查找导出数据 + * @param needExportIds + * @return + */ + List<ExportDonatesVO> exportDonatesByIds(@Param("needExportIds") List<Long> needExportIds); + + /** + * 根据查询条件导出数据 + * @param exportDonatesDTO + * @return + */ + List<ExportDonatesVO> exportDonatesBySearch(@Param("exportDonatesDTO") ExportDonatesDTO exportDonatesDTO); + + /** + * 社区后台分页查询捐赠物品 + * @param page + * @param pageDonatesDTO + * @return + */ + IPage<ComActWarehouseDonatesVO> pageDonates(@Param("page") Page page, @Param("pageDonatesDTO") PageDonatesDTO pageDonatesDTO); + + /** + * 查看捐赠详情 + * @param donatesId + * @return + */ + ComActWarehouseDonatesVO selectDetailById(@Param("donatesId") Long donatesId); + + /** + * 捐赠物品统计查询 + * @param communityId + * @param currentYear + * @param currentMonth + * @param today + * @return + */ + DonatesStatisticsVO selectDonatesStatistics(@Param("communityId") Long communityId, @Param("currentYear") String currentYear, + @Param("currentMonth") String currentMonth, @Param("today") String today); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActWarehouseOperationDao.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActWarehouseOperationDao.java new file mode 100644 index 0000000..f4ce77e --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActWarehouseOperationDao.java @@ -0,0 +1,44 @@ +package com.panzhihua.service_community.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.common.model.dtos.property.CommonPage; +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseOperationVO; +import org.apache.ibatis.annotations.Mapper; +import com.panzhihua.service_community.entity.ComActWarehouseOperation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 爱心义操作表(ComActWarehouseOperation)表数据库访问层 + * + * @author makejava + * @since 2021-10-09 17:14:34 + */ +@Mapper +public interface ComActWarehouseOperationDao extends BaseMapper<ComActWarehouseOperation> { + + /** + * 批量插入操作记录 + * @param operationList + * @return + */ + int batchInsertOperation(@Param("operationList") List<ComActWarehouseOperation> operationList); + + /** + * 分页查询 + * @param page + * @param commonPage + * @return + */ + IPage<ComActWarehouseOperationVO> pageList(Page page, @Param("commonPage")CommonPage commonPage); + + /** + * 获取捐赠物品相关操作记录 + * @param donatesId + * @return + */ + List<ComActWarehouseOperationVO> selectList(@Param("donatesId") Long donatesId); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComPbServiceTeamDao.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComPbServiceTeamDao.java new file mode 100644 index 0000000..38b2691 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComPbServiceTeamDao.java @@ -0,0 +1,16 @@ +package com.panzhihua.service_community.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import com.panzhihua.service_community.entity.ComPbServiceTeam; + +/** + * 服务团队(ComPbServiceTeam)表数据库访问层 + * + * @author makejava + * @since 2021-10-11 13:24:35 + */ +@Mapper +public interface ComPbServiceTeamDao extends BaseMapper<ComPbServiceTeam> { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComActWarehouseApply.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComActWarehouseApply.java new file mode 100644 index 0000000..e88ca2f --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComActWarehouseApply.java @@ -0,0 +1,144 @@ +package com.panzhihua.service_community.entity; + +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 物品申请表(ComActWarehouseApply)表实体类 + * + * @author makejava + * @since 2021-10-11 13:47:37 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@ApiModel("物品申请表") +public class ComActWarehouseApply implements Serializable { + + private static final long serialVersionUID = 225290522401641721L; + + @TableId(type = IdType.AUTO) + private Integer id; + + /** + * 物品id + */ + @ApiModelProperty(value = "物品id") + private Integer goodsId; + + /** + * 物品数量 + */ + @ApiModelProperty(value = "物品数量") + private Integer goodsNum; + + /** + * 预约时间 + */ + @ApiModelProperty(value = "预约时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date reserveTime; + + /** + * 实际时间 + */ + @ApiModelProperty(value = "实际时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date actualTime; + + /** + * 理由 + */ + @ApiModelProperty(value = "理由") + private String reason; + + /** + * 领取图片 + */ + @ApiModelProperty(value = "领取图片") + private String receiveUrl; + + /** + * 提交时间 + */ + @ApiModelProperty(value = "提交时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + /** + * 状态 0待处理 1 待领取 2已拒绝 3已领取 -1已取消 + */ + @ApiModelProperty(value = "状态 0待处理 1 待领取 2已拒绝 3已领取 -1已取消") + private Integer status; + + /** + * 申请人id + */ + @ApiModelProperty("申请人id") + private Long applyUserId; + + /** + * 申请人 + */ + @ApiModelProperty("申请人") + private String applyName; + + /** + * 申请人联系电话 + */ + @ApiModelProperty("申请人联系电话") + private String applyPhone; + + /** + * 处理人id + */ + @ApiModelProperty(value = "处理人id") + private Long solveUserId; + + /** + * 处理人时间 + */ + @ApiModelProperty(value = "处理人时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date solveTime; + + /** + * 处理人备注 + */ + @ApiModelProperty(value = "处理人备注") + private String solveContent; + + /** + * 核销人id + */ + @ApiModelProperty(value = "核销人id") + private Long writeOffUserId; + + /** + * 取消时间 + */ + @ApiModelProperty(value = "取消时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date cancelTime; + + /** + * 社区id + */ + @ApiModelProperty(value = "社区id") + private Long communityId; + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComActWarehouseBase.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComActWarehouseBase.java new file mode 100644 index 0000000..67a3c41 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComActWarehouseBase.java @@ -0,0 +1,82 @@ +package com.panzhihua.service_community.entity; + +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 义仓基础设置表(ComActWarehouseBase)表实体类 + * + * @author makejava + * @since 2021-10-11 09:21:52 + */ +@Data +@ApiModel("义仓基础设置表") +public class ComActWarehouseBase implements Serializable { + + private static final long serialVersionUID = -68726161070095574L; + + @TableId(type = IdType.AUTO) + private Integer id; + + /** + * 义仓说明 + */ + @ApiModelProperty(value = "义仓说明") + private String warehouseExplain; + + /** + * 工作时间 + */ + @ApiModelProperty(value = "工作时间") + private String warehouseWorkTime; + + /** + * 联系电话 + */ + @ApiModelProperty(value = "联系电话") + private String warehouseContact; + + /** + * 接收地点 + */ + @ApiModelProperty(value = "接收地点") + private String receivePosition; + + /** + * 社区id + */ + @ApiModelProperty(value = "社区id") + private Long communityId; + + /** + * 创建时间 + */ + @ApiModelProperty(value = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + /** + *经度 + */ + @ApiModelProperty("经度") + private String longitude; + + /** + *纬度 + */ + @ApiModelProperty("纬度") + private String latitude; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComActWarehouseDonates.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComActWarehouseDonates.java new file mode 100644 index 0000000..3baca88 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComActWarehouseDonates.java @@ -0,0 +1,135 @@ +package com.panzhihua.service_community.entity; + +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 爱心义仓/物品捐赠表(ComActWarehouseDonates)表实体类 + * + * @author makejava + * @since 2021-10-09 17:14:15 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@ApiModel("爱心义仓/物品捐赠表") +public class ComActWarehouseDonates implements Serializable { + + private static final long serialVersionUID = 957879321976072909L; + + /** + * 主键id + */ + @ApiModelProperty(value = "主键id") + @TableId(type = IdType.AUTO) + private Long id; + + /** + * 用户关联id + */ + @ApiModelProperty(value = "用户关联id") + private Long userId; + + /** + * 捐赠人 + */ + @ApiModelProperty(value = "捐赠人") + private String name; + + /** + * 联系电话 + */ + @ApiModelProperty(value = "联系电话") + private String phone; + + /** + * 捐赠物品 + */ + @ApiModelProperty(value = "捐赠物品") + private String item; + + /** + * 物品图片 + */ + @ApiModelProperty(value = "物品图片") + private String image; + + /** + * 捐赠数量 + */ + @ApiModelProperty(value = "捐赠数量") + private Integer quantity; + + /** + * 剩余数量 + */ + @ApiModelProperty(value = "剩余数量") + private Integer surplusQuantity; + + /** + * 是否匿名(1.是 2.否) + */ + @ApiModelProperty(value = "是否匿名(1.是 2.否)") + private Integer isAnonymous; + + /** + * 留言信息 + */ + @ApiModelProperty(value = "留言信息") + private String message; + + /** + * 物品登记时间 + */ + @ApiModelProperty(value = "物品登记时间") + private Date registerAt; + + /** + * 物品签收时间 + */ + @ApiModelProperty(value = "物品签收时间") + private Date signingAt; + + /** + * 捐赠状态(1.待签收 2.已签收 3.已取消) + */ + @ApiModelProperty(value = "捐赠状态(1.待签收 2.已签收 3.已取消)") + private Integer status; + + /** + * 社区id + */ + @ApiModelProperty(value = "社区id") + private Long communityId; + + /** + * 登记人 + */ + @ApiModelProperty(value = "登记人") + private Long registerBy; + + /** + * 签收人 + */ + @ApiModelProperty(value = "签收人") + private Long signingBy; + + public interface status { + int dqs = 1; + int yqs = 2; + int yqx = 3; + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComActWarehouseOperation.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComActWarehouseOperation.java new file mode 100644 index 0000000..3624508 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComActWarehouseOperation.java @@ -0,0 +1,73 @@ +package com.panzhihua.service_community.entity; + +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 爱心义操作表(ComActWarehouseOperation)表实体类 + * + * @author makejava + * @since 2021-10-09 17:14:33 + */ +@Data +@ApiModel("爱心义操作表") +public class ComActWarehouseOperation implements Serializable { + + private static final long serialVersionUID = -74893029545359720L; + + @TableId(type = IdType.AUTO) + private Integer id; + + /** + * 物品id + */ + @ApiModelProperty(value = "物品id") + private Integer goodsId; + + /** + * 操作内容 + */ + @ApiModelProperty(value = "操作内容") + private String content; + + /** + * 操作时间 + */ + @ApiModelProperty(value = "操作时间") + private Date createTime; + + /** + * 操作人 + */ + @ApiModelProperty(value = "操作人") + private Integer userId; + + /** + *类型 1签收,取消操作 2捐赠操作 + */ + @ApiModelProperty(value = "类型 1签收,取消操作 2捐赠操作") + private Integer type; + + /** + * 申请id + */ + @ApiModelProperty(value = "申请id") + private Integer applyId; + + public interface type{ + int bxs=1; + int xs=2; + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComPbServiceTeam.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComPbServiceTeam.java new file mode 100644 index 0000000..6f1fe7d --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComPbServiceTeam.java @@ -0,0 +1,80 @@ +package com.panzhihua.service_community.entity; + +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 服务团队(ComPbServiceTeam)表实体类 + * + * @author makejava + * @since 2021-10-11 13:24:35 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@ApiModel("服务团队") +public class ComPbServiceTeam implements Serializable { + + private static final long serialVersionUID = -12211594984638204L; + + @TableId(type = IdType.AUTO) + private Long id; + + /** + * 姓名 + */ + @ApiModelProperty(value = "姓名") + private String name; + + /** + * 职位 + */ + @ApiModelProperty(value = "职位") + private String job; + + /** + * 职位2 + */ + @ApiModelProperty(value = "职位2") + private String jobTwo; + + /** + * 照片 + */ + @ApiModelProperty(value = "照片") + private String url; + + private Date createAt; + + /** + * 社区id + */ + @ApiModelProperty(value = "社区id") + private Long communityId; + + private String jobResponsibilities; + + private String phone; + + private Integer isReg; + + /** + * 身份证号码 + */ + @ApiModelProperty(value = "身份证号码") + private String cardNo; + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActWarehouseApplyService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActWarehouseApplyService.java new file mode 100644 index 0000000..5865b91 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActWarehouseApplyService.java @@ -0,0 +1,54 @@ +package com.panzhihua.service_community.service; + +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.dtos.property.CommonPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.service_community.entity.ComActWarehouseApply; + +/** + * 物品申请表(ComActWarehouseApply)表服务接口 + * + * @author makejava + * @since 2021-10-09 17:13:52 + */ +public interface ComActWarehouseApplyService extends IService<ComActWarehouseApply> { + /** + * 分页查询 + * @param commonPage + * @return + */ + R pageList(CommonPage commonPage); + + /** + * 社区id查询统计数据 + * @param communityId + * @return + */ + R selectStatics(Long communityId); + + /** + * 主键查询详情 + * @param id + * @return + */ + R selectById(Integer id); + + /** + * 验证用户是否社区团队 + * @param phone + * @return + */ + R check(String phone); + + /** + * 更新 + * @param comActWarehouseApply + * @return + */ + R update(ComActWarehouseApply comActWarehouseApply); + + /** + * 导出 + */ + R export(CommonPage commonPage); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActWarehouseBaseService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActWarehouseBaseService.java new file mode 100644 index 0000000..3ae93e9 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActWarehouseBaseService.java @@ -0,0 +1,15 @@ +package com.panzhihua.service_community.service; + +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.dtos.property.CommonPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.service_community.entity.ComActWarehouseBase; + +/** + * 义仓基础设置表(ComActWarehouseBase)表服务接口 + * + * @author makejava + * @since 2021-10-11 09:21:53 + */ +public interface ComActWarehouseBaseService extends IService<ComActWarehouseBase> { +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActWarehouseDonatesService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActWarehouseDonatesService.java new file mode 100644 index 0000000..95132f2 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActWarehouseDonatesService.java @@ -0,0 +1,89 @@ +package com.panzhihua.service_community.service; + +import com.panzhihua.common.model.dtos.community.warehouse.ComActWarehouseApplyDTO; +import com.panzhihua.common.model.dtos.community.warehouse.ComActWarehouseDonatesDTO; +import com.panzhihua.common.model.dtos.community.warehouse.ExportDonatesDTO; +import com.panzhihua.common.model.dtos.community.warehouse.PageDonatesDTO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.dtos.property.CommonPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.common.model.vos.community.warehouse.WarehouseDonatesExcelVO; +import com.panzhihua.service_community.entity.ComActWarehouseDonates; + +import java.util.List; + +/** + * 爱心义仓/物品捐赠表(ComActWarehouseDonates)表服务接口 + * + * @author makejava + * @since 2021-10-09 17:14:16 + */ +public interface ComActWarehouseDonatesService extends IService<ComActWarehouseDonates> { + R pageList(CommonPage commonPage); + + /** + * 后台导入捐赠物品 + * @param list + * @return + */ + R batchImportWarehouseDonates(List<WarehouseDonatesExcelVO> list); + + /** + * 后台导出捐赠物品表格 + * @param exportDonatesDTO + * @return + */ + R exportDonates(ExportDonatesDTO exportDonatesDTO); + + /** + * 分页查询捐赠物品 + * @param pageDonatesDTO + * @return + */ + R pageDonates(PageDonatesDTO pageDonatesDTO); + + /** + * 新增物品捐赠 + * @param comActWarehouseDonatesDTO + * @return + */ + R addDonates(ComActWarehouseDonatesDTO comActWarehouseDonatesDTO); + + /** + * 查看物品捐赠详情 + * @param donatesId + * @param isWhich + * @param userId + * @return + */ + R getDonates(Long donatesId, Integer isWhich, Long userId); + + /** + * 捐赠物品后台签收 + * @param comActWarehouseDonatesDTO + * @return + */ + R signingDonates(ComActWarehouseDonatesDTO comActWarehouseDonatesDTO); + + /** + * 用户取消捐赠 + * @param donatesId + * @param currentUser + * @return + */ + R cancelDonates(Long donatesId, Long currentUser); + + /** + * 捐赠物品统计查询 + * @param communityId + * @return + */ + R getDonatesStatistics(Long communityId); + + /** + * 社区后台物品领用 + * @param comActWarehouseApplyDTO + * @return + */ + R applyDonates(ComActWarehouseApplyDTO comActWarehouseApplyDTO); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActWarehouseOperationService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActWarehouseOperationService.java new file mode 100644 index 0000000..75fdea2 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActWarehouseOperationService.java @@ -0,0 +1,16 @@ +package com.panzhihua.service_community.service; + +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.dtos.property.CommonPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.service_community.entity.ComActWarehouseOperation; + +/** + * 爱心义操作表(ComActWarehouseOperation)表服务接口 + * + * @author makejava + * @since 2021-10-09 17:14:34 + */ +public interface ComActWarehouseOperationService extends IService<ComActWarehouseOperation> { + R pageList(CommonPage commonPage); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWarehouseApplyServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWarehouseApplyServiceImpl.java new file mode 100644 index 0000000..ac8e76f --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWarehouseApplyServiceImpl.java @@ -0,0 +1,92 @@ +package com.panzhihua.service_community.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.common.model.dtos.property.CommonPage; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseApplyVO; +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseOperationVO; +import com.panzhihua.service_community.dao.ComActWarehouseDonatesDao; +import com.panzhihua.service_community.dao.ComActWarehouseOperationDao; +import com.panzhihua.service_community.dao.ComPbServiceTeamDao; +import com.panzhihua.service_community.dao.ComActWarehouseApplyDao; +import com.panzhihua.service_community.entity.ComActWarehouseApply; +import com.panzhihua.service_community.entity.ComActWarehouseDonates; +import com.panzhihua.service_community.entity.ComActWarehouseOperation; +import com.panzhihua.service_community.entity.ComPbServiceTeam; +import com.panzhihua.service_community.service.ComActWarehouseApplyService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Date; + +/** + * 物品申请表(ComActWarehouseApply)表服务实现类 + * + * @author makejava + * @since 2021-10-09 17:13:53 + */ +@Slf4j +@Service +public class ComActWarehouseApplyServiceImpl extends ServiceImpl<ComActWarehouseApplyDao, ComActWarehouseApply> implements ComActWarehouseApplyService { + @Resource + private ComActWarehouseApplyDao comActWarehouseApplyDao; + @Resource + private ComPbServiceTeamDao comPbServiceTeamDao; + @Resource + private ComActWarehouseDonatesDao comActWarehouseDonatesDao; + @Resource + private ComActWarehouseOperationDao comActWarehouseOperationDao; + @Override + public R pageList(CommonPage commonPage) { + IPage<ComActWarehouseApplyVO> iPage=this.comActWarehouseApplyDao.queryAll(new Page<>(commonPage.getPage(),commonPage.getSize()),commonPage); + return R.ok(iPage); + } + + @Override + public R selectStatics(Long communityId) { + return R.ok(this.comActWarehouseApplyDao.selectStatics(communityId)); + } + + @Override + public R selectById(Integer id) { + return R.ok(this.comActWarehouseApplyDao.selectById(id)); + } + + @Override + public R check(String phone) { + Integer count=comPbServiceTeamDao.selectCount(new QueryWrapper<ComPbServiceTeam>().lambda().eq(ComPbServiceTeam::getPhone,phone)); + return count>0? R.ok():R.fail("无权限"); + } + @Transactional(rollbackFor = Exception.class) + @Override + public R update(ComActWarehouseApply comActWarehouseApply) { + ComActWarehouseApplyVO comActWarehouseApply1=this.comActWarehouseApplyDao.selectById(comActWarehouseApply.getId()); + if(comActWarehouseApply.getStatus().equals(ComActWarehouseApplyVO.status.ylq)){ + ComActWarehouseDonates comActWarehouseDonates=this.comActWarehouseDonatesDao.selectById(comActWarehouseApply1.getGoodsId()); + if(comActWarehouseDonates!=null&&comActWarehouseDonates.getSurplusQuantity()>=comActWarehouseApply.getGoodsNum()){ + comActWarehouseDonates.setSurplusQuantity(comActWarehouseDonates.getSurplusQuantity()-comActWarehouseApply.getGoodsNum()); + this.comActWarehouseDonatesDao.updateById(comActWarehouseDonates); + ComActWarehouseOperation comActWarehouseOperation=new ComActWarehouseOperation(); + comActWarehouseOperation.setGoodsId(comActWarehouseApply.getGoodsId()); + comActWarehouseOperation.setCreateTime(new Date()); + comActWarehouseOperation.setType(ComActWarehouseOperation.type.xs); + comActWarehouseOperation.setApplyId(comActWarehouseApply.getId()); + this.comActWarehouseOperationDao.insert(comActWarehouseOperation); + } + else { + return R.fail("库存不足"); + } + } + return R.ok(this.comActWarehouseApplyDao.updateById(comActWarehouseApply)); + } + + @Override + public R export(CommonPage commonPage) { + return R.ok(this.comActWarehouseApplyDao.queryAll(commonPage)); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWarehouseBaseServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWarehouseBaseServiceImpl.java new file mode 100644 index 0000000..ba41047 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWarehouseBaseServiceImpl.java @@ -0,0 +1,22 @@ +package com.panzhihua.service_community.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.common.model.dtos.property.CommonPage; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.service_community.entity.ComActWarehouseBase; +import com.panzhihua.service_community.dao.ComActWarehouseBaseDao; +import com.panzhihua.service_community.service.ComActWarehouseBaseService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * 义仓基础设置表(ComActWarehouseBase)表服务实现类 + * + * @author makejava + * @since 2021-10-11 09:21:53 + */ +@Slf4j +@Service +public class ComActWarehouseBaseServiceImpl extends ServiceImpl<ComActWarehouseBaseDao, ComActWarehouseBase> implements ComActWarehouseBaseService { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWarehouseDonatesServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWarehouseDonatesServiceImpl.java new file mode 100644 index 0000000..cf1787b --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWarehouseDonatesServiceImpl.java @@ -0,0 +1,351 @@ +package com.panzhihua.service_community.service.impl; + +import static java.util.Objects.isNull; +import static java.util.Objects.nonNull; +import static org.apache.commons.lang3.StringUtils.isBlank; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +import javax.annotation.Resource; + +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.common.exceptions.ServiceException; +import com.panzhihua.common.model.dtos.community.warehouse.ComActWarehouseApplyDTO; +import com.panzhihua.common.model.dtos.community.warehouse.ComActWarehouseDonatesDTO; +import com.panzhihua.common.model.dtos.community.warehouse.ExportDonatesDTO; +import com.panzhihua.common.model.dtos.community.warehouse.PageDonatesDTO; +import com.panzhihua.common.model.dtos.property.CommonPage; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseApplyVO; +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseDonatesVO; +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseOperationVO; +import com.panzhihua.common.model.vos.community.warehouse.DonatesStatisticsVO; +import com.panzhihua.common.model.vos.community.warehouse.WarehouseDonatesExcelVO; +import com.panzhihua.service_community.dao.ComActWarehouseApplyDao; +import com.panzhihua.service_community.dao.ComActWarehouseDonatesDao; +import com.panzhihua.service_community.dao.ComActWarehouseOperationDao; +import com.panzhihua.service_community.entity.ComActWarehouseApply; +import com.panzhihua.service_community.entity.ComActWarehouseDonates; +import com.panzhihua.service_community.entity.ComActWarehouseOperation; +import com.panzhihua.service_community.service.ComActWarehouseDonatesService; + +import lombok.extern.slf4j.Slf4j; + +/** + * 爱心义仓/物品捐赠表(ComActWarehouseDonates)表服务实现类 + * + * @author makejava + * @since 2021-10-09 17:14:16 + */ +@Slf4j +@Service +public class ComActWarehouseDonatesServiceImpl extends ServiceImpl<ComActWarehouseDonatesDao, ComActWarehouseDonates> implements ComActWarehouseDonatesService { + + @Resource + private ComActWarehouseOperationDao comActWarehouseOperationDao; + @Resource + private ComActWarehouseApplyDao comActWarehouseApplyDao; + + @Override + public R pageList(CommonPage commonPage) { + return null; + } + + /** + * 后台导入捐赠物品 + * @param list + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public R batchImportWarehouseDonates(List<WarehouseDonatesExcelVO> list) { + try { + if (!list.isEmpty()) { + List<ComActWarehouseDonates> donateList = list.stream().map(excelVO -> { + ComActWarehouseDonates donates = new ComActWarehouseDonates(); + BeanUtils.copyProperties(excelVO, donates); + if (excelVO.getIsAnonymous().equals("是")) { + donates.setIsAnonymous(1); + } else { + donates.setIsAnonymous(2); + } + return donates; + }).collect(Collectors.toList()); + this.baseMapper.batchInsertDonates(donateList); + List<ComActWarehouseOperation> operationList = new ArrayList<>(); + Date nowDate = new Date(); + donateList.forEach(donate -> { + Long donateId = donate.getId(); + if (nonNull(donateId)) { + ComActWarehouseOperation comActWarehouseOperation = new ComActWarehouseOperation(); + comActWarehouseOperation.setGoodsId(donateId.intValue()); + comActWarehouseOperation.setUserId(donate.getSigningBy().intValue()); + comActWarehouseOperation.setContent("工作人员完成了物品签收"); + comActWarehouseOperation.setCreateTime(nowDate); + comActWarehouseOperation.setType(ComActWarehouseOperation.type.bxs); + operationList.add(comActWarehouseOperation); + } + }); + if (!operationList.isEmpty()) { + comActWarehouseOperationDao.batchInsertOperation(operationList); + } + } + } catch (Exception e) { + log.error("导入捐赠物品失败【{}】", e.getMessage()); + return R.fail("导入捐赠物品失败"); + } + return R.ok(); + } + + /** + * 后台导出捐赠物品表格 + * @param exportDonatesDTO + * @return + */ + @Override + public R exportDonates(ExportDonatesDTO exportDonatesDTO) { + List<Long> needExportIds = exportDonatesDTO.getIds(); + if (nonNull(needExportIds) && !needExportIds.isEmpty()) { + //根据id导出 + return R.ok(this.baseMapper.exportDonatesByIds(needExportIds)); + } + return R.ok(this.baseMapper.exportDonatesBySearch(exportDonatesDTO)); + } + + /** + * 分页查询捐赠物品 + * @param pageDonatesDTO + * @return + */ + @Override + public R pageDonates(PageDonatesDTO pageDonatesDTO) { + Page page = new Page<>(); + page.setCurrent(pageDonatesDTO.getPageNum()); + page.setSize(pageDonatesDTO.getPageSize()); + IPage<ComActWarehouseDonatesVO> donatesVOIPage = this.baseMapper.pageDonates(page, pageDonatesDTO); + Integer isWhich = pageDonatesDTO.getIsWhich(); + if (nonNull(isWhich) && isWhich.intValue() == 3) { + List<ComActWarehouseDonatesVO> records = donatesVOIPage.getRecords(); + if (!records.isEmpty()) { + records.forEach(record -> { + String name = record.getName(); + if (record.getIsAnonymous().equals(ComActWarehouseDonatesVO.isAnonymous.yes) || isBlank(name)) { + record.setName("匿名用户"); + } else { + record.setName(name.substring(0, 1).concat(name.substring(1).replaceAll("\\S", "*"))); + } + record.setPhone(null); + }); + } + } + return R.ok(donatesVOIPage); + } + + /** + * 新增物品捐赠 + * @param comActWarehouseDonatesDTO + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public R addDonates(ComActWarehouseDonatesDTO comActWarehouseDonatesDTO) { + ComActWarehouseDonates comActWarehouseDonates = new ComActWarehouseDonates(); + BeanUtils.copyProperties(comActWarehouseDonatesDTO, comActWarehouseDonates); + Date nowDate = new Date(); + comActWarehouseDonates.setRegisterAt(nowDate); + comActWarehouseDonates.setSurplusQuantity(comActWarehouseDonatesDTO.getQuantity()); + if (isNull(comActWarehouseDonatesDTO.getUserId())) { + //userId为空代表后台新增 + comActWarehouseDonates.setSigningAt(nowDate); + comActWarehouseDonates.setStatus(2); + } else { + comActWarehouseDonates.setStatus(1); + } + int result = this.baseMapper.insert(comActWarehouseDonates); + if (result > 0) { + if (comActWarehouseDonates.getStatus().intValue() == 2) { + ComActWarehouseOperation comActWarehouseOperation = new ComActWarehouseOperation(); + comActWarehouseOperation.setGoodsId(comActWarehouseDonates.getId().intValue()); + comActWarehouseOperation.setUserId(comActWarehouseDonates.getSigningBy().intValue()); + comActWarehouseOperation.setContent("工作人员完成了物品签收"); + comActWarehouseOperation.setCreateTime(nowDate); + comActWarehouseOperation.setType(ComActWarehouseOperation.type.bxs); + comActWarehouseOperationDao.insert(comActWarehouseOperation); + } + return R.ok(); + } + return R.fail("添加失败,请重试"); + } + + /** + * 查看物品捐赠详情 + * @param donatesId + * @param isWhich + * @param userId + * @return + */ + @Override + public R getDonates(Long donatesId, Integer isWhich, Long userId) { + ComActWarehouseDonatesVO comActWarehouseDonatesVO = this.baseMapper.selectDetailById(donatesId); + if (isNull(comActWarehouseDonatesVO)) { + return R.fail("捐赠物品记录不存在"); + } + if (nonNull(isWhich) && isWhich.intValue() != 0) { + if (isWhich.intValue() == 3) { + String name = comActWarehouseDonatesVO.getName(); + if (comActWarehouseDonatesVO.getIsAnonymous().equals(ComActWarehouseDonatesVO.isAnonymous.yes) || isBlank(name)) { + comActWarehouseDonatesVO.setName("匿名用户"); + } else { + comActWarehouseDonatesVO.setName(name.substring(0, 1).concat(name.substring(1).replaceAll("\\S", "*"))); + } + comActWarehouseDonatesVO.setPhone(null); + } + if (isWhich.intValue() == 1 && !userId.equals(comActWarehouseDonatesVO.getUserId())) { + return R.fail("无法获取他人捐赠记录"); + } + List<ComActWarehouseOperationVO> operationList = comActWarehouseOperationDao.selectList(donatesId); + comActWarehouseDonatesVO.setOperationList(operationList); + } + return R.ok(comActWarehouseDonatesVO); + } + + /** + * 捐赠物品后台签收 + * @param comActWarehouseDonatesDTO + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public R signingDonates(ComActWarehouseDonatesDTO comActWarehouseDonatesDTO) { + ComActWarehouseDonates comActWarehouseDonates = this.baseMapper.selectById(comActWarehouseDonatesDTO.getId()); + if (isNull(comActWarehouseDonates)) { + return R.fail("捐赠物品记录不存在"); + } + if (comActWarehouseDonates.getStatus().intValue() != 1) { + return R.fail("捐赠物品已被签收或已被取消"); + } + BeanUtils.copyProperties(comActWarehouseDonatesDTO, comActWarehouseDonates); + Date nowDate = new Date(); + comActWarehouseDonates.setSigningAt(nowDate); + comActWarehouseDonates.setStatus(2); + int result = this.baseMapper.updateById(comActWarehouseDonates); + if (result > 0) { + ComActWarehouseOperation comActWarehouseOperation = new ComActWarehouseOperation(); + comActWarehouseOperation.setGoodsId(comActWarehouseDonates.getId().intValue()); + comActWarehouseOperation.setUserId(comActWarehouseDonates.getSigningBy().intValue()); + comActWarehouseOperation.setContent("工作人员完成了物品签收"); + comActWarehouseOperation.setCreateTime(nowDate); + comActWarehouseOperation.setType(ComActWarehouseOperation.type.bxs); + comActWarehouseOperationDao.insert(comActWarehouseOperation); + return R.ok(); + } + return R.fail("签收失败"); + } + + /** + * 用户取消捐赠 + * @param donatesId + * @param currentUser + * @return + */ + @Override + public R cancelDonates(Long donatesId, Long currentUser) { + ComActWarehouseDonates comActWarehouseDonates = this.baseMapper.selectById(donatesId); + if (isNull(comActWarehouseDonates)) { + return R.fail("没有你的捐赠记录"); + } + if (!currentUser.equals(comActWarehouseDonates.getUserId())) { + return R.fail("不能取消他人的捐赠记录"); + } + if (comActWarehouseDonates.getStatus().equals(ComActWarehouseDonates.status.yqx)) { + return R.ok(); + } + comActWarehouseDonates.setStatus(ComActWarehouseDonates.status.yqx); + int result = this.baseMapper.updateById(comActWarehouseDonates); + if (result > 0) { + ComActWarehouseOperation comActWarehouseOperation = new ComActWarehouseOperation(); + comActWarehouseOperation.setGoodsId(comActWarehouseDonates.getId().intValue()); + comActWarehouseOperation.setUserId(currentUser.intValue()); + comActWarehouseOperation.setContent("已取消捐赠"); + comActWarehouseOperation.setCreateTime(new Date()); + comActWarehouseOperation.setType(ComActWarehouseOperation.type.bxs); + comActWarehouseOperationDao.insert(comActWarehouseOperation); + } + return R.ok(); + } + + /** + * 捐赠物品统计查询 + * @param communityId + * @return + */ + @Override + public R getDonatesStatistics(Long communityId) { + Date nowDate = new Date(); + SimpleDateFormat yearFormat = new SimpleDateFormat("yyyy"); + SimpleDateFormat monthFormat = new SimpleDateFormat("yyyy-MM"); + SimpleDateFormat dayFormat = new SimpleDateFormat("yyyy-MM-dd"); + String currentYear = yearFormat.format(nowDate).concat("%"); + String currentMonth = monthFormat.format(nowDate).concat("%"); + String today = dayFormat.format(nowDate).concat("%"); + DonatesStatisticsVO donatesStatisticsVO = this.baseMapper.selectDonatesStatistics(communityId, currentYear, currentMonth, today); + donatesStatisticsVO.setTotalDec(donatesStatisticsVO.getTotalInc().intValue() - donatesStatisticsVO.getSurplus().intValue()); + return R.ok(donatesStatisticsVO); + } + + /** + * 社区后台物品领用 + * @param comActWarehouseApplyDTO + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public R applyDonates(ComActWarehouseApplyDTO comActWarehouseApplyDTO) { + List<ComActWarehouseApplyVO> applyItems = comActWarehouseApplyDTO.getApplyItems(); + if (!applyItems.isEmpty()) { + Date nowDate = new Date(); + applyItems.forEach(item -> { + Integer goodsId = item.getGoodsId(); + Integer goodsNum = item.getGoodsNum(); + if (isNull(goodsId) || isNull(goodsNum)) { + throw new ServiceException("请求参数有误"); + } + ComActWarehouseDonates warehouseDonates = this.baseMapper.selectById(goodsId); + if (nonNull(warehouseDonates) && warehouseDonates.getSurplusQuantity() - goodsNum >= 0) { + warehouseDonates.setSurplusQuantity(warehouseDonates.getSurplusQuantity() - goodsNum); + this.baseMapper.updateById(warehouseDonates); + + ComActWarehouseApply apply = new ComActWarehouseApply(); + BeanUtils.copyProperties(comActWarehouseApplyDTO, apply); + apply.setActualTime(nowDate); + apply.setCreateTime(nowDate); + apply.setGoodsId(goodsId); + apply.setGoodsNum(goodsNum); + apply.setReserveTime(nowDate); + apply.setStatus(ComActWarehouseApplyVO.status.ylq); + apply.setWriteOffUserId(comActWarehouseApplyDTO.getOperateUserId()); + comActWarehouseApplyDao.insert(apply); + + ComActWarehouseOperation comActWarehouseOperation=new ComActWarehouseOperation(); + comActWarehouseOperation.setGoodsId(goodsId); + comActWarehouseOperation.setCreateTime(nowDate); + comActWarehouseOperation.setContent("爱心传递给了"+comActWarehouseApplyDTO.getApplyName().charAt(0)+"**,"+"减少了"+comActWarehouseApplyDTO.getReason()+"的困难,谢谢你的帮助"); + comActWarehouseOperation.setType(ComActWarehouseOperation.type.xs); + comActWarehouseOperation.setApplyId(apply.getId()); + comActWarehouseOperationDao.insert(comActWarehouseOperation); + } + }); + } + return R.ok("领取成功,部分物品可能因剩余数量不足领取失败,请以实际领取记录为准"); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWarehouseOperationServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWarehouseOperationServiceImpl.java new file mode 100644 index 0000000..8a794ec --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWarehouseOperationServiceImpl.java @@ -0,0 +1,34 @@ +package com.panzhihua.service_community.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.common.model.dtos.property.CommonPage; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseOperationVO; +import com.panzhihua.service_community.entity.ComActWarehouseOperation; +import com.panzhihua.service_community.dao.ComActWarehouseOperationDao; +import com.panzhihua.service_community.service.ComActWarehouseOperationService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * 爱心义操作表(ComActWarehouseOperation)表服务实现类 + * + * @author makejava + * @since 2021-10-09 17:14:34 + */ +@Slf4j +@Service +public class ComActWarehouseOperationServiceImpl extends ServiceImpl<ComActWarehouseOperationDao, ComActWarehouseOperation> implements ComActWarehouseOperationService { + @Resource + private ComActWarehouseOperationDao comActWarehouseOperationDao; + @Override + public R pageList(CommonPage commonPage) { + IPage<ComActWarehouseOperationVO> page=comActWarehouseOperationDao.pageList(new Page<>(commonPage.getPage(),commonPage.getSize()),commonPage); + return R.ok(page); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/util/QRCodeUtil.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/util/QRCodeUtil.java new file mode 100644 index 0000000..2df2b5d --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/util/QRCodeUtil.java @@ -0,0 +1,205 @@ +package com.panzhihua.service_community.util; + +import cn.hutool.core.codec.Base64; +import cn.hutool.core.util.StrUtil; +import com.google.zxing.BarcodeFormat; +import com.google.zxing.EncodeHintType; +import com.google.zxing.common.BitMatrix; +import com.google.zxing.qrcode.QRCodeWriter; +import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; +import lombok.experimental.UtilityClass; +import lombok.extern.slf4j.Slf4j; + +import javax.imageio.ImageIO; +import javax.servlet.ServletOutputStream; +import java.awt.*; +import java.awt.geom.RoundRectangle2D; +import java.awt.image.BufferedImage; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.net.URL; +import java.util.HashMap; + +@Slf4j +@UtilityClass +public class QRCodeUtil { + /** + * 默认宽度 + */ + private static final Integer WIDTH = 140; + /** + * 默认高度 + */ + private static final Integer HEIGHT = 140; + + /** + * LOGO 默认宽度 + */ + private static final Integer LOGO_WIDTH = 22; + /** + * LOGO 默认高度 + */ + private static final Integer LOGO_HEIGHT = 22; + + /** + * 图片格式 + */ + private static final String IMAGE_FORMAT = "png"; + private static final String CHARSET = "utf-8"; + /** + * 原生转码前面没有 data:image/png;base64 这些字段,返回给前端是无法被解析 + */ + private static final String BASE64_IMAGE = "data:image/png;base64,%s"; + + /** + * 生成二维码,使用默认尺寸 + * + * @param content 内容 + * @return + */ + public String getBase64QRCode(String content) { + return getBase64Image(content, WIDTH, HEIGHT, null, null, null); + } + + /** + * 生成二维码,使用默认尺寸二维码,插入默认尺寸logo + * + * @param content 内容 + * @param logoUrl logo地址 + * @return + */ + public String getBase64QRCode(String content, String logoUrl) { + return getBase64Image(content, WIDTH, HEIGHT, logoUrl, LOGO_WIDTH, LOGO_HEIGHT); + } + + /** + * 生成二维码 + * + * @param content 内容 + * @param width 二维码宽度 + * @param height 二维码高度 + * @param logoUrl logo 在线地址 + * @param logoWidth logo 宽度 + * @param logoHeight logo 高度 + * @return + */ + public String getBase64QRCode(String content, Integer width, Integer height, String logoUrl, Integer logoWidth, Integer logoHeight) { + return getBase64Image(content, width, height, logoUrl, logoWidth, logoHeight); + } + + private String getBase64Image(String content, Integer width, Integer height, String logoUrl, Integer logoWidth, Integer logoHeight) { + ByteArrayOutputStream os = new ByteArrayOutputStream(); + BufferedImage bufferedImage = crateQRCode(content, width, height, logoUrl, logoWidth, logoHeight); + try { + ImageIO.write(bufferedImage, IMAGE_FORMAT, os); + } catch (IOException e) { + log.error("[生成二维码,错误{}]", e); + } + // 转出即可直接使用 + return String.format(BASE64_IMAGE, Base64.encode(os.toByteArray())); + } + + + /** + * 生成二维码 + * + * @param content 内容 + * @param width 二维码宽度 + * @param height 二维码高度 + * @param logoUrl logo 在线地址 + * @param logoWidth logo 宽度 + * @param logoHeight logo 高度 + * @return + */ + private BufferedImage crateQRCode(String content, Integer width, Integer height, String logoUrl, Integer logoWidth, Integer logoHeight) { + if (StrUtil.isNotBlank(content)) { + ServletOutputStream stream = null; + HashMap<EncodeHintType, Comparable> hints = new HashMap<>(4); + // 指定字符编码为utf-8 + hints.put(EncodeHintType.CHARACTER_SET, CHARSET); + // 指定二维码的纠错等级为中级 + hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M); + // 设置图片的边距 + hints.put(EncodeHintType.MARGIN, 2); + try { + QRCodeWriter writer = new QRCodeWriter(); + BitMatrix bitMatrix = writer.encode(content, BarcodeFormat.QR_CODE, width, height, hints); + BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); + for (int x = 0; x < width; x++) { + for (int y = 0; y < height; y++) { + bufferedImage.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF); + } + } + if (StrUtil.isNotBlank(logoUrl)) { + insertLogo(bufferedImage, width, height, logoUrl, logoWidth, logoHeight); + } + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (stream != null) { + try { + stream.flush(); + stream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + return null; + } + + /** + * 二维码插入logo + * + * @param source 二维码 + * @param width 二维码宽度 + * @param height 二维码高度 + * @param logoUrl logo 在线地址 + * @param logoWidth logo 宽度 + * @param logoHeight logo 高度 + * @throws Exception + */ + private void insertLogo(BufferedImage source, Integer width, Integer height, String logoUrl, Integer logoWidth, Integer logoHeight) throws Exception { + // logo 源可为 File/InputStream/URL + Image src = ImageIO.read(new URL(logoUrl)); + // 插入LOGO + Graphics2D graph = source.createGraphics(); + int x = (width - logoWidth) / 2; + int y = (height - logoHeight) / 2; + graph.drawImage(src, x, y, logoWidth, logoHeight, null); + Shape shape = new RoundRectangle2D.Float(x, y, logoWidth, logoHeight, 6, 6); + graph.setStroke(new BasicStroke(3f)); + graph.draw(shape); + graph.dispose(); + } + + + /** + * 获取二维码 + * + * @param content 内容 + * @param output 输出流 + * @throws IOException + */ + public void getQRCode(String content, OutputStream output) throws IOException { + BufferedImage image = crateQRCode(content, WIDTH, HEIGHT, null, null, null); + ImageIO.write(image, IMAGE_FORMAT, output); + } + + /** + * 获取二维码 + * + * @param content 内容 + * @param logoUrl logo资源 + * @param output 输出流 + * @throws Exception + */ + public void getQRCode(String content, String logoUrl, OutputStream output) throws Exception { + BufferedImage image = crateQRCode(content, WIDTH, HEIGHT, logoUrl, LOGO_WIDTH, LOGO_HEIGHT); + ImageIO.write(image, IMAGE_FORMAT, output); + } + +} \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActWarehouseApplyMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActWarehouseApplyMapper.xml new file mode 100644 index 0000000..274379d --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActWarehouseApplyMapper.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.panzhihua.service_community.dao.ComActWarehouseApplyDao"> + + <resultMap type="com.panzhihua.service_community.entity.ComActWarehouseApply" + id="ComActWarehouseApplyBaseResultMap"> + <result property="id" column="id"/> + <result property="goodsId" column="goods_id"/> + <result property="goodsNum" column="goods_num"/> + <result property="reserveTime" column="reserve_time"/> + <result property="actualTime" column="actual_time"/> + <result property="reason" column="reason"/> + <result property="receiveUrl" column="receive_url"/> + <result property="createTime" column="create_time"/> + <result property="status" column="status"/> + <result property="applyUserId" column="apply_user_id"/> + <result property="applyName" column="apply_name"/> + <result property="applyPhone" column="apply_phone"/> + <result property="solveUserId" column="solve_user_id"/> + <result property="solveTime" column="solve_time"/> + <result property="solveContent" column="solve_content"/> + <result property="writeOffUserId" column="write_off_user_id"/> + <result property="cancelTime" column="cancel_time"/> + <result property="communityId" column="community_id"/> + </resultMap> + + + <select id="queryAll" resultType="com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseApplyVO"> + select t.*,t1.name as donateName,t1.item,t1.image,t1.phone as donatePhone,t2.name as writeOffUserName from com_act_warehouse_apply t inner join com_act_warehouse_donates t1 on t.goods_id = t1.id left join sys_user t2 on t.write_off_user_id = t2.user_id + <where> + 1=1 + <if test="commonPage.paramId !=null"> + and t.community_id=#{commonPage.paramId} + </if> + <if test="commonPage.status !=null"> + and t.status=#{commonPage.status} + </if> + <if test="commonPage.paramId2 != null"> + and t.goods_id = #{commonPage.paramId2} + </if> + <if test="commonPage.keyword !=null and commonPage.keyword !=''"> + and (t.id like concat('%',#{commonPage.keyword},'%') or t1.item like concat('%',#{commonPage.keyword},'%') or t.apply_phone like concat('%',#{commonPage.keyword},'%') or t.apply_name like concat('%',#{commonPage.keyword},'%')) + </if> + <if test="commonPage.userId !=null"> + and t.apply_user_id = #{commonPage.userId} + </if> + </where> + order by t.actual_time desc + </select> + + <select id="selectStatics" resultType="com.panzhihua.common.model.vos.community.warehouse.ApplyStatistics"> + select + (select count(*) from com_act_warehouse_apply where status = 0 and community_id =#{communityId}) as pending, + (select count(*) from com_act_warehouse_apply where status = 1 and community_id =#{communityId}) as unclaimed, + (select count(*) from com_act_warehouse_apply where status = 2 and community_id =#{communityId}) as rejected, + (select count(*) from com_act_warehouse_apply where status = 3 and community_id =#{communityId}) as received, + (select count(*) from com_act_warehouse_apply where status = -1 and community_id =#{communityId}) as cancelled + </select> + + <select id="selectById" resultType="com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseApplyVO"> + select t.*,t1.name as donateName,t1.item,t1.image,t1.phone as donatePhone,t2.name as writeOffUserName,t3.name as solveName,t1.surplus_quantity as surplusQuantity from com_act_warehouse_apply t inner join com_act_warehouse_donates t1 on t.goods_id = t1.id left join sys_user t2 on t.write_off_user_id = t2.user_id left join sys_user t3 on t.solve_user_id = t3.user_id + where t.id=#{id} + </select> +</mapper> diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActWarehouseBaseMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActWarehouseBaseMapper.xml new file mode 100644 index 0000000..e2ca7ee --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActWarehouseBaseMapper.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.panzhihua.service_community.dao.ComActWarehouseBaseDao"> + + <resultMap type="com.panzhihua.service_community.entity.ComActWarehouseBase" id="ComActWarehouseBaseBaseResultMap"> + <result property="id" column="id"/> + <result property="warehouseExplain" column="warehouse_explain"/> + <result property="warehouseWorkTime" column="warehouse_work_time"/> + <result property="warehouseContact" column="warehouse_contact"/> + <result property="receivePosition" column="receive_position"/> + <result property="communityId" column="community_id"/> + <result property="createTime" column="create_time"/> + </resultMap> + +</mapper> diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActWarehouseDonatesMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActWarehouseDonatesMapper.xml new file mode 100644 index 0000000..607248c --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActWarehouseDonatesMapper.xml @@ -0,0 +1,119 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.panzhihua.service_community.dao.ComActWarehouseDonatesDao"> + + <resultMap type="com.panzhihua.service_community.entity.ComActWarehouseDonates" + id="ComActWarehouseDonatesBaseResultMap"> + <result property="id" column="id"/> + <result property="userId" column="user_id"/> + <result property="name" column="name"/> + <result property="phone" column="phone"/> + <result property="item" column="item"/> + <result property="image" column="image"/> + <result property="quantity" column="quantity"/> + <result property="surplusQuantity" column="surplus_quantity"/> + <result property="isAnonymous" column="is_anonymous"/> + <result property="message" column="message"/> + <result property="registerAt" column="register_at"/> + <result property="signingAt" column="signing_at"/> + <result property="status" column="status"/> + <result property="communityId" column="community_id"/> + <result property="registerBy" column="register_by"/> + <result property="signingBy" column="signing_by"/> + </resultMap> + <insert id="batchInsertDonates" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id"> + INSERT INTO `com_act_warehouse_donates`(`name`,phone,item,quantity,surplus_quantity, + is_anonymous,message,register_at,signing_at,status,community_id,register_by,signing_by) + VALUES + <foreach collection="donateList" item="item" index="index" separator="," > + (#{item.name}, #{item.phone}, #{item.item}, #{item.quantity}, #{item.surplusQuantity},#{item.isAnonymous}, + #{item.message}, #{item.registerAt}, #{item.signingAt}, #{item.status}, #{item.communityId}, #{item.registerBy}, #{item.signingBy}) + </foreach> + </insert> + <select id="exportDonatesByIds" + resultType="com.panzhihua.common.model.vos.community.warehouse.ExportDonatesVO"> + SELECT * FROM com_act_warehouse_donates + WHERE id IN + <foreach collection="needExportIds" open="(" separator="," close=")" index="index" item="item"> + #{item} + </foreach> + </select> + <select id="exportDonatesBySearch" + resultType="com.panzhihua.common.model.vos.community.warehouse.ExportDonatesVO"> + SELECT * FROM com_act_warehouse_donates + WHERE community_id = #{exportDonatesDTO.communityId} + <if test="exportDonatesDTO.status != null"> + AND status = #{exportDonatesDTO.status} + </if> + <if test="exportDonatesDTO.isAnonymous != null"> + AND is_anonymous = #{exportDonatesDTO.isAnonymous} + </if> + <if test="exportDonatesDTO.signingAtBegin != null"> + AND signing_at >= #{exportDonatesDTO.signingAtBegin} + </if> + <if test="exportDonatesDTO.signingAtEnd != null"> + AND signing_at <= #{exportDonatesDTO.signingAtEnd} + </if> + <if test="exportDonatesDTO.keyword != null and exportDonatesDTO.keyword != """> + AND ( + `name` LIKE CONCAT('%', #{exportDonatesDTO.keyword}, '%') + OR phone LIKE CONCAT('%', #{exportDonatesDTO.keyword}, '%') + OR item LIKE CONCAT('%', #{exportDonatesDTO.keyword}, '%') + ) + </if> + ORDER BY id DESC + </select> + <select id="pageDonates" + resultType="com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseDonatesVO"> + SELECT * FROM com_act_warehouse_donates + WHERE community_id = #{pageDonatesDTO.communityId} + <if test="pageDonatesDTO.isWhich != null and pageDonatesDTO.isWhich == 1"> + AND user_id = #{pageDonatesDTO.userId} + </if> + <if test="pageDonatesDTO.status != null"> + AND status = #{pageDonatesDTO.status} + </if> + <if test="pageDonatesDTO.isAnonymous != null"> + AND is_anonymous = #{pageDonatesDTO.isAnonymous} + </if> + <if test="pageDonatesDTO.signingAtBegin != null"> + AND signing_at >= #{pageDonatesDTO.signingAtBegin} + </if> + <if test="pageDonatesDTO.signingAtEnd != null"> + AND signing_at <= #{pageDonatesDTO.signingAtEnd} + </if> + <if test="pageDonatesDTO.keyword != null and pageDonatesDTO.keyword != """> + <if test="pageDonatesDTO.isWhich != null"> + AND status = 2 + AND item LIKE CONCAT('%', #{pageDonatesDTO.keyword}, '%') + </if> + <if test="pageDonatesDTO.isWhich == null"> + AND ( + `name` LIKE CONCAT('%', #{pageDonatesDTO.keyword}, '%') + OR phone LIKE CONCAT('%', #{pageDonatesDTO.keyword}, '%') + OR item LIKE CONCAT('%', #{pageDonatesDTO.keyword}, '%') + ) + </if> + </if> + ORDER BY id DESC + </select> + <select id="selectDetailById" + resultType="com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseDonatesVO"> + SELECT temp.*,IF(su.name IS NULL, su.nick_name, su.name) AS signingBy FROM ( + SELECT * FROM com_act_warehouse_donates WHERE id = #{donatesId} + ) temp LEFT JOIN sys_user su ON temp.signing_by = su.user_id + </select> + <select id="selectDonatesStatistics" + resultType="com.panzhihua.common.model.vos.community.warehouse.DonatesStatisticsVO"> + SELECT + (SELECT IF(SUM(quantity) IS NULL,0,SUM(quantity)) FROM com_act_warehouse_donates WHERE community_id = #{communityId} AND `status` = 2) as totalInc , + (SELECT IF(SUM(surplus_quantity) IS NULL,0,SUM(surplus_quantity)) FROM com_act_warehouse_donates WHERE community_id = #{communityId} AND `status` = 2) as surplus, + (SELECT IF(SUM(quantity) IS NULL,0,SUM(quantity)) FROM com_act_warehouse_donates WHERE community_id = #{communityId} AND `status` = 2 AND signing_at LIKE #{currentYear}) as yearInc, + (SELECT IF(SUM(quantity) IS NULL,0,SUM(quantity)) FROM com_act_warehouse_donates WHERE community_id = #{communityId} AND `status` = 2 AND signing_at LIKE #{currentMonth}) as mothInc, + (SELECT IF(SUM(quantity) IS NULL,0,SUM(quantity)) FROM com_act_warehouse_donates WHERE community_id = #{communityId} AND `status` = 2 AND signing_at LIKE #{today}) as dayInc, + (SELECT IF(SUM(goods_num) IS NULL,0,SUM(goods_num)) FROM com_act_warehouse_apply WHERE community_id = #{communityId} AND `status` = 3 AND actual_time LIKE #{currentYear}) as yearDec, + (SELECT IF(SUM(goods_num) IS NULL,0,SUM(goods_num)) FROM com_act_warehouse_apply WHERE community_id = #{communityId} AND `status` = 3 AND actual_time LIKE #{currentMonth}) as mothDec, + (SELECT IF(SUM(goods_num) IS NULL,0,SUM(goods_num)) FROM com_act_warehouse_apply WHERE community_id = #{communityId} AND `status` = 3 AND actual_time LIKE #{today}) as dayDec + </select> + +</mapper> diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActWarehouseOperationMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActWarehouseOperationMapper.xml new file mode 100644 index 0000000..8b2f9ed --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActWarehouseOperationMapper.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.panzhihua.service_community.dao.ComActWarehouseOperationDao"> + + <resultMap type="com.panzhihua.service_community.entity.ComActWarehouseOperation" + id="ComActWarehouseOperationBaseResultMap"> + <result property="id" column="id"/> + <result property="goodsId" column="goods_id"/> + <result property="content" column="content"/> + <result property="createTime" column="create_time"/> + <result property="userId" column="user_id"/> + </resultMap> + <insert id="batchInsertOperation" parameterType="java.util.List"> + INSERT INTO `com_act_warehouse_operation` (goods_id,content,create_time,user_id) + VALUES + <foreach collection="operationList" item="item" index="index" separator="," > + (#{item.goodsId}, #{item.content}, #{item.createTime}, #{item.userId}) + </foreach> + </insert> + + <select id="pageList" resultType="com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseOperationVO"> + select t.*,t1.image,t1.item,t1.`name` as donateName,t2.actual_time,t2.apply_name,t2.reason,t1.is_anonymous,t2.goods_num,t2.receive_url as receiveUrl from com_act_warehouse_operation t LEFT JOIN com_act_warehouse_donates t1 on t.goods_id =t1.id LEFT JOIN com_act_warehouse_apply t2 on t.apply_id = t2.id + <where> + t.type = 2 + <if test="commonPage.paramId != null"> + and t.goods_id=#{commonPage.paramId} + </if> + <if test="commonPage.communityId !=null"> + and t1.community_id =#{communityId} + </if> + <if test="commonPage.keyword !=null and commonPage.keyword !=''"> + and t1.item like concat('%',#{commonPage.keyword},'%') + </if> + </where> + order by t.create_time desc + </select> + <select id="selectList" + resultType="com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseOperationVO"> + SELECT t.*,t1.image,t1.item,t1.`name` AS donateName,t2.actual_time,t2.apply_name,t2.reason,t1.is_anonymous + FROM com_act_warehouse_operation t + LEFT JOIN com_act_warehouse_donates t1 ON t.goods_id =t1.id + LEFT JOIN com_act_warehouse_apply t2 ON t.apply_id = t2.id + WHERE t.goods_id = #{donatesId} + </select> + +</mapper> diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComPbServiceTeamMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComPbServiceTeamMapper.xml new file mode 100644 index 0000000..88090ce --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComPbServiceTeamMapper.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.panzhihua.service_community.dao.ComPbServiceTeamDao"> + + <resultMap type="com.panzhihua.service_community.entity.ComPbServiceTeam" id="ComPbServiceTeamBaseResultMap"> + <result property="id" column="id"/> + <result property="name" column="name"/> + <result property="job" column="job"/> + <result property="jobTwo" column="job_two"/> + <result property="url" column="url"/> + <result property="createAt" column="create_at"/> + <result property="communityId" column="community_id"/> + <result property="jobResponsibilities" column="job_responsibilities"/> + <result property="phone" column="phone"/> + <result property="isReg" column="is_reg"/> + <result property="cardNo" column="card_no"/> + </resultMap> + +</mapper> diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbMemberRoleDAO.java b/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbMemberRoleDAO.java index 4c537f6..3175d9c 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbMemberRoleDAO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbMemberRoleDAO.java @@ -40,11 +40,11 @@ SysUserVO getSysUserByPhone(@Param("phone") String phone); /** - * 根据手机号查询小程序用户数量 + * 根据手机号查询小程序用户id * @param phone 手机号 - * @return 小程序用户数量 + * @return 小程序用户id */ - Integer getSysUserByPhoneCount(@Param("phone") String phone); + Long getSysUserIdByPhone(@Param("phone") String phone); @Update("update sys_user u set u.phone=#{newphone} where u.phone=#{oldphone}") void updateUserPhone(@Param("newphone") String newphone, @Param("oldphone") String oldphone); diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbServiceTeamServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbServiceTeamServiceImpl.java index 308531c..5a061e1 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbServiceTeamServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbServiceTeamServiceImpl.java @@ -4,8 +4,13 @@ import javax.annotation.Resource; +import com.alibaba.fastjson.JSONObject; +import com.panzhihua.common.constants.SecurityConstants; +import com.panzhihua.common.constants.TokenConstant; +import com.panzhihua.common.model.vos.LoginUserInfoVO; import org.springframework.beans.BeanUtils; import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.data.redis.core.ValueOperations; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; @@ -23,6 +28,8 @@ import com.panzhihua.service_dangjian.service.ComPbServiceTeamService; import lombok.extern.slf4j.Slf4j; + +import static java.util.Objects.nonNull; /** * @program: springcloud_k8s_panzhihuazhihuishequ @@ -52,11 +59,25 @@ ComPbServiceTeamDO comPbServiceTeamDO = new ComPbServiceTeamDO(); BeanUtils.copyProperties(comPbServiceTeamDTO, comPbServiceTeamDO); comPbServiceTeamDO.setIsReg(2); - if (comPbMemberRoleDAO.getSysUserByPhoneCount(comPbServiceTeamDTO.getPhone()) > 0) { + Long userId = comPbMemberRoleDAO.getSysUserIdByPhone(comPbServiceTeamDTO.getPhone()); + if (nonNull(userId)) { comPbServiceTeamDO.setIsReg(1); } int insert = comPbServiceTeamDAO.insert(comPbServiceTeamDO); if (insert > 0) { + if (nonNull(userId)) { + String userKey = UserConstants.LOGIN_USER_INFO + userId; + Boolean hasKeyLoginUserInfo = stringRedisTemplate.hasKey(userKey); + if (hasKeyLoginUserInfo) { + ValueOperations<String, String> valueOperations = stringRedisTemplate.opsForValue(); + String userInfo = valueOperations.get(userKey); + LoginUserInfoVO loginUserInfoVO = JSONObject.parseObject(userInfo, LoginUserInfoVO.class); + loginUserInfoVO.setIsmemberrole(1); + loginUserInfoVO.setIsCommunityWorker(1); + userInfo = JSONObject.toJSONString(loginUserInfoVO); + valueOperations.set(userKey, userInfo, TokenConstant.EXPIRETIME_REFRESH * 60 * 60 * 1000); + } + } return R.ok(); } return R.fail(); diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/resources/mapper/ComPbMemberRoleDOMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/resources/mapper/ComPbMemberRoleDOMapper.xml index c1beda6..a1bb0c1 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/resources/mapper/ComPbMemberRoleDOMapper.xml +++ b/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/resources/mapper/ComPbMemberRoleDOMapper.xml @@ -24,8 +24,8 @@ id, phone, is_reg, name, sex, birth_time, position, position_two, job_responsibilities, photo_path, create_at, update_at, community_id </sql> - <select id="getSysUserByPhoneCount" resultType="integer"> - select count(user_id) from sys_user where phone=#{phone} and type=1 + <select id="getSysUserIdByPhone" resultType="long"> + SELECT user_id FROM sys_user WHERE phone = #{phone} AND `type` = 1 </select> </mapper> diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java index 17eac20..62ee081 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java @@ -324,6 +324,7 @@ } loginUserInfoVO.setIsmemberrole(2); loginUserInfoVO.setIsFourMember(2); + loginUserInfoVO.setIsCommunityWorker(2); // 志愿者状态 String phone = sysUserDO.getPhone(); Long userCommunityId = sysUserDO.getCommunityId(); @@ -352,6 +353,7 @@ Integer isSysUser = userDao.selectCountSysUser(phone, userCommunityId); if (countTeam != null && countTeam > 0) { loginUserInfoVO.setIsmemberrole(1); + loginUserInfoVO.setIsCommunityWorker(1); } else if (selectCountMemberRole != null && selectCountMemberRole > 0) { loginUserInfoVO.setIsmemberrole(1); } else if (isSysUser != null && isSysUser > 0) { diff --git a/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/JWTAuthenticationTokenFilter.java b/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/JWTAuthenticationTokenFilter.java index da898a8..b979fe8 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/JWTAuthenticationTokenFilter.java +++ b/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/JWTAuthenticationTokenFilter.java @@ -261,6 +261,8 @@ noLoginUrl.add("/api/applets/convenient/merchant/incr-view"); noLoginUrl.add("/api/applets/convenient/product/incr-view"); noLoginUrl.add("/api/shopbackstage/convenient/upload/file"); + noLoginUrl.add("/api/applets/warehouse/donates/page"); + noLoginUrl.add("/api/applets/warehouse/donates/get"); if (noLoginUrl.contains(requestURI)) { List<SimpleGrantedAuthority> authorities = new ArrayList<>(); authorities.add(new SimpleGrantedAuthority(SecurityConstants.ROLE_APPLETS)); -- Gitblit v1.7.1