From cacf9bc8c94295ec3296a8cb49bda2b95087afb7 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 16 Aug 2023 17:04:55 +0800
Subject: [PATCH] 后台修改
---
src/main/java/cc/mrbird/febs/dapp/service/IAdminMallGoodsService.java | 10 +
src/main/java/cc/mrbird/febs/dapp/mapper/MallGoodsMapper.java | 3
src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java | 19 +++
src/main/resources/templates/febs/views/goods/orderList.html | 12 ++
src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java | 40 +++++++
src/main/java/cc/mrbird/febs/dapp/dto/DeliverGoodsDto.java | 20 ++++
src/main/resources/mapper/dapp/MallGoodsMapper.xml | 5 +
src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java | 2
src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java | 2
src/main/java/cc/mrbird/febs/dapp/controller/ViewAdminMallGoodsController.java | 16 +++
src/main/resources/templates/febs/views/goods/orderdeliverGoods.html | 105 +++++++++++++++++++++
src/main/java/cc/mrbird/febs/dapp/controller/AdminMallGoodsController.java | 9 +
src/main/java/cc/mrbird/febs/dapp/controller/ApiDappOrderController.java | 7 +
src/main/java/cc/mrbird/febs/dapp/vo/AdminMallOrderVo.java | 17 +++
14 files changed, 258 insertions(+), 9 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/AdminMallGoodsController.java b/src/main/java/cc/mrbird/febs/dapp/controller/AdminMallGoodsController.java
index 158ae20..00cc077 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/AdminMallGoodsController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/AdminMallGoodsController.java
@@ -222,6 +222,15 @@
return new FebsResponse().success().data(dataTable);
}
+ /**
+ * 订单列表-发货
+ */
+ @PostMapping("deliverGoods")
+ @ControllerEndpoint(operation = "订单列表-发货", exceptionMessage = "操作失败")
+ public FebsResponse deliverGoods(@Valid DeliverGoodsDto deliverGoodsDto) {
+ return adminMallGoodsService.deliverGoods(deliverGoodsDto);
+ }
+
@GetMapping(value = "/findDicByType/{type}")
public FebsResponse findDicByType(@PathVariable("type") String type) {
return new FebsResponse().success().data(adminMallGoodsService.findDataDicByType(type));
diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappOrderController.java b/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappOrderController.java
index f53ead4..a88dd03 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappOrderController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappOrderController.java
@@ -113,6 +113,13 @@
return new FebsResponse().success().message("操作成功");
}
+ @ApiOperation(value = "确认收货", notes = "确认收货")
+ @PostMapping(value = "/confirm/{id}")
+ public FebsResponse confirm(@PathVariable("id") Long id) {
+ dappMemberService.confirmOrder(id);
+ return new FebsResponse().success().message("确认成功");
+ }
+
@ApiOperation(value = "资产包详情", notes = "资产包详情")
@ApiResponses({
@ApiResponse(code = 200, message = "success", response = PackageInfoVo.class)
diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/ViewAdminMallGoodsController.java b/src/main/java/cc/mrbird/febs/dapp/controller/ViewAdminMallGoodsController.java
index 2191422..918cdf7 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/ViewAdminMallGoodsController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/ViewAdminMallGoodsController.java
@@ -10,6 +10,7 @@
import cc.mrbird.febs.dapp.service.IAdminMallGoodsService;
import cc.mrbird.febs.dapp.service.IMallNewsInfoService;
import cc.mrbird.febs.dapp.vo.AdminMallGoodsCategoryVo;
+import cc.mrbird.febs.dapp.vo.AdminMallOrderVo;
import cn.hutool.core.util.ObjectUtil;
import lombok.RequiredArgsConstructor;
import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -117,6 +118,21 @@
return FebsUtil.view("goods/orderMoneyFlow");
}
+ /**
+ * 订单-发货
+ * @param id
+ * @param model
+ * @return
+ */
+ @GetMapping("deliverGoods/{id}")
+ @RequiresPermissions("orderMoneyFlow:update")
+// @RequiresPermissions("deliverGoods:update")
+ public String deliverGoods(@PathVariable long id, Model model) {
+ AdminMallOrderVo data = mallGoodsService.getMallOrderInfoById(id);
+ model.addAttribute("deliverInfo", data);
+ return FebsUtil.view("modules/order/deliverGoods");
+ }
+
@GetMapping("profitSetting")
@RequiresPermissions("profitSetting:view")
public String profitSetting() {
diff --git a/src/main/java/cc/mrbird/febs/dapp/dto/DeliverGoodsDto.java b/src/main/java/cc/mrbird/febs/dapp/dto/DeliverGoodsDto.java
new file mode 100644
index 0000000..7a78a77
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/dto/DeliverGoodsDto.java
@@ -0,0 +1,20 @@
+package cc.mrbird.febs.dapp.dto;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "DeliverGoodsDto", description = "接收参数类")
+public class DeliverGoodsDto {
+
+ private Long id;
+
+ private String expressNo;
+
+ private String expressCom;
+
+ private String expressCode;
+
+ private String orderNo;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
index e0702cb..04f1829 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
@@ -108,5 +108,5 @@
IPage<MallAddressInfo> selectShopAddressListInPage(@Param("record")MallGoodsQueryDto queryDto, Page<MallAddressInfo> page);
- void updateIsDefault(Integer isYourN, Long memberId, Object o);
+ int updateIsDefault(@Param("isDefault") Integer isDefault, @Param("memberId") Long memberId, @Param("id") Long id);
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/MallGoodsMapper.java b/src/main/java/cc/mrbird/febs/dapp/mapper/MallGoodsMapper.java
index ae5b3ff..742241a 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/MallGoodsMapper.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/MallGoodsMapper.java
@@ -3,6 +3,7 @@
import cc.mrbird.febs.dapp.dto.MallOrderInfoDto;
import cc.mrbird.febs.dapp.entity.MallGoods;
import cc.mrbird.febs.dapp.entity.MallOrderInfo;
+import cc.mrbird.febs.dapp.vo.AdminMallOrderVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -29,4 +30,6 @@
IPage<MallOrderInfo> selectOrderListInPage(Page<MallOrderInfo> page, @Param("record") MallOrderInfoDto mallOrderInfo);
List<MallGoods> selectMallGoodsByCategaryId(@Param("categaryId")Long childCategaryId);
+
+ AdminMallOrderVo getMallOrderInfoById(@Param("id")long id);
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java b/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java
index f6787ba..94510af 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java
@@ -106,4 +106,6 @@
FebsResponse findAllBanner();
void setDefaultAddress(Long id);
+
+ void confirmOrder(Long id);
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/IAdminMallGoodsService.java b/src/main/java/cc/mrbird/febs/dapp/service/IAdminMallGoodsService.java
index bd6663e..a45d576 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/IAdminMallGoodsService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/IAdminMallGoodsService.java
@@ -2,14 +2,12 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
-import cc.mrbird.febs.dapp.dto.AddMallGoodsDto;
-import cc.mrbird.febs.dapp.dto.HlmBasicPerkDto;
-import cc.mrbird.febs.dapp.dto.MallGoodsUpdateDto;
-import cc.mrbird.febs.dapp.dto.MallOrderInfoDto;
+import cc.mrbird.febs.dapp.dto.*;
import cc.mrbird.febs.dapp.entity.*;
import cc.mrbird.febs.dapp.vo.AdminMallGoodsCategoryTreeVo;
import cc.mrbird.febs.dapp.vo.AdminMallGoodsCategoryVo;
import cc.mrbird.febs.dapp.vo.AdminMallMoneyFlowVo;
+import cc.mrbird.febs.dapp.vo.AdminMallOrderVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -65,4 +63,8 @@
FebsResponse platformBannerDelete(@NotNull(message = "{required}") Long id);
void platformBannerAdd(@Valid PlatformBanner platformBannerEntity);
+
+ AdminMallOrderVo getMallOrderInfoById(long id);
+
+ FebsResponse deliverGoods(DeliverGoodsDto deliverGoodsDto);
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java
index 6e8a935..50152aa 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java
@@ -2,10 +2,7 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
-import cc.mrbird.febs.dapp.dto.AddMallGoodsDto;
-import cc.mrbird.febs.dapp.dto.HlmBasicPerkDto;
-import cc.mrbird.febs.dapp.dto.MallGoodsUpdateDto;
-import cc.mrbird.febs.dapp.dto.MallOrderInfoDto;
+import cc.mrbird.febs.dapp.dto.*;
import cc.mrbird.febs.dapp.entity.*;
import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum;
import cc.mrbird.febs.dapp.mapper.*;
@@ -13,6 +10,7 @@
import cc.mrbird.febs.dapp.vo.AdminMallGoodsCategoryTreeVo;
import cc.mrbird.febs.dapp.vo.AdminMallGoodsCategoryVo;
import cc.mrbird.febs.dapp.vo.AdminMallMoneyFlowVo;
+import cc.mrbird.febs.dapp.vo.AdminMallOrderVo;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
@@ -418,6 +416,11 @@
}
+ @Override
+ public AdminMallOrderVo getMallOrderInfoById(long id) {
+ return this.baseMapper.getMallOrderInfoById(id);
+ }
+
public void updateDataDic(String type, String code, String value) {
DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(type, code);
if (dic != null) {
@@ -426,4 +429,33 @@
}
}
+ @Override
+ public FebsResponse deliverGoods(DeliverGoodsDto deliverGoodsDto) {
+ MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(deliverGoodsDto.getId());
+ if(ObjectUtil.isEmpty(mallOrderInfo)){
+ return new FebsResponse().fail().message("订单不存在,刷新后重试");
+ }
+ Integer status = mallOrderInfo.getStatus();
+ if(2 != status){
+ return new FebsResponse().fail().message("订单不是已完成状态");
+ }
+ Integer deliverState = mallOrderInfo.getDeliverState();
+ if(1 != deliverState){
+ return new FebsResponse().fail().message("订单不是待发货状态");
+ }
+ String expressNo = deliverGoodsDto.getExpressNo();
+ if(StrUtil.isEmpty(expressNo)){
+ return new FebsResponse().fail().message("请输入物流单号");
+ }
+ String expressCom = deliverGoodsDto.getExpressCom();
+ if(StrUtil.isEmpty(expressCom)){
+ return new FebsResponse().fail().message("请输入物流公司");
+ }
+ mallOrderInfo.setDeliverState(2);
+ mallOrderInfo.setDeliverName(expressCom);
+ mallOrderInfo.setDeliverCode(expressNo);
+ mallOrderInfoMapper.updateById(mallOrderInfo);
+ return new FebsResponse().success();
+ }
+
}
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
index 1629870..9408903 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
@@ -1259,6 +1259,25 @@
this.baseMapper.updateIsDefault(MallAddressInfo.IS_YOUR_Y, memberId, id);
}
+ @Override
+ public void confirmOrder(Long id) {
+ Long memberId = LoginUserUtil.getAppUser().getId();
+ MallOrderInfo orderInfo = mallOrderInfoMapper.selectById(id);
+ if (ObjectUtil.isEmpty(orderInfo)) {
+ throw new FebsException("订单不存在");
+ }
+
+ if (orderInfo.getStatus() != MallOrderInfo.STATUS_PAY) {
+ throw new FebsException("该状态不能确认收货");
+ }
+ if (orderInfo.getDeliverState() != MallOrderInfo.DELIVER_STATUS_DONE) {
+ throw new FebsException("该状态不能确认收货");
+ }
+
+ orderInfo.setDeliverState(MallOrderInfo.DELIVER_STATUS_OVER);
+ mallOrderInfoMapper.updateById(orderInfo);
+ }
+
public static List<List<String>> partitionList(List<String> originalList, int partitionSize) {
List<List<String>> partitionedList = new ArrayList<>();
int size = originalList.size();
diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/AdminMallOrderVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/AdminMallOrderVo.java
new file mode 100644
index 0000000..43e5cd0
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/vo/AdminMallOrderVo.java
@@ -0,0 +1,17 @@
+package cc.mrbird.febs.dapp.vo;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "AdminMallOrderVo", description = "信息返回类")
+public class AdminMallOrderVo {
+
+ private Long id;
+
+ private String name;
+
+ private String phone;
+
+ private String address;
+}
diff --git a/src/main/resources/mapper/dapp/MallGoodsMapper.xml b/src/main/resources/mapper/dapp/MallGoodsMapper.xml
index 6f7b79d..aed5b19 100644
--- a/src/main/resources/mapper/dapp/MallGoodsMapper.xml
+++ b/src/main/resources/mapper/dapp/MallGoodsMapper.xml
@@ -87,4 +87,9 @@
select * from mall_goods a where a.category_id = #{categaryId}
</select>
+ <select id="getMallOrderInfoById" resultType="cc.mrbird.febs.dapp.vo.AdminMallOrderVo">
+ select b.* from mall_address_info b
+ where b.id = (select a.address_id from mall_order_info a where a.id = #{id})
+ </select>
+
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/goods/orderList.html b/src/main/resources/templates/febs/views/goods/orderList.html
index a363970..01e09c0 100644
--- a/src/main/resources/templates/febs/views/goods/orderList.html
+++ b/src/main/resources/templates/febs/views/goods/orderList.html
@@ -92,6 +92,7 @@
<!-- 表格操作栏 start -->
<script type="text/html" id="mall-order-option">
{{# if(d.status === 2) { }}
+ <button class="layui-btn layui-btn-normal layui-btn-xs" type="button" shiro:hasPermission="orderMoneyFlow:update" lay-event="deliverGoods">发货</button>
<button class="layui-btn layui-btn-normal layui-btn-xs" type="button" shiro:hasPermission="orderMoneyFlow:update" lay-event="orderMoneyFlow">资金流水</button>
{{# } else if(d.status === 3) { }}
<button class="layui-btn layui-btn-normal layui-btn-xs" type="button" shiro:hasPermission="orderMoneyFlow:update" lay-event="delOrder">删除</button>
@@ -155,6 +156,17 @@
maxmin: true,
});
}
+ if (layEvent === 'deliverGoods') {
+ febs.modal.open('发货', 'goodsView/deliverGoods/' + data.id, {
+ btn: ['确认', '取消'],
+ yes: function (index, layero) {
+ $('#deliver-update').find('#submit').trigger('click');
+ },
+ btn2: function () {
+ layer.closeAll();
+ }
+ });
+ }
});
function delOrder(id) {
diff --git a/src/main/resources/templates/febs/views/goods/orderdeliverGoods.html b/src/main/resources/templates/febs/views/goods/orderdeliverGoods.html
new file mode 100644
index 0000000..f854bed
--- /dev/null
+++ b/src/main/resources/templates/febs/views/goods/orderdeliverGoods.html
@@ -0,0 +1,105 @@
+<style>
+ #deliver-update {
+ padding: 20px 25px 25px 0;
+ }
+
+ #deliver-update .layui-treeSelect .ztree li a, .ztree li span {
+ margin: 0 0 2px 3px !important;
+ }
+ #deliver-update #data-permission-tree-block {
+ border: 1px solid #eee;
+ border-radius: 2px;
+ padding: 3px 0;
+ }
+ #deliver-update .layui-treeSelect .ztree li span.button.switch {
+ top: 1px;
+ left: 3px;
+ }
+
+</style>
+<div class="layui-fluid" id="deliver-update">
+ <form class="layui-form" action="" lay-filter="deliver-update-form">
+ <div class="layui-form-item febs-hide">
+ <label class="layui-form-label febs-form-item-require">id:</label>
+ <div class="layui-input-block">
+ <input type="text" name="id">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label febs-form-item-require">收货人:</label>
+ <div class="layui-input-block">
+ <input type="text" name="name"
+ autocomplete="off" class="layui-input" readonly>
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label febs-form-item-require">联系方式:</label>
+ <div class="layui-input-block">
+ <input type="text" name="phone"
+ autocomplete="off" class="layui-input" readonly>
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label febs-form-item-require">地址:</label>
+ <div class="layui-input-block">
+ <input type="text" name="address"
+ autocomplete="off" class="layui-input" readonly>
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label febs-form-item-require">物流单号:</label>
+ <div class="layui-input-block">
+ <input type="text" name="expressNo"
+ autocomplete="off" class="layui-input" >
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label febs-form-item-require">物流公司:</label>
+ <div class="layui-input-block">
+ <input type="text" name="expressCom"
+ autocomplete="off" class="layui-input" >
+ </div>
+ </div>
+ <div class="layui-form-item febs-hide">
+ <button class="layui-btn" lay-submit="" lay-filter="deliver-update-form-submit" id="submit"></button>
+ </div>
+ </form>
+</div>
+
+<script data-th-inline="javascript">
+ layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree'], function () {
+ var $ = layui.$,
+ febs = layui.febs,
+ layer = layui.layer,
+ formSelects = layui.formSelects,
+ treeSelect = layui.treeSelect,
+ form = layui.form,
+ eleTree = layui.eleTree,
+ deliverInfo = [[${deliverInfo}]],
+ $view = $('#deliver-update'),
+ validate = layui.validate,
+ _deptTree;
+
+ form.render();
+
+ initUserValue();
+
+ function initUserValue() {
+ form.val("deliver-update-form", {
+ "id": deliverInfo.id,
+ "name": deliverInfo.name,
+ "phone": deliverInfo.phone,
+ "address": deliverInfo.address
+ });
+ }
+
+ form.on('submit(deliver-update-form-submit)', function (data) {
+ febs.post(ctx + 'admin/goods/deliverGoods', data.field, function () {
+ layer.closeAll();
+ febs.alert.success('操作成功');
+ $('#febs-order').find('#reset').click();
+ });
+ return false;
+ });
+ });
+</script>
\ No newline at end of file
--
Gitblit v1.9.1