From e2b262b795ad5f7d91f6088342c7ac9bdfa9abf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cwangzihua=E2=80=9D?= Date: Wed, 24 Dec 2025 11:37:33 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=AE=A1=E6=A0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../category/service/CategoryService.java | 3 +- .../business/goods/service/GoodsService.java | 3 +- .../ServiceApplicationsController.java | 16 +++++- .../entity/ServiceApplicationsEntity.java | 12 ++-- .../form/ServiceApplicationsAddForm.java | 2 +- .../form/ServiceApplicationsUpdateForm.java | 4 +- .../service/ServiceApplicationsService.java | 53 +++++++++++++++--- .../ServiceApplicationsController.class | Bin 6157 -> 6694 bytes ...onsService$DropdownSheetWriteHandler.class | Bin 7770 -> 7770 bytes .../service/ServiceApplicationsService.class | Bin 18413 -> 19498 bytes 10 files changed, 74 insertions(+), 19 deletions(-) diff --git a/yun-admin/src/main/java/net/lab1024/sa/admin/module/business/category/service/CategoryService.java b/yun-admin/src/main/java/net/lab1024/sa/admin/module/business/category/service/CategoryService.java index 74490d5..7f8ef46 100644 --- a/yun-admin/src/main/java/net/lab1024/sa/admin/module/business/category/service/CategoryService.java +++ b/yun-admin/src/main/java/net/lab1024/sa/admin/module/business/category/service/CategoryService.java @@ -1,5 +1,6 @@ package net.lab1024.sa.admin.module.business.category.service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.google.common.collect.Lists; import net.lab1024.sa.admin.module.business.category.dao.CategoryDao; import net.lab1024.sa.admin.module.business.category.domain.dto.CategorySimpleDTO; @@ -210,6 +211,6 @@ public class CategoryService { } public List getAllCategory() { - return categoryDao.selectList(null); + return categoryDao.selectList(new LambdaQueryWrapper().eq(CategoryEntity::getDeletedFlag,0)); } } diff --git a/yun-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/service/GoodsService.java b/yun-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/service/GoodsService.java index 8ced63d..2afa5d0 100644 --- a/yun-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/service/GoodsService.java +++ b/yun-admin/src/main/java/net/lab1024/sa/admin/module/business/goods/service/GoodsService.java @@ -2,6 +2,7 @@ package net.lab1024.sa.admin.module.business.goods.service; import cn.idev.excel.FastExcel; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; import net.lab1024.sa.admin.module.business.category.constant.CategoryTypeEnum; @@ -64,7 +65,7 @@ public class GoodsService { private DictService dictService; public List getAllGoods() { - return goodsDao.selectList(null); + return goodsDao.selectList(new LambdaQueryWrapper().eq(GoodsEntity::getDeletedFlag,0)); } /** diff --git a/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/controller/ServiceApplicationsController.java b/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/controller/ServiceApplicationsController.java index 26110aa..e5c3974 100644 --- a/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/controller/ServiceApplicationsController.java +++ b/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/controller/ServiceApplicationsController.java @@ -52,7 +52,12 @@ public class ServiceApplicationsController { public ResponseDTO update(@RequestBody @Valid ServiceApplicationsUpdateForm updateForm) { return serviceApplicationsService.update(updateForm); } - + @Operation(summary = "审核 @author wzh") + @PostMapping("/serviceApplications/review") + @SaCheckPermission("serviceApplications:review") + public ResponseDTO review(@RequestBody @Valid ServiceApplicationsUpdateForm updateForm) { + return serviceApplicationsService.review(updateForm); + } @Operation(summary = "批量提交 @author wzh") @PostMapping("/serviceApplications/batchSubmit") @SaCheckPermission("serviceApplications:batchSubmit") @@ -60,13 +65,20 @@ public class ServiceApplicationsController { return serviceApplicationsService.batchSubmit(idList); } - @Operation(summary = "提交 @author wzh") + @Operation(summary = "编辑时提交 @author wzh") @GetMapping("/serviceApplications/submit/{applicationId}") @SaCheckPermission("serviceApplications:submit") public ResponseDTO submit(@PathVariable Integer applicationId) { return serviceApplicationsService.submit(applicationId); } + @Operation(summary = "新增时提交 @author wzh") + @PostMapping("/serviceApplications/addSubmit") + @SaCheckPermission("serviceApplications:addSubmit") + public ResponseDTO addSubmit(@RequestBody @Valid ServiceApplicationsAddForm addForm) { + return serviceApplicationsService.addSubmit(addForm); + } + @Operation(summary = "批量删除 @author wzh") @PostMapping("/serviceApplications/batchDelete") @SaCheckPermission("serviceApplications:delete") diff --git a/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/domain/entity/ServiceApplicationsEntity.java b/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/domain/entity/ServiceApplicationsEntity.java index ca91b3b..abdfced 100644 --- a/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/domain/entity/ServiceApplicationsEntity.java +++ b/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/domain/entity/ServiceApplicationsEntity.java @@ -25,17 +25,17 @@ public class ServiceApplicationsEntity { * 申报ID */ @TableId(type = IdType.AUTO) - private Integer applicationId; + private Long applicationId; /** * 申报律师ID */ - private Integer userId; + private Long userId; /** * 律所ID */ - private Integer firmId; + private Long firmId; /** * 服务开始时间 @@ -50,7 +50,7 @@ public class ServiceApplicationsEntity { /** * 服务时长(小时) */ - private BigDecimal serviceDuration; + private Double serviceDuration; /** * 受益人数 @@ -162,11 +162,11 @@ public class ServiceApplicationsEntity { /** * 活动类别 */ - private String activityCategoryId; + private Long activityCategoryId; /** * 活动名称 */ - private String activityNameId; + private Long activityNameId; /** * 附件id diff --git a/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/domain/form/ServiceApplicationsAddForm.java b/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/domain/form/ServiceApplicationsAddForm.java index f06c942..4e0b8bb 100644 --- a/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/domain/form/ServiceApplicationsAddForm.java +++ b/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/domain/form/ServiceApplicationsAddForm.java @@ -17,7 +17,7 @@ import lombok.Data; @Data public class ServiceApplicationsAddForm { - + private Long applicationId; @Schema(description = "申报律师", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "申报律师 不能为空") private Integer userId; diff --git a/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/domain/form/ServiceApplicationsUpdateForm.java b/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/domain/form/ServiceApplicationsUpdateForm.java index 1c730f7..c657dc6 100644 --- a/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/domain/form/ServiceApplicationsUpdateForm.java +++ b/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/domain/form/ServiceApplicationsUpdateForm.java @@ -13,11 +13,13 @@ import lombok.Data; */ @Data -public class ServiceApplicationsUpdateForm { +public class ServiceApplicationsUpdateForm{ @Schema(description = "申报ID", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "申报ID 不能为空") private Integer applicationId; + @Schema(description = "律所审核状态") + private Integer firmAuditStatus; } \ No newline at end of file diff --git a/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/service/ServiceApplicationsService.java b/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/service/ServiceApplicationsService.java index 35ec67a..1144794 100644 --- a/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/service/ServiceApplicationsService.java +++ b/yun-admin/src/main/java/net/lab1024/sa/admin/module/service/service/ServiceApplicationsService.java @@ -43,6 +43,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; import java.io.IOException; import java.util.ArrayList; import java.time.LocalDateTime; @@ -85,10 +86,18 @@ public class ServiceApplicationsService { if (!CollectionUtils.isEmpty(list)) { //翻译单位名称和用户名称 list.forEach(item -> { - item.setDepartmentName(departmentService.queryByFirmId(item.getFirmId()).getDepartmentName()); // Fixed method call - item.setUserName(employeeService.queryById(item.getUserId()).getActualName()); - item.setActivityCategory(categoryService.queryById(item.getActivityCategoryId()).getCategoryName()); - item.setActivityName(goodsService.queryById(item.getActivityNameId()).getGoodsName()); + if (item.getFirmId() != null) { + item.setDepartmentName(departmentService.queryByFirmId(item.getFirmId()).getDepartmentName()); + } + if (item.getUserId() != null){ + item.setUserName(employeeService.queryById(item.getUserId()).getActualName()); + } + if (item.getActivityCategoryId() != null) { + item.setActivityCategory(categoryService.queryById(item.getActivityCategoryId()).getCategoryName()); + } + if (item.getActivityNameId() != null) { + item.setActivityName(goodsService.queryById(item.getActivityNameId()).getGoodsName()); + } }); } return SmartPageUtil.convert2PageResult(page, list); @@ -221,7 +230,18 @@ public class ServiceApplicationsService { } ServiceApplicationsEntity entity = SmartBeanUtil.copy(form, ServiceApplicationsEntity.class); - + if (form.getUserId() != null) { + entity.setUserId(Long.valueOf(form.getUserId())); + } + if (form.getFirmId() != null) { + entity.setFirmId(Long.valueOf(form.getFirmId())); + } + if (form.getActivityCategoryId() != null) { + entity.setActivityCategoryId(Long.valueOf(form.getActivityCategoryId())); + } + if (form.getActivityNameId() != null) { + entity.setActivityNameId(Long.valueOf(form.getActivityNameId())); + } return entity; } @@ -247,7 +267,7 @@ public class ServiceApplicationsService { exampleVO.setServiceDuration(8.0); exampleVO.setOrganizerName("北京市司法局"); exampleVO.setOrganizerContact("李主任"); - exampleVO.setOrganizerPhone("010-12345678"); + exampleVO.setOrganizerPhone("18710238495"); exampleVO.setServiceContent("提供免费法律咨询服务"); templateList.add(exampleVO); @@ -320,7 +340,26 @@ public class ServiceApplicationsService { serviceApplicationsDao.batchSubmit(idList, ReviewEnum.APPROVAL.getValue()); return ResponseDTO.ok(); } - + + public ResponseDTO addSubmit(@Valid ServiceApplicationsAddForm addForm) { + ServiceApplicationsEntity serviceApplicationsEntity = SmartBeanUtil.copy(addForm, ServiceApplicationsEntity.class); + serviceApplicationsEntity.setRecordStatus(ReviewEnum.APPROVAL.getValue()); + if (null == addForm.getApplicationId()){ + serviceApplicationsDao.insert(serviceApplicationsEntity); + }else { + serviceApplicationsDao.updateById(serviceApplicationsEntity); + } + + return ResponseDTO.ok(); + } + + public ResponseDTO review(@Valid ServiceApplicationsUpdateForm updateForm) { + ServiceApplicationsEntity serviceApplicationsEntity = serviceApplicationsDao.selectById(updateForm.getApplicationId()); + serviceApplicationsEntity.setFirmAuditStatus(updateForm.getFirmAuditStatus()); + serviceApplicationsDao.updateById(serviceApplicationsEntity); + return ResponseDTO.ok(); + } + /** * Excel下拉列表处理器 */ diff --git a/yun-admin/target/classes/net/lab1024/sa/admin/module/service/controller/ServiceApplicationsController.class b/yun-admin/target/classes/net/lab1024/sa/admin/module/service/controller/ServiceApplicationsController.class index 9b109b3c98c2903822b716989bc6dff7cdf68567..2317ade0ac636c545d83f70dace3d06b8d23176e 100644 GIT binary patch literal 6694 zcmc&&TXPge6h57Vgbj;e&=82+K>`tmyGQ^D2@rH4frN-4>g-NuGh}CGnVH=Xkc$^? zK}4z$%koAjsiJ%kED;a^-~Aoz0)N0q%hPk&^iF1Al8Qy8(sSwVGhct_JEu?Y-~Zly z001lCd?ieTYy>7iZzUXrzDhU*huPgntU1D(qpUf`n&Yhbm^GiU=2O;u#+nlqaIykU z5twRFJu4?@V>+FZ6QU_=s?l!0BG3|3sVSty_|hfIRtSbDh>{|!f}%;86cwDAg{w2o z$5I1^w{LJrQ1~+48!ve3lxM)xzp(%={3XT=z zCykz>%^j@;G;DI%rG^HBOKq2vs%U0(T||2rkkP*Cb(qL%eopCZ zZCH=ZT`p*%!O7JSTGLdwFBU8M9l{XZ9ZICa^N5=}Eyz>#~~c(nW>#YI={*OXEUZRwd51(54yYHZh&XfoOb8 zR!n8k6Vu(WfeVDdh3C1jwU$pY{i{i#-DEu`_Eke zMG-?IKe0)@vxy!OPLKjxrSZpu0j)oUGI0P;}=M@I}^4pvF zOE-#rS?lXd*H?Z8!y31u!wJVqVEz`5|DD{^bideVU&vxPCh!G}9E85?E;2 z63m^x{N$VP5_D(#W**5kojdo{!#h9wnf9mLo;Z~9@v@TEbhF((T*d1GX;!d$mD8eb z3ftVf&2oy4Ad8iC;XDFMhy5u6+5a71KzLN;uHVa@xLTY^X8X$9L+LC((Rjv$7q?Ss zS_LbLd!nTEswqvBI;fIPS#?Xjog)rf*ieZ=w`rz@7HpW8@r8R#YhWkWvAT0;BM^EX zllHZN{P%x7ymR*P{rkn7%=6`BD9pKjvBPLT{^eM_tON{5t~Qnw-f?Lhiv}7U_&4A!|b4gr)qS_BF{>E3L;nd z`1=Hb60L_o6ThF@oQxo!H9A%@rkoN+TG`nd8fM{dXcO@_H3Z01gx5*B0#F~Qjhw+`Pkco7HQ7%#TP9JWXSTLhNC(gL<+UTn)b zY%4fyD??zz$PK_&?!~q;0NZMKqkwIV7h3~|Z7qjwT?lNLPy(=3c(FB%1lyY&whbJ% z#t_&xLKBo(l56$&bS%SG%4xPS09!L`Lf$sxXj{(_Xof8XCR@BrZspLv#i4!Ml3WD~ z8YVf+udvO5=9OE-OIu3-wC&JZ0Mh0KvIBNvryUCI9FUGdAiFFexB~?EuhI*oH2}y{ zb^i{>$ZihEyCM9yC(wW6y#DJ9z&1?(?d8zE$D!RfNSp1yJ%RpVaTy9DVZHKg3bLlhovzX&fJN?zzdi_x$d6ZqCc@7uk_dKi_`<(2ZvaRAbse5| z5JQvwuA#;9V>_JK6xYiNH&(p4XyKYxzKvj>1JZ^H%;&oW1uR4xokbJS3TVe-&+otz zE-;|U{!95}_*BVxI!iA!Q3Vz`_@a*=B(ITqjY#Jk#9nct9;8cwGdws0UC#MkxNHz^ zr2@A~fm`jvS)p_+mxxpbt}+PM69TseYdz)G1>x2^aF#1wuR^!MrwfJ4QL(54HyTh* z7q|-L3gklI`mvF4lbaas-VX!)81Q%pgSTFItIP2*o%Kd1W~qEX#y) z^dkzzq<3^2b;`ol#_aMZ4fqspSxmoSCHM_&gK`Wob?uxnOzjUi<8`cYjfT(akNP>D$axWif2Gcy`z{c3KM6 z?fXIrQQ_Sd5VlzMMCLlnV83N@z;bD{d=6Rx^|pcrE2GIaaM(7}Y*n;aEywK`C#;o| zb}QmLoU+H9wq9Coh_m*Yb2!cu$3>F4Lu{O+gHqlN6x2U9p zUEHOX+w7&21|nJRM^XrruAB*1DRb4r9hKZE1+Gm|u0xaDV@10j#kkj+>;^Q&4JpcuK%gL04)yUl^-N&Nsy+3AVWn#rj`a-Dh%?q%u38uVoR;S SX4)ESZ%jSpC~i(oTmB!#UWtzY delta 557 zcmWNMYfQ~?9EZQp_xJl#E+7&VL5i9TsC3R zWwE6g7DkG+9dlVShY2rg98<|9Yi^4zUXcI0XU{&*i%&Ewn$@=5o0uz>Jc%V=JQPSg zt7JB-J1V_#lR`z}utug*?CSNBieJ*$APdwFA%vLF3o9tqTR8S`M z1f+$X(&_RYc1sU?q?d9TVy}EAh+!YosKCd5QaM06l`Nr(r5t1hN66(6`5_Loj%rFd zL4X=Jsdtl;?!1;`)X_vE=Q+(a&Tx;jL}+G^7DhS81kLJjQ9WEzAFZ0kWnI7(UCC7~ z;avmlr0Tmu9)kx%8PL`i-AgCctY`PSn)##xyZtS{XE544EF@nP&`}KHi(R zd@@6PFvEN_-x#&<)mpxXY#hI=mmfBPF*}E!c0S{F5x;FVe{2DN?OOiXGA3+L#n!mo zpw_y-ZL3bUVU4lf8fyo1iXGAEc1%4E8s~U)hBHfNIw|UPQZ>;@(|Bi|CO8@DlN=Gv Wk;RfJ$&x1>$CHj4l20Y2Wd8?CL63j{ diff --git a/yun-admin/target/classes/net/lab1024/sa/admin/module/service/service/ServiceApplicationsService.class b/yun-admin/target/classes/net/lab1024/sa/admin/module/service/service/ServiceApplicationsService.class index ba6ee033aab93fde04c446e0318fcefb8b843bf9..f8709d26372ce83573de1ec886a90312f93f28ba 100644 GIT binary patch delta 5766 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 ax7t)GmC?KqZx_83qV~|<5EWKUFaHma8P1vj delta 4805 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