Explorar el Código

Merge remote-tracking branch 'origin/dev' into dev

dzx hace 9 meses
padre
commit
4f699f39bd

+ 11 - 1
src/main/java/com/xjrsoft/module/liteflow/node/AddClaimUserNode.java

@@ -5,8 +5,11 @@ import com.xjrsoft.module.textbook.service.IWfTextbookClaimService;
 import com.yomahub.liteflow.core.NodeComponent;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import org.springframework.transaction.support.TransactionSynchronization;
+import org.springframework.transaction.support.TransactionSynchronizationManager;
 
 import java.util.Map;
+import java.util.concurrent.CompletableFuture;
 
 /**
  * 教材申领审核通过后进行领取人记录添加规则
@@ -24,7 +27,14 @@ public class AddClaimUserNode extends NodeComponent {
         Long formId = Convert.toLong(value);
         if (formId != null) {
             // 数据处理
-            wfTextbookClaimService.dataHandleAddClaimUserNode(formId);
+            TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
+                @Override
+                public void afterCommit() {
+                    CompletableFuture.runAsync(() -> {
+                        wfTextbookClaimService.dataHandleAddClaimUserNode(formId);
+                    });
+                }
+            });
         }
     }
 }

+ 9 - 0
src/main/java/com/xjrsoft/module/system/controller/SystemUpdateMessageController.java

@@ -10,15 +10,18 @@ import com.xjrsoft.common.enums.DeleteMark;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
+import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.concat.service.IXjrUserService;
 import com.xjrsoft.module.system.dto.AddSystemUpdateMessageDto;
 import com.xjrsoft.module.system.dto.SystemUpdateMessagePageDto;
 import com.xjrsoft.module.system.dto.SystemUpdateMessageReleaseDto;
 import com.xjrsoft.module.system.dto.UpdateSystemUpdateMessageDto;
+import com.xjrsoft.module.system.entity.Subsystem;
 import com.xjrsoft.module.system.entity.SystemUpdateMessage;
 import com.xjrsoft.module.system.entity.SystemUpdateMessageNotice;
 import com.xjrsoft.module.system.service.ISystemUpdateMessageNoticeService;
 import com.xjrsoft.module.system.service.ISystemUpdateMessageService;
+import com.xjrsoft.module.system.vo.SubsystemListVo;
 import com.xjrsoft.module.system.vo.SystemUpdateMessagePageVo;
 import com.xjrsoft.module.system.vo.SystemUpdateMessageVo;
 import com.xjrsoft.module.teacher.entity.XjrUser;
@@ -159,6 +162,9 @@ public class SystemUpdateMessageController {
             MPJWrappers.<SystemUpdateMessage>lambdaJoin()
             .leftJoin(SystemUpdateMessageNotice.class, SystemUpdateMessageNotice::getSystemUpdateMessageId, SystemUpdateMessage::getId)
             .eq(SystemUpdateMessageNotice::getUserId, StpUtil.getLoginIdAsLong())
+            .select(SystemUpdateMessage::getId)
+            .select(SystemUpdateMessage.class, x -> VoToColumnUtil.fieldsToColumns(SystemUpdateMessage.class).contains(x.getProperty()))
+            .selectAs(SystemUpdateMessageNotice::getStatus, SystemUpdateMessagePageVo::getIsRead)
             .eq(SystemUpdateMessage::getDeleteMark, DeleteMark.NODELETE.getCode())
             .eq(SystemUpdateMessage::getStatus, 1)
             .orderByDesc(SystemUpdateMessage::getReleaseDate)
@@ -173,7 +179,10 @@ public class SystemUpdateMessageController {
     public RT<List<SystemUpdateMessagePageVo>> personalList(@Valid SystemUpdateMessagePageDto dto){
         List<SystemUpdateMessagePageVo> systemUpdateMessagePageVos = systemUpdateMessageService.selectJoinList(SystemUpdateMessagePageVo.class,
                 MPJWrappers.<SystemUpdateMessage>lambdaJoin()
+                        .eq(SystemUpdateMessageNotice::getUserId, StpUtil.getLoginIdAsLong())
                         .select(SystemUpdateMessage::getId)
+                        .select(SystemUpdateMessage.class, x -> VoToColumnUtil.fieldsToColumns(SystemUpdateMessage.class).contains(x.getProperty()))
+                        .selectAs(SystemUpdateMessageNotice::getStatus, SystemUpdateMessagePageVo::getIsRead)
                         .leftJoin(SystemUpdateMessageNotice.class, SystemUpdateMessageNotice::getSystemUpdateMessageId, SystemUpdateMessage::getId)
                         .eq(SystemUpdateMessageNotice::getUserId, StpUtil.getLoginIdAsLong())
                         .eq(SystemUpdateMessage::getDeleteMark, DeleteMark.NODELETE.getCode())

+ 3 - 0
src/main/java/com/xjrsoft/module/system/vo/SystemUpdateMessagePageVo.java

@@ -48,4 +48,7 @@ public class SystemUpdateMessagePageVo {
     @ApiModelProperty("发布时间")
     private LocalDateTime releaseDate;
 
+    @ApiModelProperty("是否已读(0:否 1:是)")
+    private Integer isRead;
+
 }

+ 6 - 6
src/main/java/com/xjrsoft/module/textbook/controller/TextbookIssueRecordController.java

@@ -61,12 +61,12 @@ public class TextbookIssueRecordController {
         return RT.ok(textbookIssueRecordService.distributeRecordPage(dto));
     }
 
-    @GetMapping(value = "/can-return-textbook-list")
-    @ApiOperation(value="根据教材出库记录查询可以退书的书籍列表(不分页)")
-    @SaCheckPermission("textbookissuerecord:detail")
-    public RT<List<CanReturnTextbookListVo>> canReturnTextbookList(@Valid CanReturnTextbookListDto dto){
-        return RT.ok(textbookIssueRecordService.canReturnTextbookList(dto));
-    }
+//    @GetMapping(value = "/can-return-textbook-list")
+//    @ApiOperation(value="根据教材出库记录查询可以退书的书籍列表(不分页)")
+//    @SaCheckPermission("textbookissuerecord:detail")
+//    public RT<List<CanReturnTextbookListVo>> canReturnTextbookList(@Valid CanReturnTextbookListDto dto){
+//        return RT.ok(textbookIssueRecordService.canReturnTextbookList(dto));
+//    }
 
     @GetMapping(value = "/info")
     @ApiOperation(value="根据id查询教材出库记录信息")

+ 1 - 1
src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookIssueRecordServiceImpl.java

@@ -96,7 +96,7 @@ public class TextbookIssueRecordServiceImpl extends MPJBaseServiceImpl<TextbookI
 
         MPJLambdaWrapper<TextbookIssueRecord> textbookIssueRecordMPJLambdaWrapper = new MPJLambdaWrapper<>();
         textbookIssueRecordMPJLambdaWrapper
-                .select(TextbookIssueRecord::getTextbookId)
+                .select(TextbookIssueRecord::getId)
                 .selectAs(TextbookIssueRecord::getOrderNumber, CanReturnTextbookListVo::getOrderNumber)
                 .selectAs(TextbookIssueRecord::getTextbookId, CanReturnTextbookListVo::getTextbookId)
                 .selectAs(Textbook::getBookName, CanReturnTextbookListVo::getTextbookIdCn)

+ 14 - 16
src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookSubscriptionServiceImpl.java

@@ -134,20 +134,18 @@ public class TextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<Textbook
         MPJLambdaWrapper<TextbookSubscriptionItem> queryWrapper = new MPJLambdaWrapper<>();
         queryWrapper
                 .disableSubLogicDel()
+                .selectAs(Textbook::getPrice, TextbookInstockroomListVo::getPrice)
+                .selectAs(TextbookSubscriptionItem::getDiscount, TextbookInstockroomListVo::getDiscount)
+                .selectAs(TextbookSubscriptionItem::getPrice, TextbookInstockroomListVo::getActualPrice)
+                .selectAs(TextbookSubscriptionItem::getStudentNum, TextbookInstockroomListVo::getStudentSubscriptionNumber)
+                .selectAs(TextbookSubscriptionItem::getTeacherNum, TextbookInstockroomListVo::getTeacherSubscriptionNumber)
                 .selectAs(TextbookSubscriptionItem::getId, TextbookInstockroomListVo::getTextbookSubscriptionItemId)
                 .select(Textbook.class, x -> VoToColumnUtil.fieldsToColumns(TextbookInstockroomListVo.class).contains(x.getProperty()))
                 .select(TextbookSubscriptionItem.class, x -> VoToColumnUtil.fieldsToColumns(TextbookInstockroomListVo.class).contains(x.getProperty()))
-                .selectAs(TextbookSubscriptionItem::getStudentNum, TextbookInstockroomListVo::getStudentSubscriptionNumber)
-                .selectAs(TextbookSubscriptionItem::getTeacherNum, TextbookInstockroomListVo::getTeacherSubscriptionNumber)
 //                .selectAs(TextbookSubscriptionItem::getPrice, TextbookInstockroomListVo::getActualPrice)
 //                .selectAs(TextbookSubscriptionItem::getDiscount, TextbookInstockroomListVo::getDiscount)
-                .selectAs(Textbook::getPrice, TextbookInstockroomListVo::getPrice)
-                .select("ifnull(t2.discount, t.discount) as discount,")
-                .select("ifnull(t2.price, t.price) as actual_price,")
                 .leftJoin(Textbook.class, Textbook::getId, TextbookSubscriptionItem::getTextbookId)
-
                 .leftJoin(TextbookWarehouseRecord.class, TextbookWarehouseRecord::getDataItemId, TextbookSubscriptionItem::getId)
-
                 .leftJoin(BaseCourseSubject.class, BaseCourseSubject::getId, Textbook::getCourseSubjectId,
                         wrapper -> wrapper
                                 .selectAs(BaseCourseSubject::getName, TextbookInstockroomListVo::getCourseName)
@@ -158,6 +156,7 @@ public class TextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<Textbook
                 )
 
                 .eq(TextbookSubscriptionItem::getTextbookSubscriptionId, dto.getTextbookSubscriptionId())
+                .like(StringUtils.isNotEmpty(dto.getBookName()), Textbook::getBookName, dto.getBookName())
                 .orderByAsc(TextbookSubscriptionItem::getInStockNum)
         ;
 
@@ -451,15 +450,14 @@ public class TextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<Textbook
         }
 
         //获取需要修改的list
-        MPJLambdaWrapper<TextbookSubscriptionItem> queryWrapper = new MPJLambdaWrapper<>();
+        LambdaQueryWrapper<TextbookSubscriptionItem> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper
                 .select(TextbookSubscriptionItem::getId)
                 .select(TextbookSubscriptionItem.class, x -> VoToColumnUtil.fieldsToColumns(TextbookSubscriptionItem.class).contains(x.getProperty()))
-                .leftJoin(Textbook.class, Textbook::getId, TextbookSubscriptionItem::getTextbookId)
                 .in(TextbookSubscriptionItem::getId, textbookSubscriptionItemIds)
                 .eq(TextbookSubscriptionItem::getDeleteMark, DeleteMark.NODELETE.getCode())
         ;
-        List<TextbookSubscriptionItem> textbookSubscriptionItemList = textbookSubscriptionTextbookSubscriptionItemMapper.selectJoinList(TextbookSubscriptionItem.class, queryWrapper);
+        List<TextbookSubscriptionItem> textbookSubscriptionItemList = textbookSubscriptionTextbookSubscriptionItemMapper.selectList(queryWrapper);
         if (textbookSubscriptionItemList.isEmpty()) {
             throw new MyException("证订项已经变更,请刷新重试");
         }
@@ -526,7 +524,7 @@ public class TextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<Textbook
             updateItem = new TextbookSubscriptionItem();
             updateItem.setId(old.getId());
             updateItem.setDiscount(dto.getDiscount());
-            updateItem.setPrice(old.getPrice().multiply(BigDecimal.valueOf(dto.getDiscount() / 10)));
+            updateItem.setPrice(dto.getPrice().multiply(BigDecimal.valueOf(dto.getDiscount() / 10)));
             updateItem.setInStockNum(old.getInStockNum() + dto.getInNum());
             updateItem.setModifyDate(new Date());
             updateItem.setModifyUserId(StpUtil.getLoginIdAsLong());
@@ -543,11 +541,11 @@ public class TextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<Textbook
                 textbookWarehouseRecord.setTextbookId(old.getTextbookId());
                 textbookWarehouseRecord.setDataId(dto.getTextbookSubscriptionId());
                 textbookWarehouseRecord.setDataItemId(dto.getTextbookSubscriptionItemId());
-                textbookWarehouseRecord.setWarehouseNumber(dto.getInNum());
-                textbookWarehouseRecord.setPrice(old.getPrice());
-                textbookWarehouseRecord.setDiscount(dto.getDiscount());
-                textbookWarehouseRecord.setSubtotal(old.getPrice().multiply(BigDecimal.valueOf(dto.getDiscount() / 10)));
-                textbookWarehouseRecord.setTotalPrice(textbookWarehouseRecord.getSubtotal().multiply(BigDecimal.valueOf(dto.getInNum())));
+                textbookWarehouseRecord.setWarehouseNumber(ObjectUtils.isNotEmpty(dto.getInNum()) ? dto.getInNum() : 0);
+                textbookWarehouseRecord.setPrice(ObjectUtils.isNotEmpty(dto.getPrice()) ? dto.getPrice() : BigDecimal.ZERO);
+                textbookWarehouseRecord.setDiscount(ObjectUtils.isNotEmpty(dto.getDiscount()) ? dto.getDiscount() : 10D);
+                textbookWarehouseRecord.setSubtotal(dto.getPrice().multiply(BigDecimal.valueOf(dto.getDiscount() / 10)));
+                textbookWarehouseRecord.setTotalPrice(textbookWarehouseRecord.getSubtotal().multiply(BigDecimal.valueOf(textbookWarehouseRecord.getWarehouseNumber())));
                 oldOrderInteger += 1;
                 String newOrder = String.format("%03d", oldOrderInteger); // 补零并格式化为三位数
                 textbookWarehouseRecord.setOrderNumber(sb + newOrder);

+ 1 - 1
src/main/resources/mapper/base/BaseClassCourse.xml

@@ -89,7 +89,7 @@
         t1.issn,
         t1.editor_in_chief,
         t1.version
-        from tl.base_class_admin_course t
+        from base_class_admin_course t
         left join base_class_course t3 on t3.class_id = t.id
         left join textbook t1 on t1.id = t3.textbook_id
         left join base_course_subject t2 on t3.course_id = t2.id