From 5bdeb728dffcf540a3a375869a14b03f55071f2c Mon Sep 17 00:00:00 2001 From: weizhiqiang <598748873@qq.com> Date: Tue, 3 Dec 2024 16:24:27 +0800 Subject: [PATCH 01/13] =?UTF-8?q?feat:=20=E8=A1=8C=E6=94=BF=E5=8C=BA?= =?UTF-8?q?=E5=88=92=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/userauth/SysTAreaMapper.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/skyeye-promote/skyeye-userauth/src/main/resources/mapper/userauth/SysTAreaMapper.xml b/skyeye-promote/skyeye-userauth/src/main/resources/mapper/userauth/SysTAreaMapper.xml index 4e29b156..484dae90 100644 --- a/skyeye-promote/skyeye-userauth/src/main/resources/mapper/userauth/SysTAreaMapper.xml +++ b/skyeye-promote/skyeye-userauth/src/main/resources/mapper/userauth/SysTAreaMapper.xml @@ -7,11 +7,12 @@ a.code_id id, IFNULL(a.parent_code_id, '0') pId, a.`name`, - false lay_is_open + false lay_is_open, + a.level, + a.code_id codeId FROM t_area a - 3 > a.level ${sqlExtract} From c0eab49859b05abbfe7775fb3c0b8d33358a6858 Mon Sep 17 00:00:00 2001 From: weizhiqiang <598748873@qq.com> Date: Tue, 3 Dec 2024 17:22:41 +0800 Subject: [PATCH 02/13] =?UTF-8?q?feat:=20=E8=A1=8C=E6=94=BF=E5=8C=BA?= =?UTF-8?q?=E5=88=92=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2=E9=99=90=E5=88=B6?= =?UTF-8?q?=E4=B8=89=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/userauth/SysTAreaMapper.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/skyeye-promote/skyeye-userauth/src/main/resources/mapper/userauth/SysTAreaMapper.xml b/skyeye-promote/skyeye-userauth/src/main/resources/mapper/userauth/SysTAreaMapper.xml index 484dae90..8955b807 100644 --- a/skyeye-promote/skyeye-userauth/src/main/resources/mapper/userauth/SysTAreaMapper.xml +++ b/skyeye-promote/skyeye-userauth/src/main/resources/mapper/userauth/SysTAreaMapper.xml @@ -13,6 +13,7 @@ FROM t_area a + 3 > a.level ${sqlExtract} From a8f3191db8f1337f72441df39bd99c20735d8e2e Mon Sep 17 00:00:00 2001 From: wst <2450473462@qq.com> Date: Tue, 3 Dec 2024 20:07:40 +0800 Subject: [PATCH 03/13] =?UTF-8?q?feat:=20=E8=AE=A2=E5=8D=95=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=97=B6=EF=BC=8C=E5=88=86=E8=BD=AC=E5=85=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/service/impl/OrderServiceImpl.java | 73 +++++++++++++++++-- 1 file changed, 68 insertions(+), 5 deletions(-) diff --git a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderServiceImpl.java b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderServiceImpl.java index 524a3325..bcdab8ed 100644 --- a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderServiceImpl.java +++ b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderServiceImpl.java @@ -17,6 +17,7 @@ import com.skyeye.annotation.service.SkyeyeService; import com.skyeye.base.business.service.impl.SkyeyeBusinessServiceImpl; import com.skyeye.common.constans.CommonConstants; import com.skyeye.common.constans.CommonNumConstants; +import com.skyeye.common.constans.QuartzConstants; import com.skyeye.common.entity.search.CommonPageInfo; import com.skyeye.common.object.InputObject; import com.skyeye.common.object.OutputObject; @@ -31,12 +32,15 @@ import com.skyeye.coupon.service.CouponUseMaterialService; import com.skyeye.coupon.service.CouponUseService; import com.skyeye.erp.service.IMaterialNormsService; import com.skyeye.erp.service.IMaterialService; +import com.skyeye.eve.rest.quartz.SysQuartzMation; import com.skyeye.eve.service.IAreaService; +import com.skyeye.eve.service.IQuartzService; import com.skyeye.exception.CustomException; import com.skyeye.order.config.PayProperties; import com.skyeye.order.dao.OrderDao; import com.skyeye.order.entity.Order; import com.skyeye.order.entity.OrderItem; +import com.skyeye.order.enums.ShopOrderCancelType; import com.skyeye.order.enums.ShopOrderCommentState; import com.skyeye.order.enums.ShopOrderState; import com.skyeye.order.service.OrderItemService; @@ -49,6 +53,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.text.DateFormat; +import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -91,6 +97,9 @@ public class OrderServiceImpl extends SkyeyeBusinessServiceImpl @Autowired private CouponUseMaterialService couponUseMaterialService; + @Autowired + private IQuartzService iQuartzService; + @Override public void createPrepose(Order order) { // 订单编号 @@ -131,7 +140,6 @@ public class OrderServiceImpl extends SkyeyeBusinessServiceImpl // 设置商品信息、商品规格信息和优惠券信息 iMaterialNormsService.setDataMation(orderItemList, OrderItem::getNormsId); iMaterialService.setDataMation(orderItemList, OrderItem::getMaterialId); -// couponUseService.setDataMation(orderItemList, OrderItem::getCouponUseId); for (OrderItem orderItem : orderItemList) { // 获取子单单价 元 -> 分 String salePrice = CalculationUtil.multiply(orderItem.getNormsMation().get("salePrice").toString(), "100"); @@ -140,8 +148,8 @@ public class OrderServiceImpl extends SkyeyeBusinessServiceImpl if (StrUtil.isEmpty(orderItem.getCouponUseId())) {// 没有优惠券 orderItem.setPayPrice(orderItem.getPrice()); orderItem.setDiscountPrice("0"); - setLastValue(order, orderItem); - return; + setLastValue(order, orderItem);// 总单商品数量、子单状态、总单原价、总单应付金额 + continue; } // 获取优惠券使用条件,即满多少金额可使用。 String usePrice = orderItem.getCouponUseMation().get("usePrice").toString(); @@ -179,14 +187,14 @@ public class OrderServiceImpl extends SkyeyeBusinessServiceImpl orderItem.setCouponPrice(discountLimitPrice); } } - setLastValue(order, orderItem); + setLastValue(order, orderItem);// 总单商品数量、子单状态、总单原价、总单应付金额 } } public void setLastValue(Order order, OrderItem orderItem) { order.setCount(order.getCount() + orderItem.getCount()); orderItem.setCommentState(ShopOrderCommentState.UNFINISHED.getKey()); - order.setTotalPrice(CalculationUtil.add(order.getTotalPrice(), orderItem.getPayPrice(), CommonNumConstants.NUM_SIX)); + order.setTotalPrice(CalculationUtil.add(order.getTotalPrice(), orderItem.getPrice(), CommonNumConstants.NUM_SIX)); order.setPayPrice(CalculationUtil.add(order.getPayPrice(), orderItem.getPayPrice(), CommonNumConstants.NUM_SIX)); } @@ -246,6 +254,22 @@ public class OrderServiceImpl extends SkyeyeBusinessServiceImpl public void createPostpose(Order order, String userId) { orderItemService.setValueAndCreateEntity(order, userId); couponUseService.updateState(order.getCouponUseId());// 更新用户领取的优惠券状态 +// startUpTaskQuartz(order.getId(), order.getOddNumber(), DateUtil.getTimeAndToString()); + } + + private void startUpTaskQuartz(String name, String title, String delayedTime) { + /// 处理日期 此处delayedTime为当前日期 + Date stringToDate = DateUtil.getPointTime(delayedTime, DateUtil.YYYY_MM_DD_HH_MM_SS); + Date afterOneDay = DateUtil.getAfDate(stringToDate, 1, "d"); + DateFormat df = new SimpleDateFormat(DateUtil.YYYY_MM_DD_HH_MM_SS); + String lastTime = df.format(afterOneDay); + // 正式准备启动定时任务 + SysQuartzMation sysQuartzMation = new SysQuartzMation(); + sysQuartzMation.setName(name); + sysQuartzMation.setTitle(title); + sysQuartzMation.setDelayedTime(lastTime); + sysQuartzMation.setGroupId(QuartzConstants.QuartzMateMationJobType.SHOP_ORDER_CREATE.getTaskType()); + iQuartzService.startUpTaskQuartz(sysQuartzMation); } @Override @@ -299,6 +323,7 @@ public class OrderServiceImpl extends SkyeyeBusinessServiceImpl Map> mapByIds = orderItemService.queryListByParentId(idList); for (Order order : list) { order.setOrderItemList(mapByIds.containsKey(order.getId()) ? mapByIds.get(order.getId()) : new ArrayList<>()); + pennyToYuan(order);// 分 -> 元 } iAreaService.setDataMation(list, Order::getProvinceId); iAreaService.setDataMation(list, Order::getCityId); @@ -361,6 +386,7 @@ public class OrderServiceImpl extends SkyeyeBusinessServiceImpl Map> mapByIds = orderItemService.queryListByParentId(idList); for (Order order : list) { order.setOrderItemList(mapByIds.containsKey(order.getId()) ? mapByIds.get(order.getId()) : new ArrayList<>()); + pennyToYuan(order);// 分 -> 元 } iAreaService.setDataMation(list, Order::getProvinceId); iAreaService.setDataMation(list, Order::getCityId); @@ -412,9 +438,34 @@ public class OrderServiceImpl extends SkyeyeBusinessServiceImpl iAreaService.setDataMation(order, Order::getAreaId); iAreaService.setDataMation(order, Order::getTownshipId); shopAddressService.setDataMation(order, Order::getAddressId); + pennyToYuan(order); return order; } + private void pennyToYuan(Order order) { + if (ObjectUtil.isEmpty(order)) { + return; + } + order.setTotalPrice(StrUtil.isEmpty(order.getTotalPrice()) ? "0" : CalculationUtil.divide(order.getTotalPrice(), "100", CommonNumConstants.NUM_SIX)); + order.setDiscountPrice(StrUtil.isEmpty(order.getDiscountPrice()) ? "0" : CalculationUtil.divide(order.getDiscountPrice(), "100", CommonNumConstants.NUM_SIX)); + order.setDeliveryPrice(StrUtil.isEmpty(order.getDeliveryPrice()) ? "0" : CalculationUtil.divide(order.getDeliveryPrice(), "100", CommonNumConstants.NUM_SIX)); + order.setAdjustPrice(StrUtil.isEmpty(order.getAdjustPrice()) ? "0" : CalculationUtil.divide(order.getAdjustPrice(), "100", CommonNumConstants.NUM_SIX)); + order.setPayPrice(StrUtil.isEmpty(order.getPayPrice()) ? "0" : CalculationUtil.divide(order.getPayPrice(), "100", CommonNumConstants.NUM_SIX)); + order.setCouponPrice(StrUtil.isEmpty(order.getCouponPrice()) ? "0" : CalculationUtil.divide(order.getCouponPrice(), "100", CommonNumConstants.NUM_SIX)); + order.setPointPrice(StrUtil.isEmpty(order.getPointPrice()) ? "0" : CalculationUtil.divide(order.getPointPrice(), "100", CommonNumConstants.NUM_SIX)); + order.setVipPrice(StrUtil.isEmpty(order.getVipPrice()) ? "0" : CalculationUtil.divide(order.getVipPrice(), "100", CommonNumConstants.NUM_SIX)); + for (OrderItem orderItem : order.getOrderItemList()) { + orderItem.setPrice(StrUtil.isEmpty(orderItem.getPrice()) ? "0" : CalculationUtil.divide(orderItem.getPrice(), "100", CommonNumConstants.NUM_SIX)); + orderItem.setDiscountPrice(StrUtil.isEmpty(orderItem.getDiscountPrice()) ? "0" : CalculationUtil.divide(orderItem.getDiscountPrice(), "100", CommonNumConstants.NUM_SIX)); + orderItem.setDeliveryPrice(StrUtil.isEmpty(orderItem.getDeliveryPrice()) ? "0" : CalculationUtil.divide(orderItem.getDeliveryPrice(), "100", CommonNumConstants.NUM_SIX)); + orderItem.setAdjustPrice(StrUtil.isEmpty(orderItem.getAdjustPrice()) ? "0" : CalculationUtil.divide(orderItem.getAdjustPrice(), "100", CommonNumConstants.NUM_SIX)); + orderItem.setPayPrice(StrUtil.isEmpty(orderItem.getPayPrice()) ? "0" : CalculationUtil.divide(orderItem.getPayPrice(), "100", CommonNumConstants.NUM_SIX)); + orderItem.setCouponPrice(StrUtil.isEmpty(orderItem.getCouponPrice()) ? "0" : CalculationUtil.divide(orderItem.getCouponPrice(), "100", CommonNumConstants.NUM_SIX)); + orderItem.setPointPrice(StrUtil.isEmpty(orderItem.getPointPrice()) ? "0" : CalculationUtil.divide(orderItem.getPointPrice(), "100", CommonNumConstants.NUM_SIX)); + orderItem.setVipPrice(StrUtil.isEmpty(orderItem.getVipPrice()) ? "0" : CalculationUtil.divide(order.getVipPrice(), "100", CommonNumConstants.NUM_SIX)); + } + } + @Override public void cancelOrder(InputObject inputObject, OutputObject outputObject) { Map params = inputObject.getParams(); @@ -488,6 +539,7 @@ public class OrderServiceImpl extends SkyeyeBusinessServiceImpl updateWrapper.set(MybatisPlusUtil.toColumns(Order::getExtensionNo), payOrderRespDTO.get("no").toString()); update(updateWrapper); refreshCache(id); + iQuartzService.stopAndDeleteTaskQuartz(id);// 删除定时任务 } @Override @@ -533,4 +585,15 @@ public class OrderServiceImpl extends SkyeyeBusinessServiceImpl outputObject.setBean(qrCodeResult); outputObject.settotal(CommonNumConstants.NUM_ONE); } + + @Override + public void setOrderCancle(String orderId) { + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq(CommonConstants.ID, orderId); + updateWrapper.set(MybatisPlusUtil.toColumns(Order::getState), ShopOrderState.CANCELED.getKey()) + .set(MybatisPlusUtil.toColumns(Order::getCancelType), ShopOrderCancelType.PAY_TIMEOUT.getKey()) + .set(MybatisPlusUtil.toColumns(Order::getCancelTime), DateUtil.getTimeAndToString()); + update(updateWrapper); + refreshCache(orderId); + } } \ No newline at end of file From 29fe3318e382112c340e01c01e588af8630f5650 Mon Sep 17 00:00:00 2001 From: wst <2450473462@qq.com> Date: Tue, 3 Dec 2024 20:09:10 +0800 Subject: [PATCH 04/13] =?UTF-8?q?feat:=20=E8=AE=A2=E5=8D=95=E8=AF=84?= =?UTF-8?q?=E4=BB=B7=E5=A2=9E=E5=8A=A0=E5=AE=A2=E6=88=B7=E8=BF=BD=E8=AF=84?= =?UTF-8?q?=E5=92=8C=E5=95=86=E5=AE=B6=E5=9B=9E=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/skyeye/order/entity/OrderComment.java | 9 +++++++++ .../order/service/impl/OrderItemServiceImpl.java | 10 ++++++++++ 2 files changed, 19 insertions(+) diff --git a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/entity/OrderComment.java b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/entity/OrderComment.java index 21ce52f5..7a1bc79f 100644 --- a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/entity/OrderComment.java +++ b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/entity/OrderComment.java @@ -15,6 +15,7 @@ import com.skyeye.common.enumeration.WhetherEnum; import com.skyeye.order.enums.OrderCommentType; import lombok.Data; +import java.util.List; import java.util.Map; /** @@ -85,4 +86,12 @@ public class OrderComment extends OperatorUserInfo { @TableField(value = "context") @ApiModelProperty(value = "评价内容", required = "required") private String context; + + @TableField(exist = false) + @Property(value = "客户追评") + private Map additionalReview; + + @TableField(exist = false) + @Property(value = "商家回复") + private List> merchantReply; } diff --git a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderItemServiceImpl.java b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderItemServiceImpl.java index b0c3f92a..22eafe25 100644 --- a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderItemServiceImpl.java +++ b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderItemServiceImpl.java @@ -7,8 +7,10 @@ package com.skyeye.order.service.impl; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.skyeye.annotation.service.SkyeyeService; import com.skyeye.base.business.service.impl.SkyeyeBusinessServiceImpl; +import com.skyeye.common.constans.CommonConstants; import com.skyeye.common.enumeration.WhetherEnum; import com.skyeye.common.util.mybatisplus.MybatisPlusUtil; import com.skyeye.erp.service.IMaterialNormsService; @@ -112,4 +114,12 @@ public class OrderItemServiceImpl extends SkyeyeBusinessServiceImpl updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq(CommonConstants.ID, id) + .set(MybatisPlusUtil.toColumns(OrderItem::getCommentState), WhetherEnum.ENABLE_USING.getKey()); + update(updateWrapper); + } } \ No newline at end of file From 03387db352f676b690b8a04cf1e67c271b4a2b74 Mon Sep 17 00:00:00 2001 From: wst <2450473462@qq.com> Date: Tue, 3 Dec 2024 20:09:56 +0800 Subject: [PATCH 05/13] =?UTF-8?q?feat:=20=E8=AE=A2=E5=8D=95=E8=AF=84?= =?UTF-8?q?=E4=BB=B7=E5=A2=9E=E5=8A=A0=E5=88=A4=E6=96=AD=EF=BC=8C=E9=A6=96?= =?UTF-8?q?=E8=AF=84=E5=92=8C=E8=BF=BD=E8=AF=84=E5=9D=87=E5=8F=AA=E8=83=BD?= =?UTF-8?q?=E8=AF=84=E4=B8=80=E6=AC=A1=EF=BC=8C=E5=95=86=E5=AE=B6=E5=9B=9E?= =?UTF-8?q?=E5=A4=8D=E4=B8=8D=E5=81=9A=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/service/OrderItemService.java | 2 + .../skyeye/order/service/OrderService.java | 2 + .../service/impl/OrderCommentServiceImpl.java | 80 ++++++++++++++++--- .../java/com/skyeye/xxljob/ShopXxlJob.java | 13 +++ 4 files changed, 85 insertions(+), 12 deletions(-) diff --git a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/OrderItemService.java b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/OrderItemService.java index 8c5e1a91..53c54d54 100644 --- a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/OrderItemService.java +++ b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/OrderItemService.java @@ -28,4 +28,6 @@ public interface OrderItemService extends SkyeyeBusinessService { Map> queryListByParentId(List idList); void setValueAndCreateEntity(Order order, String userId); + + void updateCommentStateById(String id); } diff --git a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/OrderService.java b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/OrderService.java index 4a40e801..8a43b0d5 100644 --- a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/OrderService.java +++ b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/OrderService.java @@ -35,4 +35,6 @@ public interface OrderService extends SkyeyeBusinessService { void changeOrderAdjustPrice(InputObject inputObject, OutputObject outputObject); void updateOrderToPayState(InputObject inputObject, OutputObject outputObject); + + void setOrderCancle(String orderId); } diff --git a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderCommentServiceImpl.java b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderCommentServiceImpl.java index 2f0afceb..906af827 100644 --- a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderCommentServiceImpl.java +++ b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderCommentServiceImpl.java @@ -38,6 +38,7 @@ import org.springframework.stereotype.Service; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * @ClassName: OrderCommentServiceImpl @@ -71,33 +72,65 @@ public class OrderCommentServiceImpl extends SkyeyeBusinessServiceImpl 5) { - throw new CustomException("评价星级为1-5"); - } - } + } @Override public void createPrepose(OrderComment entity) { + OrderItem orderItem = orderItemService.selectById(entity.getOrderItemId()); + // 客户评价判断 + if (orderItem.getCommentState() == WhetherEnum.DISABLE_USING.getKey()) {// 子订单未评价 + if (entity.getType() == OrderCommentType.CUSTOMERLATER.getKey()) { + throw new CustomException("客户追评,需先进行首评。"); + } + if (entity.getType() == OrderCommentType.CUSTOMERFiRST.getKey()) {// 客户首评 + Integer start = entity.getStart(); + if (ObjectUtil.isEmpty(entity.getStart())) { + throw new CustomException("首评的星级不能为空"); + } + if (start < 0 || start > 5) { + throw new CustomException("评价星级为1-5"); + } + } + } else if (orderItem.getCommentState() == WhetherEnum.ENABLE_USING.getKey()) {// 子订单已评价 + if (entity.getType() == OrderCommentType.CUSTOMERFiRST.getKey()) {// 再次进行首评 + throw new CustomException("首评只能评价一次。"); + } + if (entity.getType() == OrderCommentType.CUSTOMERLATER.getKey()) {// 追评 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(MybatisPlusUtil.toColumns(OrderComment::getOrderItemId), entity.getOrderItemId()) + .and(wrap -> { + wrap.isNull(MybatisPlusUtil.toColumns(OrderComment::getParentId)) + .or().eq(MybatisPlusUtil.toColumns(OrderComment::getParentId), StrUtil.EMPTY); + }).eq(MybatisPlusUtil.toColumns(OrderComment::getCreateId), InputObject.getLogParamsStatic().get("id").toString()); + OrderComment one = getOne(queryWrapper); + if (ObjectUtil.isNotEmpty(one)) {// 客户已追评 + throw new CustomException("追评只能追评一次"); + } + } + } + entity.setStoreId(ObjectUtil.isEmpty(orderItem) ? "" : orderItem.getStoreId());// 设置门店id if (entity.getType() == OrderCommentType.CUSTOMERFiRST.getKey() || - entity.getType() == OrderCommentType.CUSTOMERLATER.getKey()) { + entity.getType() == OrderCommentType.CUSTOMERLATER.getKey()) {// 顾客新增的评价,商家均未回复 entity.setIsComment(WhetherEnum.DISABLE_USING.getKey()); } - OrderItem orderItem = orderItemService.selectById(entity.getOrderItemId()); - entity.setStoreId(ObjectUtil.isEmpty(orderItem) ? "" : orderItem.getStoreId());// 设置门店id } @Override @@ -108,6 +141,7 @@ public class OrderCommentServiceImpl extends SkyeyeBusinessServiceImpl updateWrapper = new UpdateWrapper<>(); updateWrapper.eq(CommonConstants.ID, orderComment.getParentId()); @@ -163,6 +197,10 @@ public class OrderCommentServiceImpl extends SkyeyeBusinessServiceImpl list = list(queryWrapper); + if (CollectionUtil.isEmpty(list)) { + return; + } +// setAdditionalReviewAndMerchantReply(list);// 区分客户追评和商家回复 iMaterialService.setDataMation(list, OrderComment::getMaterialId); iMaterialNormsService.setDataMation(list, OrderComment::getNormsId); memberService.setDataMation(list, OrderComment::getCreateId); @@ -171,4 +209,22 @@ public class OrderCommentServiceImpl extends SkyeyeBusinessServiceImpl setAdditionalReviewAndMerchantReply(List list) { + List customerFirstList = list.stream().filter(// 客户第一次评价 + item -> item.getType() == OrderCommentType.CUSTOMERFiRST.getKey()).collect(Collectors.toList()); + Map customerTowMap = list.stream().filter(// 客户追评 + item -> item.getType() == OrderCommentType.CUSTOMERLATER.getKey()).collect(Collectors.toMap(OrderComment::getParentId, o -> o)); + Map> merchantReplyMapList = list.stream().filter(// 商家回复 + item -> item.getType() == OrderCommentType.MERCHANT.getKey()).collect(Collectors.groupingBy(OrderComment::getParentId)); + for (OrderComment item : customerFirstList) { + if (customerTowMap.containsKey(item.getId())) { + item.setAdditionalReview(JSONUtil.toBean(JSONUtil.toJsonStr(customerTowMap.get(item.getId())), null)); + } + if (merchantReplyMapList.containsKey(item.getId())) { + item.setMerchantReply(JSONUtil.toBean(JSONUtil.toJsonStr(merchantReplyMapList.get(item.getId())), null)); + } + } + return customerFirstList; + } } diff --git a/skyeye-shop/shop-store/src/main/java/com/skyeye/xxljob/ShopXxlJob.java b/skyeye-shop/shop-store/src/main/java/com/skyeye/xxljob/ShopXxlJob.java index 7186ed49..2527ec44 100644 --- a/skyeye-shop/shop-store/src/main/java/com/skyeye/xxljob/ShopXxlJob.java +++ b/skyeye-shop/shop-store/src/main/java/com/skyeye/xxljob/ShopXxlJob.java @@ -8,6 +8,7 @@ import cn.hutool.json.JSONUtil; import com.skyeye.coupon.service.CouponService; import com.skyeye.coupon.service.CouponUseService; import com.skyeye.eve.service.IQuartzService; +import com.skyeye.order.service.OrderService; import com.xxl.job.core.context.XxlJobHelper; import com.xxl.job.core.handler.annotation.XxlJob; import org.springframework.beans.factory.annotation.Autowired; @@ -32,6 +33,9 @@ public class ShopXxlJob { @Autowired private CouponUseService couponUseService; + @Autowired + private OrderService orderService; + @Autowired private IQuartzService iQuartzService; @@ -54,4 +58,13 @@ public class ShopXxlJob { couponUseService.setCouponUseStateByTerm(userId, couponUseId);// 修改领取的优惠券的状态 iQuartzService.stopAndDeleteTaskQuartz(couponUseId);// 删除任务 } + + @XxlJob("createOrderNotPay") + public void createOrderNotPay() { + String param = XxlJobHelper.getJobParam(); + Map paramMap = JSONUtil.toBean(param, null); + String orderId = paramMap.get("objectId");// 订单的主键id + orderService.setOrderCancle(orderId);// 修改订单的状态为取消 + iQuartzService.stopAndDeleteTaskQuartz(orderId);// 删除任务 + } } From 9ec2bf417183a320e2ec94b6d142a7c9dbc2eb77 Mon Sep 17 00:00:00 2001 From: wst <2450473462@qq.com> Date: Tue, 3 Dec 2024 20:54:21 +0800 Subject: [PATCH 06/13] =?UTF-8?q?feat:=20=E8=AE=A2=E5=8D=95=E8=AF=84?= =?UTF-8?q?=E4=BB=B7=E4=BF=AE=E5=A4=8D=E5=88=A4=E6=96=ADbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/service/impl/OrderCommentServiceImpl.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderCommentServiceImpl.java b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderCommentServiceImpl.java index 906af827..d1243489 100644 --- a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderCommentServiceImpl.java +++ b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderCommentServiceImpl.java @@ -89,7 +89,6 @@ public class OrderCommentServiceImpl extends SkyeyeBusinessServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.eq(MybatisPlusUtil.toColumns(OrderComment::getOrderItemId), entity.getOrderItemId()) + .eq(MybatisPlusUtil.toColumns(OrderComment::getCreateId), InputObject.getLogParamsStatic().get("id").toString()) .and(wrap -> { - wrap.isNull(MybatisPlusUtil.toColumns(OrderComment::getParentId)) - .or().eq(MybatisPlusUtil.toColumns(OrderComment::getParentId), StrUtil.EMPTY); - }).eq(MybatisPlusUtil.toColumns(OrderComment::getCreateId), InputObject.getLogParamsStatic().get("id").toString()); + String parentId = MybatisPlusUtil.toColumns(OrderComment::getParentId); + wrap.isNotNull(parentId).ne(parentId, StrUtil.EMPTY); + }); OrderComment one = getOne(queryWrapper); if (ObjectUtil.isNotEmpty(one)) {// 客户已追评 throw new CustomException("追评只能追评一次"); } + entity.setStart(null); } } entity.setStoreId(ObjectUtil.isEmpty(orderItem) ? "" : orderItem.getStoreId());// 设置门店id @@ -200,7 +201,7 @@ public class OrderCommentServiceImpl extends SkyeyeBusinessServiceImpl Date: Tue, 3 Dec 2024 22:01:38 +0800 Subject: [PATCH 07/13] =?UTF-8?q?feat:=20=E4=BF=AE=E5=A4=8D=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OrderCommentServiceImpl.java | 54 +++++++++++-------- 1 file changed, 32 insertions(+), 22 deletions(-) diff --git a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderCommentServiceImpl.java b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderCommentServiceImpl.java index d1243489..a0848f31 100644 --- a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderCommentServiceImpl.java +++ b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderCommentServiceImpl.java @@ -15,6 +15,7 @@ import com.github.pagehelper.PageHelper; import com.skyeye.annotation.service.SkyeyeService; import com.skyeye.base.business.service.impl.SkyeyeBusinessServiceImpl; import com.skyeye.common.constans.CommonConstants; +import com.skyeye.common.constans.CommonNumConstants; import com.skyeye.common.entity.search.CommonPageInfo; import com.skyeye.common.enumeration.WhetherEnum; import com.skyeye.common.object.InputObject; @@ -36,6 +37,7 @@ import com.skyeye.store.service.ShopStoreService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -187,38 +189,46 @@ public class OrderCommentServiceImpl extends SkyeyeBusinessServiceImpl getOrderCommentListByType(String typeId, Integer type) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(MybatisPlusUtil.toColumns(OrderComment::getType), type) + .and(wrap -> { + wrap.eq(MybatisPlusUtil.toColumns(OrderComment::getCreateId), typeId)// 创建人id + .or().eq(MybatisPlusUtil.toColumns(OrderComment::getMaterialId), typeId) // 商品id + .or().eq(MybatisPlusUtil.toColumns(OrderComment::getOrderItemId), typeId)// 订单子单id + .or().eq(MybatisPlusUtil.toColumns(OrderComment::getOrderId), typeId);// 订单id + }); + List list = list(queryWrapper); + iMaterialService.setDataMation(list, OrderComment::getMaterialId); + iMaterialNormsService.setDataMation(list, OrderComment::getNormsId); + memberService.setDataMation(list, OrderComment::getCreateId); + shopStoreService.setDataMation(list, OrderComment::getStoreId); + return list; + } + @Override public void queryOrderCommentPageList(InputObject inputObject, OutputObject outputObject) { CommonPageInfo commonPageInfo = inputObject.getParams(CommonPageInfo.class); String typeId = commonPageInfo.getTypeId(); Page pages = PageHelper.startPage(commonPageInfo.getPage(), commonPageInfo.getLimit()); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq(MybatisPlusUtil.toColumns(OrderComment::getCreateId), typeId)// 创建人id - .or().eq(MybatisPlusUtil.toColumns(OrderComment::getMaterialId), typeId) // 商品id - .or().eq(MybatisPlusUtil.toColumns(OrderComment::getOrderItemId), typeId)// 订单子单id - .or().eq(MybatisPlusUtil.toColumns(OrderComment::getOrderId), typeId); // 订单id - List list = list(queryWrapper); - if (CollectionUtil.isEmpty(list)) { + List customerFirst = getOrderCommentListByType(typeId, OrderCommentType.CUSTOMERFiRST.getKey()); + List customerLater = getOrderCommentListByType(typeId, OrderCommentType.CUSTOMERLATER.getKey()); + List merchantReply = getOrderCommentListByType(typeId, OrderCommentType.MERCHANT.getKey()); + if (CollectionUtil.isEmpty(customerFirst)) { return; } - setAdditionalReviewAndMerchantReply(list);// 区分客户追评和商家回复 - iMaterialService.setDataMation(list, OrderComment::getMaterialId); - iMaterialNormsService.setDataMation(list, OrderComment::getNormsId); - memberService.setDataMation(list, OrderComment::getCreateId); - shopStoreService.setDataMation(list, OrderComment::getStoreId); - List> mapList = JSONUtil.toList(JSONUtil.toJsonStr(list), null); + List beans = setAdditionalReviewAndMerchantReply(customerFirst, customerLater, merchantReply);// 区分客户追评和商家回复 + List> mapList = JSONUtil.toList(JSONUtil.toJsonStr(beans), null); outputObject.setBeans(mapList); outputObject.settotal(pages.getTotal()); } - private List setAdditionalReviewAndMerchantReply(List list) { - List customerFirstList = list.stream().filter(// 客户第一次评价 - item -> item.getType() == OrderCommentType.CUSTOMERFiRST.getKey()).collect(Collectors.toList()); - Map customerTowMap = list.stream().filter(// 客户追评 - item -> item.getType() == OrderCommentType.CUSTOMERLATER.getKey()).collect(Collectors.toMap(OrderComment::getParentId, o -> o)); - Map> merchantReplyMapList = list.stream().filter(// 商家回复 - item -> item.getType() == OrderCommentType.MERCHANT.getKey()).collect(Collectors.groupingBy(OrderComment::getParentId)); - for (OrderComment item : customerFirstList) { + private List setAdditionalReviewAndMerchantReply(List customerFirst, List customerLater, List merchantReply) { + Map customerTowMap = customerLater.stream() + .filter(ObjectUtil::isEmpty).collect(Collectors.toMap(OrderComment::getParentId, o -> o));// 客户追评 + Map> merchantReplyMapList = merchantReply.stream() + .filter(ObjectUtil::isEmpty).collect(Collectors.groupingBy(OrderComment::getParentId));// 商家回复 + for (OrderComment item : customerFirst) { if (customerTowMap.containsKey(item.getId())) { item.setAdditionalReview(JSONUtil.toBean(JSONUtil.toJsonStr(customerTowMap.get(item.getId())), null)); } @@ -226,6 +236,6 @@ public class OrderCommentServiceImpl extends SkyeyeBusinessServiceImpl Date: Wed, 4 Dec 2024 09:24:08 +0800 Subject: [PATCH 08/13] =?UTF-8?q?feat=EF=BC=9A=E5=95=86=E5=93=81=E6=BB=A1?= =?UTF-8?q?=E5=87=8F=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/skyeye/order/entity/Order.java | 2 +- .../order/service/impl/OrderServiceImpl.java | 29 ++++++++++++++----- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/entity/Order.java b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/entity/Order.java index bf79540f..e7df10f4 100644 --- a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/entity/Order.java +++ b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/entity/Order.java @@ -88,7 +88,7 @@ public class Order extends AreaInfo { private String payType; @TableField("total_price") - @Property(value = "商品总价,单位:分") + @ApiModelProperty(value = "商品总价,单位:分",required = "required") private String totalPrice; @TableField("discount_price") diff --git a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderServiceImpl.java b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderServiceImpl.java index bcdab8ed..009b15ca 100644 --- a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderServiceImpl.java +++ b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderServiceImpl.java @@ -213,20 +213,33 @@ public class OrderServiceImpl extends SkyeyeBusinessServiceImpl } private void checkCouponUseMaterial(Order order) { - String couponUseId = order.getCouponUseId(); - if (StrUtil.isEmpty(couponUseId)) { + String couponUseId = order.getCouponUseId();//优惠券id + double totalPrice = Integer.parseInt(order.getTotalPrice());//总单原价 + if (StrUtil.isEmpty(couponUseId)) {//没有使用优惠券 return; } - List orderItemList = order.getOrderItemList(); - CouponUse couponUse = couponUseService.selectById(couponUseId); - OrderItem orderItem = null; + List orderItemList = order.getOrderItemList();//子单列表 + + CouponUse couponUse = couponUseService.selectById(couponUseId);//优惠券信息 + OrderItem orderItem = null;//优惠券使用商品 if (Objects.equals(couponUse.getProductScope(), PromotionMaterialScope.ALL.getKey())) {// 全部商品 if (Objects.equals(couponUse.getDiscountType(), PromotionDiscountType.PERCENT.getKey())) {// 百分比折扣 orderItem = orderItemList.stream().max(Comparator.comparing(OrderItem::getPrice)).orElse(null);// 获取优惠券使用商品列表中,价格最高的商品 } else {// 满减 将优惠券使用到第一个商品 - orderItemList.get(0).setCouponUseId(couponUseId); - orderItemList.get(0).setCouponUseMation(JSONUtil.toBean(JSONUtil.toJsonStr(couponUse), null));// 设置mation方便后续计算价格 - return; + //卢雨佳 + double usePrice = Integer.parseInt(couponUse.getUsePrice());//优惠券使用金额 + if (totalPrice>= usePrice) {//商品价格大于等于优惠券使用金额 + Optional maxPriceItem = orderItemList.stream() + .max(Comparator.comparing(OrderItem::getPrice));//获取优惠券使用商品列表中,价格最高的商品 + int index = maxPriceItem + .map(item -> orderItemList.indexOf(item)) + .orElse(-1);//获取最高价格商品在子单列表中的索引 + orderItemList.get(index).setCouponUseId(couponUseId); + orderItemList.get(index).setCouponUseMation(JSONUtil.toBean(JSONUtil.toJsonStr(couponUse), null));// 设置mation方便后续计算价格 + return; + }else { + throw new CustomException("商品价格不足以使用优惠券"); + } } } else if (Objects.equals(couponUse.getProductScope(), PromotionMaterialScope.SPU.getKey())) {// 指定商品 List couponUseMaterialIds = couponUseMaterialService.queryListByCouponIds(Collections.singletonList(couponUseId)) From c698a6656a12e1a982b8cbd76ea9ee0ade23aa7a Mon Sep 17 00:00:00 2001 From: wst <2450473462@qq.com> Date: Wed, 4 Dec 2024 09:32:49 +0800 Subject: [PATCH 09/13] =?UTF-8?q?feat:=20=E4=B8=BA=E5=AE=9E=E4=BD=93?= =?UTF-8?q?=E7=B1=BB=E7=9A=84=E6=B3=A8=E8=A7=A3=E5=8A=A0=E5=85=A5enumClass?= =?UTF-8?q?=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/skyeye/coupon/entity/Coupon.java | 15 ++++++++++----- .../java/com/skyeye/coupon/entity/CouponUse.java | 12 ++++++++---- .../main/java/com/skyeye/order/entity/Order.java | 11 ++++++----- .../java/com/skyeye/order/entity/OrderItem.java | 3 ++- .../order/service/impl/OrderServiceImpl.java | 4 ++-- .../java/com/skyeye/store/entity/ShopAddress.java | 3 ++- .../com/skyeye/store/entity/ShopTradeCart.java | 3 ++- .../java/com/skyeye/type/entity/StoreType.java | 3 ++- 8 files changed, 34 insertions(+), 20 deletions(-) diff --git a/skyeye-shop/shop-store/src/main/java/com/skyeye/coupon/entity/Coupon.java b/skyeye-shop/shop-store/src/main/java/com/skyeye/coupon/entity/Coupon.java index 26f803fd..b20b2d6e 100644 --- a/skyeye-shop/shop-store/src/main/java/com/skyeye/coupon/entity/Coupon.java +++ b/skyeye-shop/shop-store/src/main/java/com/skyeye/coupon/entity/Coupon.java @@ -12,6 +12,11 @@ import com.skyeye.annotation.api.Property; import com.skyeye.annotation.cache.RedisCacheField; import com.skyeye.common.constans.RedisConstants; import com.skyeye.common.entity.features.BaseGeneralInfo; +import com.skyeye.common.enumeration.EnableEnum; +import com.skyeye.coupon.enums.CouponTakeType; +import com.skyeye.coupon.enums.CouponValidityType; +import com.skyeye.coupon.enums.PromotionDiscountType; +import com.skyeye.coupon.enums.PromotionMaterialScope; import lombok.Data; import java.util.List; @@ -39,7 +44,7 @@ public class Coupon extends BaseGeneralInfo { private String templateId; @TableField(value = "enabled") - @ApiModelProperty(value = "状态,参考#EnableEnum", required = "required,num") + @ApiModelProperty(value = "状态", required = "required,num", enumClass = EnableEnum.class) private Integer enabled; @TableField(value = "total_count") @@ -51,7 +56,7 @@ public class Coupon extends BaseGeneralInfo { private Integer takeLimitCount; @TableField(value = "take_type") - @ApiModelProperty(value = "领取方式,参考#CouponTakeType", required = "required,num") + @ApiModelProperty(value = "领取方式", required = "required,num",enumClass = CouponTakeType.class) private Integer takeType; @TableField(value = "use_price") @@ -59,11 +64,11 @@ public class Coupon extends BaseGeneralInfo { private String usePrice; @TableField(value = "product_scope") - @ApiModelProperty(value = "商品范围,参考#PromotionMaterialScope", required = "required,num") + @ApiModelProperty(value = "商品范围", required = "required,num", enumClass = PromotionMaterialScope.class) private Integer productScope; @TableField(value = "validity_type") - @ApiModelProperty(value = "生效日期类型,参考#CouponValidityType", required = "required,num") + @ApiModelProperty(value = "生效日期类型", required = "required,num",enumClass = CouponValidityType.class) private Integer validityType; @TableField(value = "valid_start_time") @@ -83,7 +88,7 @@ public class Coupon extends BaseGeneralInfo { private Integer fixedEndTerm; @TableField(value = "discount_type") - @ApiModelProperty(value = "折扣类型,参考#PromotionDiscountType", required = "required,num") + @ApiModelProperty(value = "折扣类型", required = "required,num",enumClass = PromotionDiscountType.class) private Integer discountType; @TableField(value = "discount_percent") diff --git a/skyeye-shop/shop-store/src/main/java/com/skyeye/coupon/entity/CouponUse.java b/skyeye-shop/shop-store/src/main/java/com/skyeye/coupon/entity/CouponUse.java index 066c2467..47eaf6b1 100644 --- a/skyeye-shop/shop-store/src/main/java/com/skyeye/coupon/entity/CouponUse.java +++ b/skyeye-shop/shop-store/src/main/java/com/skyeye/coupon/entity/CouponUse.java @@ -11,6 +11,10 @@ import com.skyeye.annotation.api.ApiModel; import com.skyeye.annotation.api.ApiModelProperty; import com.skyeye.annotation.api.Property; import com.skyeye.common.entity.features.OperatorUserInfo; +import com.skyeye.coupon.enums.CouponTakeType; +import com.skyeye.coupon.enums.CouponUseState; +import com.skyeye.coupon.enums.PromotionDiscountType; +import com.skyeye.coupon.enums.PromotionMaterialScope; import lombok.Data; import java.util.List; @@ -42,11 +46,11 @@ public class CouponUse extends OperatorUserInfo { private Map couponMation; @TableField(value = "state") - @Property(value = "状态,参考#CouponUseState") + @Property(value = "状态", enumClass = CouponUseState.class) private Integer state; @TableField(value = "task_type") - @ApiModelProperty(value = "领取类型", required = "required") + @ApiModelProperty(value = "领取类型", required = "required", enumClass = CouponTakeType.class) private Integer taskType; @TableField(value = "use_price") @@ -54,7 +58,7 @@ public class CouponUse extends OperatorUserInfo { private String usePrice; @TableField(value = "product_scope") - @Property(value = "商品范围") + @Property(value = "商品范围", enumClass = PromotionMaterialScope.class) private Integer productScope; @TableField(value = "valid_start_time") @@ -66,7 +70,7 @@ public class CouponUse extends OperatorUserInfo { private String validEndTime; @TableField(value = "discount_type") - @Property(value = "折扣类型") + @Property(value = "折扣类型", enumClass = PromotionDiscountType.class) private Integer discountType; @TableField(value = "discount_percent") diff --git a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/entity/Order.java b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/entity/Order.java index bf79540f..e22be721 100644 --- a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/entity/Order.java +++ b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/entity/Order.java @@ -12,6 +12,7 @@ import com.skyeye.annotation.api.ApiModelProperty; import com.skyeye.annotation.api.Property; import com.skyeye.annotation.cache.RedisCacheField; import com.skyeye.common.entity.features.AreaInfo; +import com.skyeye.order.enums.*; import lombok.Data; import java.util.List; @@ -40,11 +41,11 @@ public class Order extends AreaInfo { private String oddNumber; @TableField("type") - @ApiModelProperty(value = "订单类型,参考#ShopOrderType", required = "required") + @ApiModelProperty(value = "订单类型", required = "required",enumClass = ShopOrderType.class) private Integer type; @TableField("terminal") - @ApiModelProperty(value = "订单来源,参考#ShopOrderTerminal", required = "required") + @ApiModelProperty(value = "订单来源", required = "required", enumClass = ShopOrderTerminal.class) private Integer terminal; @TableField("user_ip") @@ -52,7 +53,7 @@ public class Order extends AreaInfo { private String userIp; @TableField("state") - @Property(value = "状态, 参考#ShopOrderState") + @Property(value = "状态",enumClass = ShopOrderState.class) private Integer state; @TableField("count") @@ -68,11 +69,11 @@ public class Order extends AreaInfo { private String cancelTime; @TableField("cancel_type") - @Property(value = "取消类型,参考#ShopOrderCancelType") + @Property(value = "取消类型",enumClass = ShopOrderCancelType.class) private Integer cancelType; @TableField("comment_state") - @Property(value = "是否评价,参考#ShopOrderCommentState") + @Property(value = "是否评价", enumClass = ShopOrderCommentState.class) private Integer commentState; @TableField("brokerage_user_id") diff --git a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/entity/OrderItem.java b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/entity/OrderItem.java index cca976f4..36755874 100644 --- a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/entity/OrderItem.java +++ b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/entity/OrderItem.java @@ -11,6 +11,7 @@ import com.skyeye.annotation.api.ApiModel; import com.skyeye.annotation.api.ApiModelProperty; import com.skyeye.annotation.api.Property; import com.skyeye.common.entity.features.OperatorUserInfo; +import com.skyeye.common.enumeration.WhetherEnum; import lombok.Data; import java.util.Map; @@ -73,7 +74,7 @@ public class OrderItem extends OperatorUserInfo { private Integer count; @TableField("comment_state") - @Property(value = "是否评价") + @Property(value = "是否评价",enumClass = WhetherEnum.class) private Integer commentState; @TableField("price") diff --git a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderServiceImpl.java b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderServiceImpl.java index bcdab8ed..45ba3980 100644 --- a/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderServiceImpl.java +++ b/skyeye-shop/shop-store/src/main/java/com/skyeye/order/service/impl/OrderServiceImpl.java @@ -438,11 +438,11 @@ public class OrderServiceImpl extends SkyeyeBusinessServiceImpl iAreaService.setDataMation(order, Order::getAreaId); iAreaService.setDataMation(order, Order::getTownshipId); shopAddressService.setDataMation(order, Order::getAddressId); - pennyToYuan(order); + pennyToYuan(order);// 分 -> 元 return order; } - private void pennyToYuan(Order order) { + private void pennyToYuan(Order order) {// 分 -> 元 if (ObjectUtil.isEmpty(order)) { return; } diff --git a/skyeye-shop/shop-store/src/main/java/com/skyeye/store/entity/ShopAddress.java b/skyeye-shop/shop-store/src/main/java/com/skyeye/store/entity/ShopAddress.java index f422274b..20f84ac0 100644 --- a/skyeye-shop/shop-store/src/main/java/com/skyeye/store/entity/ShopAddress.java +++ b/skyeye-shop/shop-store/src/main/java/com/skyeye/store/entity/ShopAddress.java @@ -13,6 +13,7 @@ import com.skyeye.annotation.api.Property; import com.skyeye.annotation.cache.RedisCacheField; import com.skyeye.common.constans.RedisConstants; import com.skyeye.common.entity.features.AreaInfo; +import com.skyeye.common.enumeration.WhetherEnum; import lombok.Data; import java.util.Map; @@ -52,6 +53,6 @@ public class ShopAddress extends AreaInfo { private Map labelMation; @TableField("is_default") - @ApiModelProperty(value = "是否是默认地址,参考#WhetherEnum", required = "required,num") + @ApiModelProperty(value = "是否是默认地址", required = "required,num", enumClass = WhetherEnum.class) private Integer isDefault; } \ No newline at end of file diff --git a/skyeye-shop/shop-store/src/main/java/com/skyeye/store/entity/ShopTradeCart.java b/skyeye-shop/shop-store/src/main/java/com/skyeye/store/entity/ShopTradeCart.java index eb199664..3f05f0f3 100644 --- a/skyeye-shop/shop-store/src/main/java/com/skyeye/store/entity/ShopTradeCart.java +++ b/skyeye-shop/shop-store/src/main/java/com/skyeye/store/entity/ShopTradeCart.java @@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.skyeye.annotation.api.ApiModel; import com.skyeye.annotation.api.ApiModelProperty; import com.skyeye.common.entity.features.OperatorUserInfo; +import com.skyeye.common.enumeration.WhetherEnum; import lombok.Data; import java.util.Map; @@ -64,6 +65,6 @@ public class ShopTradeCart extends OperatorUserInfo { private Integer count; @TableField("selected") - @ApiModelProperty(value = "是否选中,参考#WhetherEnum", required = "required,num") + @ApiModelProperty(value = "是否选中", required = "required,num",enumClass = WhetherEnum.class) private Integer selected; } diff --git a/skyeye-shop/shop-store/src/main/java/com/skyeye/type/entity/StoreType.java b/skyeye-shop/shop-store/src/main/java/com/skyeye/type/entity/StoreType.java index de1c3213..992c5898 100644 --- a/skyeye-shop/shop-store/src/main/java/com/skyeye/type/entity/StoreType.java +++ b/skyeye-shop/shop-store/src/main/java/com/skyeye/type/entity/StoreType.java @@ -10,6 +10,7 @@ import com.skyeye.annotation.api.ApiModel; import com.skyeye.annotation.api.ApiModelProperty; import com.skyeye.annotation.api.Property; import com.skyeye.common.entity.features.BaseGeneralInfo; +import com.skyeye.common.enumeration.WhetherEnum; import lombok.Data; import java.util.Map; @@ -36,7 +37,7 @@ public class StoreType extends BaseGeneralInfo { private Integer orderBy; @TableField("enabled") - @ApiModelProperty(value = "启用状态1是0否,参考#WhetherEnum", required = "required") + @ApiModelProperty(value = "启用状态1是0否", required = "required", enumClass = WhetherEnum.class) private Integer enabled; @TableField(value = "store_id") From dcb7243cedd141c69db72919ef0cb92462d8cfec Mon Sep 17 00:00:00 2001 From: weizhiqiang <598748873@qq.com> Date: Wed, 4 Dec 2024 11:11:42 +0800 Subject: [PATCH 10/13] =?UTF-8?q?feat:=20=E8=A7=A3=E5=86=B3=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E5=AE=A1=E6=89=B9=E4=BA=BA=E6=8A=A5=E9=94=99=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ActivitiProcessServiceImpl.java | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/skyeye-flowable/flowable-main/src/main/java/com/skyeye/activiti/service/impl/ActivitiProcessServiceImpl.java b/skyeye-flowable/flowable-main/src/main/java/com/skyeye/activiti/service/impl/ActivitiProcessServiceImpl.java index 2dda25ad..3c3bddfb 100644 --- a/skyeye-flowable/flowable-main/src/main/java/com/skyeye/activiti/service/impl/ActivitiProcessServiceImpl.java +++ b/skyeye-flowable/flowable-main/src/main/java/com/skyeye/activiti/service/impl/ActivitiProcessServiceImpl.java @@ -376,8 +376,25 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { list.add(userMation); } } - - return list.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(p -> String.valueOf(p.get("id"))))), ArrayList::new)); + // 使用 Stream API 进行过滤、排序并最终收集到 ArrayList 中 + List> resultList = list.stream() + .filter(Objects::nonNull) // 确保 item 不是 null + .map(item -> item.entrySet().stream() + .filter(entry -> entry != null && entry.getKey() != null && + entry.getValue() != null && !"".equals(entry.getValue())) + .collect(Collectors.toMap( + Map.Entry::getKey, + Map.Entry::getValue, + (existing, replacement) -> existing, // 解决重复键的问题 + LinkedHashMap::new)) // 保持插入顺序 + ) + .filter(Objects::nonNull) // 确保转换后的 map 不是 null + .sorted(Comparator.comparing(p -> String.valueOf(p.get("id")), Comparator.nullsLast(Comparator.naturalOrder()))) + .collect(Collectors.collectingAndThen( + Collectors.toCollection(ArrayList::new), + ArrayList::new + )); + return resultList; } /** From bc6e0d3a1a757560bcae815872ebe2c0bd066fb4 Mon Sep 17 00:00:00 2001 From: weizhiqiang <598748873@qq.com> Date: Wed, 4 Dec 2024 11:32:55 +0800 Subject: [PATCH 11/13] =?UTF-8?q?feat:=20=E8=A7=A3=E5=86=B3=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E6=93=8D=E4=BD=9C=E6=8C=89=E9=92=AE=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E7=B1=BB=E5=9E=8B=E5=9B=9E=E6=98=BE=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=8C=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93type=3D2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/skyeye/operate/entity/OperateOpenPage.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/operate/entity/OperateOpenPage.java b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/operate/entity/OperateOpenPage.java index f80dc584..27ec1be7 100644 --- a/skyeye-promote/skyeye-common/src/main/java/com/skyeye/operate/entity/OperateOpenPage.java +++ b/skyeye-promote/skyeye-common/src/main/java/com/skyeye/operate/entity/OperateOpenPage.java @@ -13,6 +13,7 @@ import com.skyeye.annotation.api.ApiModelProperty; import com.skyeye.annotation.api.Property; import com.skyeye.common.entity.features.OperatorUserInfo; import com.skyeye.dsform.entity.DsFormPage; +import com.skyeye.operate.classenum.MenuPageType; import lombok.Data; import java.util.Map; @@ -43,7 +44,7 @@ public class OperateOpenPage extends OperatorUserInfo { private String name; @TableField("`type`") - @ApiModelProperty(value = "页面类型,参考#MenuPageType", required = "required") + @ApiModelProperty(value = "页面类型", required = "required", enumClass = MenuPageType.class) private Integer type; @TableField("page_url") From c9c723f043e407711705a7031ad83625f3f0428a Mon Sep 17 00:00:00 2001 From: luluyuyu <3305167204@qq.com> Date: Wed, 4 Dec 2024 15:14:43 +0800 Subject: [PATCH 12/13] =?UTF-8?q?feat=EF=BC=9A=E9=A2=98=E5=BA=93=E9=A2=98?= =?UTF-8?q?=E7=9B=AE=E7=9A=84=E5=A2=9E=E5=88=A0=E6=94=B9=E6=9F=A5=EF=BC=8C?= =?UTF-8?q?=E8=AF=95=E5=8D=B7=E7=9A=84=E5=A2=9E=E5=88=A0=E6=94=B9=E6=9F=A5?= =?UTF-8?q?=EF=BC=8C=E5=8F=91=E5=B8=83=EF=BC=8C=E5=A4=8D=E5=88=B6=E8=AF=95?= =?UTF-8?q?=E5=8D=B7=EF=BC=8C=E6=98=AF=E5=90=A6=E5=8F=AF=E5=8F=82=E5=8A=A0?= =?UTF-8?q?=E8=80=83=E8=AF=95=EF=BC=8C=E6=89=8B=E5=8A=A8=E7=BB=93=E6=9D=9F?= =?UTF-8?q?=E8=AF=95=E5=8D=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Examquestion/service/QuestionService.java | 2 + .../service/impl/QuestionServiceImpl.java | 150 ++++++++++-------- .../eve/service/impl/ExamServiceImpl.java | 78 ++++----- .../service/ExamQuCheckboxService.java | 2 + .../impl/ExamQuCheckboxServiceImpl.java | 8 + .../service/ExamQuChenColumnService.java | 2 + .../impl/ExamQuChenColumnServiceImpl.java | 16 +- .../service/ExamQuChenRowService.java | 2 + .../impl/ExamQuChenRowServiceImpl.java | 24 ++- .../service/ExamQuMultiFillblankService.java | 2 + .../ExamQuMultiFillblankControllerImpl.java | 8 + .../service/ExamQuOrderbyService.java | 2 + .../impl/ExamQuOrderbyServiceImpl.java | 14 +- .../service/ExamQuRadioService.java | 2 + .../service/impl/ExamQuRadioServiceImpl.java | 9 ++ .../service/ExamQuScoreService.java | 2 + .../service/impl/ExamQuScoreServiceImpl.java | 12 +- .../service/ExamSurveyAnswerService.java | 4 + .../impl/ExamSurveyAnswerServiceImpl.java | 10 +- .../ExamSurveyDirectoryController.java | 15 ++ .../service/ExamSurveyDirectoryService.java | 4 + .../impl/ExamSurveyDirectoryServiceImpl.java | 37 ++++- .../mapper/exam/SysEveUserStaffDao.xml | 50 +++--- 23 files changed, 303 insertions(+), 152 deletions(-) diff --git a/skyeye-school/school-exam/src/main/java/com/skyeye/eve/Examquestion/service/QuestionService.java b/skyeye-school/school-exam/src/main/java/com/skyeye/eve/Examquestion/service/QuestionService.java index 4ff19ad3..dd16e646 100644 --- a/skyeye-school/school-exam/src/main/java/com/skyeye/eve/Examquestion/service/QuestionService.java +++ b/skyeye-school/school-exam/src/main/java/com/skyeye/eve/Examquestion/service/QuestionService.java @@ -22,6 +22,8 @@ public interface QuestionService extends SkyeyeBusinessService { void copyQuestionListMation(Question question); + List queryQuestionMationCopyById(String surveyCopyId); + // String saveQuestion(Question question, String id, String userId); } diff --git a/skyeye-school/school-exam/src/main/java/com/skyeye/eve/Examquestion/service/impl/QuestionServiceImpl.java b/skyeye-school/school-exam/src/main/java/com/skyeye/eve/Examquestion/service/impl/QuestionServiceImpl.java index e32e3663..76ca4ae9 100644 --- a/skyeye-school/school-exam/src/main/java/com/skyeye/eve/Examquestion/service/impl/QuestionServiceImpl.java +++ b/skyeye-school/school-exam/src/main/java/com/skyeye/eve/Examquestion/service/impl/QuestionServiceImpl.java @@ -4,9 +4,11 @@ package com.skyeye.eve.Examquestion.service.impl; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.skyeye.annotation.service.SkyeyeService; import com.skyeye.base.business.service.impl.SkyeyeBusinessServiceImpl; +import com.skyeye.common.constans.CommonNumConstants; import com.skyeye.common.entity.search.CommonPageInfo; import com.skyeye.common.object.InputObject; import com.skyeye.common.util.DateUtil; @@ -16,22 +18,18 @@ import com.skyeye.common.util.question.QuType; import com.skyeye.eve.Examquestion.dao.QuestionDao; import com.skyeye.eve.Examquestion.entity.Question; import com.skyeye.eve.Examquestion.service.QuestionService; -import com.skyeye.exam.examquchckbox.dao.ExamQuCheckboxDao; import com.skyeye.exam.examquchckbox.entity.ExamQuCheckbox; import com.skyeye.exam.examquchckbox.service.ExamQuCheckboxService; -import com.skyeye.exam.examquchencolumn.dao.ExamQuChenColumnDao; import com.skyeye.exam.examquchencolumn.entity.ExamQuChenColumn; import com.skyeye.exam.examquchencolumn.service.ExamQuChenColumnService; -import com.skyeye.exam.examquchenrow.dao.ExamQuChenRowDao; import com.skyeye.exam.examquchenrow.entity.ExamQuChenRow; +import com.skyeye.exam.examquchenrow.service.ExamQuChenRowService; import com.skyeye.exam.examquestionlogic.entity.ExamQuestionLogic; import com.skyeye.exam.examquestionlogic.service.ExamQuestionLogicService; -import com.skyeye.exam.examqumultfillblank.dao.ExamQuMultiFillblankDao; import com.skyeye.exam.examqumultfillblank.entity.ExamQuMultiFillblank; import com.skyeye.exam.examqumultfillblank.service.ExamQuMultiFillblankService; import com.skyeye.exam.examquorderby.entity.ExamQuOrderby; import com.skyeye.exam.examquorderby.service.ExamQuOrderbyService; -import com.skyeye.exam.examquradio.dao.ExamQuRadioDao; import com.skyeye.exam.examquradio.entity.ExamQuRadio; import com.skyeye.exam.examquradio.service.ExamQuRadioService; import com.skyeye.exam.examquscore.entity.ExamQuScore; @@ -40,7 +38,6 @@ import com.skyeye.exception.CustomException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.Collections; import java.util.List; /** @@ -73,9 +70,15 @@ public class QuestionServiceImpl extends SkyeyeBusinessServiceImpl questionLogic = entity.getQuestionLogic(); if (!questionLogic.isEmpty()) { examQuestionLogicService.setLogics(quId, questionLogic, userId); - }else { + } else { throw new CustomException("请设置问题逻辑"); } List radioTd = entity.getRadioTd(); @@ -177,9 +180,9 @@ public class QuestionServiceImpl extends SkyeyeBusinessServiceImpl examQuRadioList = examQuRadioService.selectQuRadio(question.getCopyFromId()); + for (ExamQuRadio examQuRadio : examQuRadioList) { + examQuRadio.setId(ToolUtil.getSurFaceId()); + examQuRadio.setCreateTime(DateUtil.getTimeAndToString()); + examQuRadio.setQuId(question.getId()); } - } - else if (quType.equals(QuType.CHECKBOX.getActionName()) || quType.equals(QuType.COMPCHECKBOX.getActionName())){ - ExamQuCheckbox examQuCheckbox = examQuCheckboxDao.selectById(question.getCopyFromId()); - examQuCheckbox.setId(ToolUtil.getSurFaceId()); - examQuCheckbox.setCreateTime(DateUtil.getTimeAndToString()); - examQuCheckbox.setQuId(question.getId()); - if (examQuCheckbox != null) { - examQuCheckboxDao.insert(examQuCheckbox); + if (!examQuRadioList.isEmpty()) { + examQuRadioService.createEntity(examQuRadioList, StrUtil.EMPTY); } - } - else if (quType.equals(QuType.MULTIFILLBLANK.getActionName())){ - ExamQuMultiFillblank examQuMultiFillblank = examQuMultiFillblankDao.selectById(question.getCopyFromId()); - examQuMultiFillblank.setId(ToolUtil.getSurFaceId()); - examQuMultiFillblank.setCreateTime(DateUtil.getTimeAndToString()); - examQuMultiFillblank.setQuId(question.getId()); - if (examQuMultiFillblank != null) { - examQuMultiFillblankDao.insert(examQuMultiFillblank); + } else if (quType.equals(QuType.CHECKBOX.getActionName()) || quType.equals(QuType.COMPCHECKBOX.getActionName())) { + List examQuCheckboxList = examQuCheckboxService.selectQuChenbox(question.getCopyFromId()); + for (ExamQuCheckbox examQuCheckbox : examQuCheckboxList) { + examQuCheckbox.setId(ToolUtil.getSurFaceId()); + examQuCheckbox.setCreateTime(DateUtil.getTimeAndToString()); + examQuCheckbox.setQuId(question.getId()); } - } - else if (quType.equals(QuType.BIGQU.getActionName())){ - } - else if (quType.equals(QuType.CHENRADIO.getActionName()) || quType.equals(QuType.CHENCHECKBOX.getActionName()) || quType.equals(QuType.CHENSCORE.getActionName()) - || quType.equals(QuType.CHENFBK.getActionName()) || quType.equals(QuType.COMPCHENRADIO.getActionName())){ - ExamQuChenRow examQuChenRow = examQuChenRowDao.selectById(question.getCopyFromId()); - ExamQuChenColumn examQuChenColumn = examQuChenColumnDao.selectById(question.getCopyFromId()); - examQuChenRow.setId(ToolUtil.getSurFaceId()); - examQuChenRow.setCreateTime(DateUtil.getTimeAndToString()); - examQuChenRow.setQuId(question.getId()); - examQuChenColumn.setId(ToolUtil.getSurFaceId()); - examQuChenColumn.setCreateTime(DateUtil.getTimeAndToString()); - examQuChenColumn.setQuId(question.getId()); - if (examQuChenRow != null) { - examQuChenRowDao.insert(examQuChenRow); + if (!examQuCheckboxList.isEmpty()) { + examQuCheckboxService.createEntity(examQuCheckboxList, StrUtil.EMPTY); } - if (examQuChenColumn != null) { - examQuChenColumnDao.insert(examQuChenColumn); + } else if (quType.equals(QuType.MULTIFILLBLANK.getActionName())) { + List multiFillblanksList = examQuMultiFillblankService.selectQuMultiFillblank(question.getCopyFromId()); + for (ExamQuMultiFillblank examQuMultiFillblank : multiFillblanksList) { + examQuMultiFillblank.setId(ToolUtil.getSurFaceId()); + examQuMultiFillblank.setCreateTime(DateUtil.getTimeAndToString()); + examQuMultiFillblank.setQuId(question.getId()); + } + if (!multiFillblanksList.isEmpty()) { + examQuMultiFillblankService.createEntity(multiFillblanksList, StrUtil.EMPTY); + } + } else if (quType.equals(QuType.BIGQU.getActionName())) { + } else if (quType.equals(QuType.CHENRADIO.getActionName()) || quType.equals(QuType.CHENCHECKBOX.getActionName()) || quType.equals(QuType.CHENSCORE.getActionName()) + || quType.equals(QuType.CHENFBK.getActionName()) || quType.equals(QuType.COMPCHENRADIO.getActionName())) { + List examQuChenRowList = examQuChenRowService.selectQuChenRow(question.getCopyFromId()); + List examQuChenColumnList = examQuChenColumnService.selectQuChenColumn(question.getCopyFromId()); + for (ExamQuChenRow examQuChenRow : examQuChenRowList) { + examQuChenRow.setId(ToolUtil.getSurFaceId()); + examQuChenRow.setCreateTime(DateUtil.getTimeAndToString()); + examQuChenRow.setQuId(question.getId()); + } + if (!examQuChenRowList.isEmpty()) { + examQuChenRowService.createEntity(examQuChenRowList, StrUtil.EMPTY); + } + for (ExamQuChenColumn examQuChenColumn : examQuChenColumnList) { + examQuChenColumn.setId(ToolUtil.getSurFaceId()); + examQuChenColumn.setCreateTime(DateUtil.getTimeAndToString()); + examQuChenColumn.setQuId(question.getId()); + } + if (!examQuChenColumnList.isEmpty()) { + examQuChenColumnService.createEntity(examQuChenColumnList, StrUtil.EMPTY); + } + } else if (quType.equals(QuType.SCORE.getActionName())) { + List examQuScoreList = examQuScoreService.selectQuScore(question.getCopyFromId()); + for (ExamQuScore examQuScore : examQuScoreList) { + examQuScore.setId(ToolUtil.getSurFaceId()); + examQuScore.setCreateTime(DateUtil.getTimeAndToString()); + examQuScore.setQuId(question.getId()); + } + if (!examQuScoreList.isEmpty()) { + examQuScoreService.createEntity(examQuScoreList, StrUtil.EMPTY); + } + } else if (quType.equals(QuType.ORDERQU.getActionName())) { + List examQuOrderbyList = examQuOrderbyService.selectQuOrderby(question.getCopyFromId()); + for (ExamQuOrderby examQuOrderby : examQuOrderbyList) { + examQuOrderby.setId(ToolUtil.getSurFaceId()); + examQuOrderby.setCreateTime(DateUtil.getTimeAndToString()); + examQuOrderby.setQuId(question.getId()); + } + if (!examQuOrderbyList.isEmpty()) { + examQuOrderbyService.createEntity(examQuOrderbyList, StrUtil.EMPTY); } - - } } + @Override + public List queryQuestionMationCopyById(String surveyCopyId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(MybatisPlusUtil.toColumns(Question::getBelongId), surveyCopyId); + queryWrapper.eq(MybatisPlusUtil.toColumns(Question::getTag), CommonNumConstants.NUM_TWO); + queryWrapper.ne(MybatisPlusUtil.toColumns(Question::getQuTag), CommonNumConstants.NUM_TWO); + queryWrapper.eq(MybatisPlusUtil.toColumns(Question::getVisibility), CommonNumConstants.NUM_ONE); + return list(queryWrapper); + } } diff --git a/skyeye-school/school-exam/src/main/java/com/skyeye/eve/service/impl/ExamServiceImpl.java b/skyeye-school/school-exam/src/main/java/com/skyeye/eve/service/impl/ExamServiceImpl.java index e00cb4e5..205e6892 100644 --- a/skyeye-school/school-exam/src/main/java/com/skyeye/eve/service/impl/ExamServiceImpl.java +++ b/skyeye-school/school-exam/src/main/java/com/skyeye/eve/service/impl/ExamServiceImpl.java @@ -46,7 +46,7 @@ public class ExamServiceImpl implements ExamService { /** * 获取所有试卷列表 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -63,7 +63,7 @@ public class ExamServiceImpl implements ExamService { /** * 获取我的试卷列表 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -130,10 +130,11 @@ public class ExamServiceImpl implements ExamService { } } */ + /** * 获取试卷题目信息 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -194,7 +195,7 @@ public class ExamServiceImpl implements ExamService { } question.put("option", childQuestions); } else if (quType.equals(QuType.CHENRADIO.getActionName()) || quType.equals(QuType.CHENCHECKBOX.getActionName()) || quType.equals(QuType.CHENSCORE.getActionName()) - || quType.equals(QuType.CHENFBK.getActionName()) || quType.equals(QuType.COMPCHENRADIO.getActionName())) {// 矩阵单选,矩阵多选,矩阵填空题,复合矩阵单选 + || quType.equals(QuType.CHENFBK.getActionName()) || quType.equals(QuType.COMPCHENRADIO.getActionName())) {// 矩阵单选,矩阵多选,矩阵填空题,复合矩阵单选 List> questionChenRow = examDao.queryQuestionChenRowListByQuestionId(question);//获取行选项 List> questionChenColumn = examDao.queryQuestionChenColumnListByQuestionId(question);//获取列选项 for (Map bean : questionChenRow) { @@ -285,7 +286,7 @@ public class ExamServiceImpl implements ExamService { /** * 添加填空题 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -312,7 +313,7 @@ public class ExamServiceImpl implements ExamService { /** * 添加评分题 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -364,7 +365,7 @@ public class ExamServiceImpl implements ExamService { /** * 添加排序题 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -416,7 +417,7 @@ public class ExamServiceImpl implements ExamService { /** * 添加分页标记 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -435,7 +436,7 @@ public class ExamServiceImpl implements ExamService { /** * 添加单选题 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -495,7 +496,7 @@ public class ExamServiceImpl implements ExamService { /** * 添加多选题 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -555,7 +556,7 @@ public class ExamServiceImpl implements ExamService { /** * 添加多选填空题 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -608,7 +609,7 @@ public class ExamServiceImpl implements ExamService { /** * 添加段落 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -627,7 +628,7 @@ public class ExamServiceImpl implements ExamService { /** * 添加矩阵单选题,矩阵多选题,矩阵评分题,矩阵填空题 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -718,7 +719,7 @@ public class ExamServiceImpl implements ExamService { /** * 删除问题 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -752,7 +753,7 @@ public class ExamServiceImpl implements ExamService { /** * 删除矩阵单选题,矩阵多选题,矩阵评分题,矩阵填空题列选项 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -774,7 +775,7 @@ public class ExamServiceImpl implements ExamService { /** * 删除矩阵单选题,矩阵多选题,矩阵评分题,矩阵填空题行选项 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -796,7 +797,7 @@ public class ExamServiceImpl implements ExamService { /** * 删除单选题选项 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -818,7 +819,7 @@ public class ExamServiceImpl implements ExamService { /** * 删除多选题选项 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -840,7 +841,7 @@ public class ExamServiceImpl implements ExamService { /** * 删除评分题选项 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -862,7 +863,7 @@ public class ExamServiceImpl implements ExamService { /** * 删除排序选项 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -884,7 +885,7 @@ public class ExamServiceImpl implements ExamService { /** * 删除多项填空题选项 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -904,7 +905,7 @@ public class ExamServiceImpl implements ExamService { /** * 发布试卷 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -955,7 +956,7 @@ public class ExamServiceImpl implements ExamService { /** * 获取试卷题目信息用来生成html页面 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -988,7 +989,7 @@ public class ExamServiceImpl implements ExamService { /** * 删除试卷 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -1002,7 +1003,7 @@ public class ExamServiceImpl implements ExamService { /** * 分析报告试卷 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -1018,7 +1019,6 @@ public class ExamServiceImpl implements ExamService { getQuestionOptionListMation(question); getQuestionOptionReportListMation(question); } - outputObject.setBean(surveyMation); outputObject.setBeans(questions); outputObject.settotal(1); @@ -1217,7 +1217,7 @@ public class ExamServiceImpl implements ExamService { /** * 复制试卷 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -1284,7 +1284,7 @@ public class ExamServiceImpl implements ExamService { } } else if (quType.equals(QuType.BIGQU.getActionName())) { } else if (quType.equals(QuType.CHENRADIO.getActionName()) || quType.equals(QuType.CHENCHECKBOX.getActionName()) || quType.equals(QuType.CHENSCORE.getActionName()) - || quType.equals(QuType.CHENFBK.getActionName()) || quType.equals(QuType.COMPCHENRADIO.getActionName())) {// 矩阵单选,矩阵多选,矩阵填空题,复合矩阵单选 + || quType.equals(QuType.CHENFBK.getActionName()) || quType.equals(QuType.COMPCHENRADIO.getActionName())) {// 矩阵单选,矩阵多选,矩阵填空题,复合矩阵单选 List> questionChenRows = examDao.queryQuestionChenRowListByCopyId(question);//获取行选项 List> questionChenColumns = examDao.queryQuestionChenColumnListByCopyId(question);//获取列选项 for (Map questionChenRow : questionChenRows) { @@ -1337,7 +1337,7 @@ public class ExamServiceImpl implements ExamService { /** * 判断此试卷当前的状态 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -1353,7 +1353,7 @@ public class ExamServiceImpl implements ExamService { /** * 用户回答试卷 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -2238,7 +2238,7 @@ public class ExamServiceImpl implements ExamService { /** * 手动结束试卷 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -2341,7 +2341,7 @@ public class ExamServiceImpl implements ExamService { /** * 获取答卷详情信息 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -2385,7 +2385,7 @@ public class ExamServiceImpl implements ExamService { /** * 批阅试卷时获取答卷信息 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -2421,7 +2421,7 @@ public class ExamServiceImpl implements ExamService { /** * 批阅试卷提交答卷结果 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -2465,7 +2465,7 @@ public class ExamServiceImpl implements ExamService { /** * 获取试卷详情信息 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -2484,7 +2484,7 @@ public class ExamServiceImpl implements ExamService { } } for (Map question : questions) { - question.put("pageNo", pageNo); + question.put("F", pageNo); getQuestionOptionListMation(question); // 知识点数量回显 String knowledgeIds = question.containsKey("knowledgeIds") ? question.get("knowledgeIds").toString() : ","; @@ -2509,7 +2509,7 @@ public class ExamServiceImpl implements ExamService { /** * 获取试卷答题情况信息 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -2524,7 +2524,7 @@ public class ExamServiceImpl implements ExamService { /** * 获取试卷详情信息以及阅卷人信息 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override @@ -2546,7 +2546,7 @@ public class ExamServiceImpl implements ExamService { /** * 修改阅卷人信息 * - * @param inputObject 入参以及用户信息等获取对象 + * @param inputObject 入参以及用户信息等获取对象 * @param outputObject 出参以及提示信息的返回值对象 */ @Override diff --git a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchckbox/service/ExamQuCheckboxService.java b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchckbox/service/ExamQuCheckboxService.java index 0273d63c..a6a32404 100644 --- a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchckbox/service/ExamQuCheckboxService.java +++ b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchckbox/service/ExamQuCheckboxService.java @@ -14,5 +14,7 @@ public interface ExamQuCheckboxService extends SkyeyeBusinessService selectQuChenbox(String copyFromId); + // void queryExamQuCheckboxListById(InputObject inputObject, OutputObject outputObject); } diff --git a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchckbox/service/impl/ExamQuCheckboxServiceImpl.java b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchckbox/service/impl/ExamQuCheckboxServiceImpl.java index 132da44b..f121e8a1 100644 --- a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchckbox/service/impl/ExamQuCheckboxServiceImpl.java +++ b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchckbox/service/impl/ExamQuCheckboxServiceImpl.java @@ -103,4 +103,12 @@ public class ExamQuCheckboxServiceImpl extends SkyeyeBusinessServiceImpl selectQuChenbox(String copyFromId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(MybatisPlusUtil.toColumns(ExamQuCheckbox::getQuId),copyFromId); + queryWrapper.eq(MybatisPlusUtil.toColumns(ExamQuCheckbox::getVisibility),CommonNumConstants.NUM_ONE); + return list(queryWrapper); + } } diff --git a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchencolumn/service/ExamQuChenColumnService.java b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchencolumn/service/ExamQuChenColumnService.java index ff371526..d6d88f63 100644 --- a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchencolumn/service/ExamQuChenColumnService.java +++ b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchencolumn/service/ExamQuChenColumnService.java @@ -15,4 +15,6 @@ public interface ExamQuChenColumnService extends SkyeyeBusinessService selectQuChenColumn(String copyFromId); } diff --git a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchencolumn/service/impl/ExamQuChenColumnServiceImpl.java b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchencolumn/service/impl/ExamQuChenColumnServiceImpl.java index 3646d64a..507adbdc 100644 --- a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchencolumn/service/impl/ExamQuChenColumnServiceImpl.java +++ b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchencolumn/service/impl/ExamQuChenColumnServiceImpl.java @@ -104,7 +104,7 @@ public class ExamQuChenColumnServiceImpl extends SkyeyeBusinessServiceImpl updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq(MybatisPlusUtil.toColumns(ExamQuChenColumn::getId),id); + updateWrapper.eq(MybatisPlusUtil.toColumns(ExamQuChenColumn::getId), id); updateWrapper.set(MybatisPlusUtil.toColumns(ExamQuChenColumn::getVisibility), CommonNumConstants.NUM_ZERO); update(updateWrapper); } @@ -126,7 +126,15 @@ public class ExamQuChenColumnServiceImpl extends SkyeyeBusinessServiceImpl updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq(MybatisPlusUtil.toColumns(ExamQuChenColumn::getQuId),quId); + updateWrapper.eq(MybatisPlusUtil.toColumns(ExamQuChenColumn::getQuId), quId); update(updateWrapper); } + + @Override + public List selectQuChenColumn(String copyFromId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(MybatisPlusUtil.toColumns(ExamQuChenColumn::getQuId), copyFromId); + queryWrapper.eq(MybatisPlusUtil.toColumns(ExamQuChenColumn::getVisibility), CommonNumConstants.NUM_ONE); + return list(queryWrapper); + } } diff --git a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchenrow/service/ExamQuChenRowService.java b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchenrow/service/ExamQuChenRowService.java index 2d78d6e9..f1745081 100644 --- a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchenrow/service/ExamQuChenRowService.java +++ b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchenrow/service/ExamQuChenRowService.java @@ -19,4 +19,6 @@ public interface ExamQuChenRowService extends SkyeyeBusinessService selectQuChenRow(String copyFromId); } diff --git a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchenrow/service/impl/ExamQuChenRowServiceImpl.java b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchenrow/service/impl/ExamQuChenRowServiceImpl.java index bac4864d..8c49b113 100644 --- a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchenrow/service/impl/ExamQuChenRowServiceImpl.java +++ b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquchenrow/service/impl/ExamQuChenRowServiceImpl.java @@ -9,7 +9,6 @@ import com.skyeye.common.util.mybatisplus.MybatisPlusUtil; import com.skyeye.exam.examquchenrow.dao.ExamQuChenRowDao; import com.skyeye.exam.examquchenrow.entity.ExamQuChenRow; import com.skyeye.exam.examquchenrow.service.ExamQuChenRowService; -import org.apache.ibatis.annotations.Update; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -21,6 +20,7 @@ public class ExamQuChenRowServiceImpl extends SkyeyeBusinessServiceImpl quRow, String userId) { createEntity(quRow, userId); @@ -32,17 +32,17 @@ public class ExamQuChenRowServiceImpl extends SkyeyeBusinessServiceImpl QueryExamQuChenRowList(String quId){ + public QueryWrapper QueryExamQuChenRowList(String quId) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq(MybatisPlusUtil.toColumns(ExamQuChenRow::getQuId),quId); + queryWrapper.eq(MybatisPlusUtil.toColumns(ExamQuChenRow::getQuId), quId); return queryWrapper; } @Override public int QueryvisibilityInRow(String quId, String createId) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq(MybatisPlusUtil.toColumns(ExamQuChenRow::getQuId),quId); - queryWrapper.eq(MybatisPlusUtil.toColumns(ExamQuChenRow::getCreateId),createId); + queryWrapper.eq(MybatisPlusUtil.toColumns(ExamQuChenRow::getQuId), quId); + queryWrapper.eq(MybatisPlusUtil.toColumns(ExamQuChenRow::getCreateId), createId); ExamQuChenRow one = examQuChenRowService.getOne(queryWrapper); Integer visibility = one.getVisibility(); return visibility; @@ -51,8 +51,8 @@ public class ExamQuChenRowServiceImpl extends SkyeyeBusinessServiceImpl updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq(MybatisPlusUtil.toColumns(ExamQuChenRow::getQuId),quId); - updateWrapper.eq(MybatisPlusUtil.toColumns(ExamQuChenRow::getCreateId),createId); + updateWrapper.eq(MybatisPlusUtil.toColumns(ExamQuChenRow::getQuId), quId); + updateWrapper.eq(MybatisPlusUtil.toColumns(ExamQuChenRow::getCreateId), createId); updateWrapper.set(MybatisPlusUtil.toColumns(ExamQuChenRow::getVisibility), CommonNumConstants.NUM_ZERO); update(updateWrapper); } @@ -60,7 +60,15 @@ public class ExamQuChenRowServiceImpl extends SkyeyeBusinessServiceImpl updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq(MybatisPlusUtil.toColumns(ExamQuChenRow::getQuId),quId); + updateWrapper.eq(MybatisPlusUtil.toColumns(ExamQuChenRow::getQuId), quId); remove(updateWrapper); } + + @Override + public List selectQuChenRow(String copyFromId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(MybatisPlusUtil.toColumns(ExamQuChenRow::getQuId), copyFromId); + queryWrapper.eq(MybatisPlusUtil.toColumns(ExamQuChenRow::getVisibility), CommonNumConstants.NUM_ONE); + return list(queryWrapper); + } } diff --git a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examqumultfillblank/service/ExamQuMultiFillblankService.java b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examqumultfillblank/service/ExamQuMultiFillblankService.java index 37c71de8..e46d2ecd 100644 --- a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examqumultfillblank/service/ExamQuMultiFillblankService.java +++ b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examqumultfillblank/service/ExamQuMultiFillblankService.java @@ -14,4 +14,6 @@ public interface ExamQuMultiFillblankService extends SkyeyeBusinessService selectQuMultiFillblank(String copyFromId); } diff --git a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examqumultfillblank/service/impl/ExamQuMultiFillblankControllerImpl.java b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examqumultfillblank/service/impl/ExamQuMultiFillblankControllerImpl.java index c2fb7297..b302333f 100644 --- a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examqumultfillblank/service/impl/ExamQuMultiFillblankControllerImpl.java +++ b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examqumultfillblank/service/impl/ExamQuMultiFillblankControllerImpl.java @@ -89,4 +89,12 @@ public class ExamQuMultiFillblankControllerImpl extends SkyeyeBusinessServiceImp updateWrapper.eq(MybatisPlusUtil.toColumns(ExamQuMultiFillblank::getQuId),quId); remove(updateWrapper); } + + @Override + public List selectQuMultiFillblank(String copyFromId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(MybatisPlusUtil.toColumns(ExamQuMultiFillblank::getQuId),copyFromId); + queryWrapper.eq(MybatisPlusUtil.toColumns(ExamQuMultiFillblank::getVisibility),CommonNumConstants.NUM_ONE); + return list(queryWrapper); + } } diff --git a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquorderby/service/ExamQuOrderbyService.java b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquorderby/service/ExamQuOrderbyService.java index c8a2da1e..bb07b962 100644 --- a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquorderby/service/ExamQuOrderbyService.java +++ b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquorderby/service/ExamQuOrderbyService.java @@ -14,4 +14,6 @@ public interface ExamQuOrderbyService extends SkyeyeBusinessService selectQuOrderby(String copyFromId); } diff --git a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquorderby/service/impl/ExamQuOrderbyServiceImpl.java b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquorderby/service/impl/ExamQuOrderbyServiceImpl.java index bbe72ffc..0af087e5 100644 --- a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquorderby/service/impl/ExamQuOrderbyServiceImpl.java +++ b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquorderby/service/impl/ExamQuOrderbyServiceImpl.java @@ -68,7 +68,7 @@ public class ExamQuOrderbyServiceImpl extends SkyeyeBusinessServiceImpl map = inputObject.getParams(); String id = map.get("id").toString(); UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq(MybatisPlusUtil.toColumns(ExamQuOrderby::getId),id); + updateWrapper.eq(MybatisPlusUtil.toColumns(ExamQuOrderby::getId), id); updateWrapper.set(MybatisPlusUtil.toColumns(ExamQuOrderby::getVisibility), CommonNumConstants.NUM_ZERO); update(updateWrapper); } @@ -86,7 +86,15 @@ public class ExamQuOrderbyServiceImpl extends SkyeyeBusinessServiceImpl updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq(MybatisPlusUtil.toColumns(ExamQuOrderby::getQuId),quId); + updateWrapper.eq(MybatisPlusUtil.toColumns(ExamQuOrderby::getQuId), quId); remove(updateWrapper); } + + @Override + public List selectQuOrderby(String copyFromId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(MybatisPlusUtil.toColumns(ExamQuOrderby::getQuId), copyFromId); + queryWrapper.eq(MybatisPlusUtil.toColumns(ExamQuOrderby::getVisibility), CommonNumConstants.NUM_ONE); + return list(queryWrapper); + } } diff --git a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquradio/service/ExamQuRadioService.java b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquradio/service/ExamQuRadioService.java index d23968b4..f712ac0b 100644 --- a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquradio/service/ExamQuRadioService.java +++ b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquradio/service/ExamQuRadioService.java @@ -21,4 +21,6 @@ public interface ExamQuRadioService extends SkyeyeBusinessService { void changeVisibility(InputObject inputObject, OutputObject outputObject); void removeByQuId(String quId); + + List selectQuRadio(String copyFromId); } diff --git a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquradio/service/impl/ExamQuRadioServiceImpl.java b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquradio/service/impl/ExamQuRadioServiceImpl.java index 70df750a..3668b5f5 100644 --- a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquradio/service/impl/ExamQuRadioServiceImpl.java +++ b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquradio/service/impl/ExamQuRadioServiceImpl.java @@ -106,5 +106,14 @@ public class ExamQuRadioServiceImpl extends SkyeyeBusinessServiceImpl selectQuRadio(String copyFromId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(MybatisPlusUtil.toColumns(ExamQuRadio::getQuId),copyFromId); + queryWrapper.eq(MybatisPlusUtil.toColumns(ExamQuRadio::getVisibility),CommonNumConstants.NUM_ONE); + List examQuRadioList = list(queryWrapper); + return examQuRadioList; + } + } diff --git a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquscore/service/ExamQuScoreService.java b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquscore/service/ExamQuScoreService.java index e1651b5c..c4dc5a28 100644 --- a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquscore/service/ExamQuScoreService.java +++ b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquscore/service/ExamQuScoreService.java @@ -19,5 +19,7 @@ public interface ExamQuScoreService extends SkyeyeBusinessService { void saveList(List list, String quId, String userId); void changeVisibility(InputObject inputObject, OutputObject outputObject); + + List selectQuScore(String copyFromId); } diff --git a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquscore/service/impl/ExamQuScoreServiceImpl.java b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquscore/service/impl/ExamQuScoreServiceImpl.java index fa6b2c03..d12639f4 100644 --- a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquscore/service/impl/ExamQuScoreServiceImpl.java +++ b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examquscore/service/impl/ExamQuScoreServiceImpl.java @@ -76,7 +76,7 @@ public class ExamQuScoreServiceImpl extends SkyeyeBusinessServiceImpl map = inputObject.getParams(); String id = map.get("id").toString(); UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq(MybatisPlusUtil.toColumns(ExamQuScore::getId),id); + updateWrapper.eq(MybatisPlusUtil.toColumns(ExamQuScore::getId), id); updateWrapper.set(MybatisPlusUtil.toColumns(ExamQuScore::getVisibility), CommonNumConstants.NUM_ZERO); update(updateWrapper); } + @Override + public List selectQuScore(String copyFromId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(MybatisPlusUtil.toColumns(ExamQuScore::getQuId), copyFromId); + queryWrapper.eq(MybatisPlusUtil.toColumns(ExamQuScore::getVisibility), CommonNumConstants.NUM_ONE); + return list(queryWrapper); + } + } diff --git a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examsurveyanswer/service/ExamSurveyAnswerService.java b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examsurveyanswer/service/ExamSurveyAnswerService.java index 55e6dff9..c4fa65fb 100644 --- a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examsurveyanswer/service/ExamSurveyAnswerService.java +++ b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examsurveyanswer/service/ExamSurveyAnswerService.java @@ -5,6 +5,8 @@ import com.skyeye.common.object.InputObject; import com.skyeye.common.object.OutputObject; import com.skyeye.exam.examsurveyanswer.entity.ExamSurveyAnswer; +import java.util.List; + /** * @ClassName: ExamSurveyAnswerService * @Description: 试卷回答信息表管理服务接口层 @@ -17,4 +19,6 @@ public interface ExamSurveyAnswerService extends SkyeyeBusinessService querySurveyAnswer(String surveyId, String answerId, String userId); } diff --git a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examsurveyanswer/service/impl/ExamSurveyAnswerServiceImpl.java b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examsurveyanswer/service/impl/ExamSurveyAnswerServiceImpl.java index d696d298..872c1133 100644 --- a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examsurveyanswer/service/impl/ExamSurveyAnswerServiceImpl.java +++ b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examsurveyanswer/service/impl/ExamSurveyAnswerServiceImpl.java @@ -9,7 +9,6 @@ import com.skyeye.common.util.mybatisplus.MybatisPlusUtil; import com.skyeye.exam.examsurveyanswer.dao.ExamSurveyAnswerDao; import com.skyeye.exam.examsurveyanswer.entity.ExamSurveyAnswer; import com.skyeye.exam.examsurveyanswer.service.ExamSurveyAnswerService; -import com.skyeye.exception.CustomException; import org.springframework.stereotype.Service; import java.util.List; @@ -45,4 +44,13 @@ public class ExamSurveyAnswerServiceImpl extends SkyeyeBusinessServiceImpl querySurveyAnswer(String surveyId, String answerId, String userId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(MybatisPlusUtil.toColumns(ExamSurveyAnswer::getSurveyId), surveyId); + queryWrapper.eq(MybatisPlusUtil.toColumns(ExamSurveyAnswer::getId), answerId); + queryWrapper.eq(MybatisPlusUtil.toColumns(ExamSurveyAnswer::getCreateId), userId); + return list(queryWrapper); + } } diff --git a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examsurveydirectory/controller/ExamSurveyDirectoryController.java b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examsurveydirectory/controller/ExamSurveyDirectoryController.java index 0dfafe28..e9e70754 100644 --- a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examsurveydirectory/controller/ExamSurveyDirectoryController.java +++ b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examsurveydirectory/controller/ExamSurveyDirectoryController.java @@ -121,4 +121,19 @@ public class ExamSurveyDirectoryController { public void takeExam(InputObject inputObject, OutputObject outputObject) { examSurveyDirectoryService.takeExam(inputObject, outputObject); } + + /** + * 手动结束试卷 + * + * @param inputObject 入参以及用户信息等获取对象 + * @param outputObject 出参以及提示信息的返回值对象 + */ + @ApiOperation(id = "updateExamMationEndById", value = "手动结束试卷", method = "POST", allUse = "1") + @ApiImplicitParams({ + @ApiImplicitParam(id = "id", name = "id", value = "试卷id",required = "required")}) + @RequestMapping("/post/ExamSurveyDirectoryController/updateExamMationEndById") + public void updateExamMationEndById(InputObject inputObject, OutputObject outputObject) { + examSurveyDirectoryService.updateExamMationEndById(inputObject, outputObject); + } + } diff --git a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examsurveydirectory/service/ExamSurveyDirectoryService.java b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examsurveydirectory/service/ExamSurveyDirectoryService.java index c09963e1..5246424d 100644 --- a/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examsurveydirectory/service/ExamSurveyDirectoryService.java +++ b/skyeye-school/school-exam/src/main/java/com/skyeye/exam/examsurveydirectory/service/ExamSurveyDirectoryService.java @@ -5,6 +5,8 @@ import com.skyeye.common.object.InputObject; import com.skyeye.common.object.OutputObject; import com.skyeye.exam.examsurveydirectory.entity.ExamSurveyDirectory; +import java.util.List; + /** * @ClassName: ExamSurveyDirectoryService * @Description: 试卷管理服务接口层 @@ -22,4 +24,6 @@ public interface ExamSurveyDirectoryService extends SkyeyeBusinessService map = inputObject.getParams(); - String quId = map.get("id").toString();//试卷id + String examDirectoryId = map.get("id").toString();//试卷id String userId = InputObject.getLogParamsStatic().get("id").toString(); String surveyId = ToolUtil.getSurFaceId(); examSurveyDirectories.setId(surveyId); @@ -149,17 +150,15 @@ public class ExamSurveyDirectoryServiceImpl extends SkyeyeBusinessServiceImpl questionList = Collections.singletonList(questionDao.selectById(quId)); + List questionList = questionService.queryQuestionMationCopyById(examDirectoryId); for (Question question : questionList) { - question.setCopyFromId(quId); + question.setCopyFromId(question.getId()); question.setId(ToolUtil.getSurFaceId()); question.setCreateTime(DateUtil.getTimeAndToString()); question.setBelongId(surveyId); questionService.copyQuestionListMation(question); } -// questionService.createEntity(questions, userId); - - + questionService.createEntity(questionList, StrUtil.EMPTY); } @Override @@ -190,4 +189,26 @@ public class ExamSurveyDirectoryServiceImpl extends SkyeyeBusinessServiceImpl map = inputObject.getParams(); + String examSurveyDirectoryId = map.get("id").toString(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(MybatisPlusUtil.toColumns(ExamSurveyDirectory::getId), examSurveyDirectoryId); + ExamSurveyDirectory examSurveyDirectory = getOne(queryWrapper); + if (examSurveyDirectory != null && ObjUtil.isNotEmpty(examSurveyDirectory)) { + if (examSurveyDirectory.getSurveyState().equals(CommonNumConstants.NUM_ONE)) { + String realEndTime = DateUtil.getTimeAndToString(); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq(MybatisPlusUtil.toColumns(ExamSurveyDirectory::getId), examSurveyDirectoryId); + updateWrapper.set(MybatisPlusUtil.toColumns(ExamSurveyDirectory::getRealEndTime), realEndTime); + updateWrapper.set(MybatisPlusUtil.toColumns(ExamSurveyDirectory::getSurveyState), CommonNumConstants.NUM_TWO); + updateWrapper.set(MybatisPlusUtil.toColumns(ExamSurveyDirectory::getEndType), CommonNumConstants.NUM_ONE); + update(updateWrapper); + } + } + else { + throw new CustomException("该试卷信息不存在!"); + } + } } diff --git a/skyeye-school/school-exam/src/main/resources/mapper/exam/SysEveUserStaffDao.xml b/skyeye-school/school-exam/src/main/resources/mapper/exam/SysEveUserStaffDao.xml index 4e8a62f0..36759b21 100644 --- a/skyeye-school/school-exam/src/main/resources/mapper/exam/SysEveUserStaffDao.xml +++ b/skyeye-school/school-exam/src/main/resources/mapper/exam/SysEveUserStaffDao.xml @@ -1182,37 +1182,37 @@ From 2f7990cc874c1a8675e304de356d82e0180a196c Mon Sep 17 00:00:00 2001 From: weizhiqiang <598748873@qq.com> Date: Wed, 4 Dec 2024 20:11:08 +0800 Subject: [PATCH 13/13] =?UTF-8?q?feat:=20=E8=A7=A3=E5=86=B3=E5=95=86?= =?UTF-8?q?=E5=9F=8E=E7=94=A8=E6=88=B7=E4=B8=8B=E5=8D=95=E6=97=B6=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E5=88=9B=E5=BB=BA=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/skyeye/eve/service/impl/SysQuartzServiceImpl.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/skyeye-promote/skyeye-quartz/src/main/java/com/skyeye/eve/service/impl/SysQuartzServiceImpl.java b/skyeye-promote/skyeye-quartz/src/main/java/com/skyeye/eve/service/impl/SysQuartzServiceImpl.java index 5c0fa89b..0718b6ab 100644 --- a/skyeye-promote/skyeye-quartz/src/main/java/com/skyeye/eve/service/impl/SysQuartzServiceImpl.java +++ b/skyeye-promote/skyeye-quartz/src/main/java/com/skyeye/eve/service/impl/SysQuartzServiceImpl.java @@ -4,6 +4,7 @@ package com.skyeye.eve.service.impl; +import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson.JSON; import com.skyeye.common.client.ExecuteFeignClient; import com.skyeye.common.constans.QuartzConstants; @@ -62,7 +63,11 @@ public class SysQuartzServiceImpl implements SysQuartzService { private XxlJobInfo getXxlJobInfo(String objectId, String groupId, String delayedTime, String jobDesc, String taskType, String userId) { XxlJobInfo xxlJobInfo = new XxlJobInfo(); Map user = iAuthUserService.queryDataMationById(userId); - xxlJobInfo.setAuthor(user.get("name").toString()); + String author = "商城用户"; + if (CollectionUtil.isNotEmpty(user)) { + author = user.get("name").toString(); + } + xxlJobInfo.setAuthor(author); xxlJobInfo.setJobGroup(Integer.parseInt(groupId)); xxlJobInfo.setJobDesc(QuartzConstants.QuartzMateMationJobType.getRemarkPrefixByTaskType(taskType, jobDesc)); xxlJobInfo.setScheduleType("CRON");