diff --git a/admin-hanhai-vue/.env.development b/admin-hanhai-vue/.env.development index a82a3d9..52a5324 100644 --- a/admin-hanhai-vue/.env.development +++ b/admin-hanhai-vue/.env.development @@ -1,5 +1,5 @@ NODE_ENV=development -VUE_APP_API_BASE_URL=https://hotel.java996.icu/hotel +VUE_APP_API_BASE_URL=http://localhost:8081/hotel VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview diff --git a/admin-hanhai-vue/src/views/system/GoodsList.vue b/admin-hanhai-vue/src/views/system/GoodsList.vue index 0757af2..63e8e77 100644 --- a/admin-hanhai-vue/src/views/system/GoodsList.vue +++ b/admin-hanhai-vue/src/views/system/GoodsList.vue @@ -24,7 +24,7 @@ 查询 - 重置 + @@ -176,6 +176,9 @@ 更多 + + 复制规格 + @@ -279,21 +282,21 @@ dataIndex: 'pic', scopedSlots: {customRender: 'imgSlot'} }, - { - title:'商家', - align:"center", - dataIndex: 'shopId_dictText' - }, + // { + // title:'商家', + // align:"center", + // dataIndex: 'shopId_dictText' + // }, { title: '分类', align: 'center', dataIndex: 'categoryId_dictText' }, - { - title:'规格', - align:"center", - dataIndex: 'skuId_dictText' - }, + // { + // title:'规格', + // align:"center", + // dataIndex: 'skuId_dictText' + // }, { title:'是否上架', align:"center", @@ -321,32 +324,35 @@ scopedSlots: { customRender: 'action' } } ], - columns2: [{ - title: '标题', - align: 'center', - dataIndex: 'title', - width: 120 - }, + columns2: [ + { title: '颜色', align: 'center', dataIndex: 'colour', width: 120 }, + { + title: '标题', + align: 'center', + dataIndex: 'title', + width: 120 + }, + { title:'商品图', align:"center", dataIndex: 'pic', scopedSlots: {customRender: 'imgSlot'} }, + // { + // title: '原价', + // align: 'center', + // width: 100, + // dataIndex: 'originalPrice' + // }, { - title: '原价', - align: 'center', - width: 100, - dataIndex: 'originalPrice' - }, - { - title: '租金', + title: '押金', align: 'center', width: 100, dataIndex: 'price' @@ -382,7 +388,8 @@ exportXlsUrl: 'sys/role/exportXls', importExcelUrl: 'sys/role/importExcel', isUpUrl: '/hotelgoods/hotelGoods/edit', - copyUrl: '/hotelgoods/hotelGoods/copy' + copyUrl: '/hotelgoods/hotelGoods/copy', + copySkuUrl: '/hotelgoodssku/hotelGoodsSku/copy', } } }, @@ -633,7 +640,22 @@ this.loading = false this.loadData() }) - } + }, + handleSkuCopy(e){ + let param = { + id: e + } + getAction(this.url.copySkuUrl,param).then((res)=>{ + if(res.success){ + this.$message.success(res.message); + }else{ + this.$message.warning(res.message); + } + }).finally(() => { + this.loading = false + this.loadData2() + }) + }, } } diff --git a/admin-hanhai-vue/src/views/system/LeaseOrderList.vue b/admin-hanhai-vue/src/views/system/LeaseOrderList.vue index 493bf18..77a6eec 100644 --- a/admin-hanhai-vue/src/views/system/LeaseOrderList.vue +++ b/admin-hanhai-vue/src/views/system/LeaseOrderList.vue @@ -100,6 +100,8 @@
发货 + + 不发货
@@ -255,6 +257,12 @@ dataIndex: 'createTime', sorter: true, }, + { + title:'是否为水洗店', + align:"center", + dataIndex: 'washShopFlag_dictText', + + }, { title:'标题', align:"center", @@ -353,6 +361,7 @@ importExcelUrl: "hotelorder/hotelOrder/importExcel", damageAuditUrl: "/hotelorder/hotelOrder/damage/audit", detailList: "/hotelorderdetail/hotelOrderDetail/list", + leaseNotSend: "/hotelorder/hotelOrder/lease/no/send" }, dictOptions:{}, superFieldList:[], @@ -553,6 +562,24 @@ // 新增/修改 成功时,重载列表 this.loadData2() }, + handleNotSend(e){ + let that = this; + let confir = confirm("确认不发货吗?"); + console.log(confir); + if(confir === true){ + httpAction(this.url.leaseNotSend,e,'PUT').then((res)=>{ + if(res.success){ + that.$message.success(res.message); + that.$emit('ok'); + }else{ + that.$message.warning(res.message); + } + }).finally(() => { + this.loadData(); + }) + } + + } } } diff --git a/admin-hanhai-vue/src/views/system/modules/HotelGoodsForm.vue b/admin-hanhai-vue/src/views/system/modules/HotelGoodsForm.vue index 41c1504..1baea57 100644 --- a/admin-hanhai-vue/src/views/system/modules/HotelGoodsForm.vue +++ b/admin-hanhai-vue/src/views/system/modules/HotelGoodsForm.vue @@ -18,11 +18,11 @@ - - - - - + + + + + @@ -149,7 +149,7 @@ that.confirmLoading = false; }) } - + }) }, } diff --git a/admin-hanhai-vue/src/views/system/modules/HotelGoodsSkuForm.vue b/admin-hanhai-vue/src/views/system/modules/HotelGoodsSkuForm.vue index 72b0e65..22a372f 100644 --- a/admin-hanhai-vue/src/views/system/modules/HotelGoodsSkuForm.vue +++ b/admin-hanhai-vue/src/views/system/modules/HotelGoodsSkuForm.vue @@ -8,21 +8,22 @@ - - - - - - - + + + + + + + + @@ -131,13 +132,14 @@ // console.log("23123123123",this.model.selectedroles) // return; if(!this.model.id){ + this.model.goodsId = this.model.selectedroles; httpurl+=this.url.add; method = 'post'; }else{ httpurl+=this.url.edit; method = 'put'; } - this.model.goodsId = this.model.selectedroles; + httpAction(httpurl,this.model,method).then((res)=>{ if(res.success){ that.$message.success(res.message); @@ -149,7 +151,7 @@ that.confirmLoading = false; }) } - + }) }, } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/mapper/xml/HanHaiMemberMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/mapper/xml/HanHaiMemberMapper.xml index 28e546b..9ab6ed4 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/mapper/xml/HanHaiMemberMapper.xml +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/mapper/xml/HanHaiMemberMapper.xml @@ -12,11 +12,12 @@ (select count(1) from hotel_order where shop_id = #{userId} and del_flag = 0 and status in (1,2,15) and type = 0) lease, (select count(1) from hotel_order where shop_id = #{userId} and del_flag = 0 and status in (4,5,6,15,16) and type = 1) wash, (select count(1) from hotel_order where shop_id = #{userId} and del_flag = 0 and status in (7,8,9,10,15) and type = 2) worn, - (select count(1) from hotel_order where shop_id = #{userId} and del_flag = 0 and status in (11,12,13,14,15) and type = 3) refund + (select count(1) from hotel_order where shop_id = #{userId} and del_flag = 0 and status in (11,12,13,14,15) and type = 3) refund, + (SELECT SUM(num) FROM hotel_lease_log WHERE del_flag = 0 AND user_id = #{userId}) num UPDATE han_hai_member SET id = #{newId} WHERE id = #{oldId} - \ No newline at end of file + diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/resp/ShopIndexResp.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/resp/ShopIndexResp.java index c316487..a6ba6bf 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/resp/ShopIndexResp.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/resp/ShopIndexResp.java @@ -15,5 +15,7 @@ public class ShopIndexResp { private Integer worn; /**退货*/ private Integer refund; + /**桌布库存*/ + private Integer num; } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelgoodssku/controller/HotelGoodsSkuController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelgoodssku/controller/HotelGoodsSkuController.java index 37af0f7..9abf9d3 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelgoodssku/controller/HotelGoodsSkuController.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelgoodssku/controller/HotelGoodsSkuController.java @@ -1,17 +1,21 @@ package org.jeecg.modules.hotelgoodssku.controller; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + +import com.baomidou.mybatisplus.core.toolkit.IdWorker; import org.jeecg.common.api.vo.Result; +import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.hotelgoods.entity.HotelGoods; +import org.jeecg.modules.hotelgoods.service.IHotelGoodsService; import org.jeecg.modules.hotelgoodssku.entity.HotelGoodsSku; import org.jeecg.modules.hotelgoodssku.service.IHotelGoodsSkuService; @@ -26,6 +30,7 @@ import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.entity.ImportParams; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -49,7 +54,9 @@ import org.jeecg.common.aspect.annotation.AutoLog; public class HotelGoodsSkuController extends JeecgController { @Autowired private IHotelGoodsSkuService hotelGoodsSkuService; - + @Resource + private IHotelGoodsService hotelGoodsService; + /** * 分页列表查询 * @@ -73,7 +80,7 @@ public class HotelGoodsSkuController extends JeecgController add(@RequestBody HotelGoodsSku hotelGoodsSku) { + HotelGoodsSku hotelGoodsSku1 = hotelGoodsSkuService.lambdaQuery() + .eq(HotelGoodsSku::getDelFlag, 0) + .eq(HotelGoodsSku::getGoodsId, hotelGoodsSku.getGoodsId()) + .eq(HotelGoodsSku::getColour, hotelGoodsSku.getColour()) + .eq(HotelGoodsSku::getTitle, hotelGoodsSku.getTitle()) + .one(); + if(hotelGoodsSku1 != null){ + throw new JeecgBootException("该规格已存在,请勿重复添加"); + } hotelGoodsSkuService.save(hotelGoodsSku); return Result.OK("添加成功!"); } - + /** * 编辑 * @@ -98,10 +114,19 @@ public class HotelGoodsSkuController extends JeecgController edit(@RequestBody HotelGoodsSku hotelGoodsSku) { + HotelGoodsSku hotelGoodsSku1 = hotelGoodsSkuService.lambdaQuery() + .eq(HotelGoodsSku::getDelFlag, 0) + .eq(HotelGoodsSku::getGoodsId, hotelGoodsSku.getGoodsId()) + .eq(HotelGoodsSku::getColour, hotelGoodsSku.getColour()) + .eq(HotelGoodsSku::getTitle, hotelGoodsSku.getTitle()) + .one(); + if(hotelGoodsSku1 != null){ + throw new JeecgBootException("该规格已存在,请勿重复添加"); + } hotelGoodsSkuService.updateById(hotelGoodsSku); return Result.OK("编辑成功!"); } - + /** * 通过id删除 * @@ -115,7 +140,7 @@ public class HotelGoodsSkuController extends JeecgController copyGoods(@RequestParam(name="id",required=true) String id){ + HotelGoodsSku hotelGoodsSku = hotelGoodsSkuService.getById(id); + + HotelGoodsSku hotelGoodsSku2 = new HotelGoodsSku(); + BeanUtils.copyProperties(hotelGoodsSku,hotelGoodsSku2); + hotelGoodsSku2.setId(IdWorker.getIdStr()); + hotelGoodsSku2.setColour(hotelGoodsSku.getColour()+"-副本"); + hotelGoodsSku2.setTitle(hotelGoodsSku.getTitle()+"-副本"); + hotelGoodsSku2.setCreateTime(new Date()); + hotelGoodsSkuService.save(hotelGoodsSku2); + + return Result.OK(); + } + } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelgoodssku/entity/HotelGoodsSku.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelgoodssku/entity/HotelGoodsSku.java index f383628..672d8f3 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelgoodssku/entity/HotelGoodsSku.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelgoodssku/entity/HotelGoodsSku.java @@ -4,10 +4,8 @@ import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.util.Date; import java.math.BigDecimal; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; + +import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; import org.springframework.format.annotation.DateTimeFormat; @@ -44,8 +42,8 @@ public class HotelGoodsSku implements Serializable { @Excel(name = "标题", width = 15) @ApiModelProperty(value = "标题") private java.lang.String title; - /**价格*/ - @Excel(name = "价格", width = 15) + /**押金*/ + @Excel(name = "押金", width = 15) @ApiModelProperty(value = "价格") private java.math.BigDecimal price; /**图片*/ @@ -82,4 +80,7 @@ public class HotelGoodsSku implements Serializable { private String categoryId; /**颜色*/ private String colour; + /**租金*/ + @TableField(exist = false) + private BigDecimal depositPriceTwo; } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelgoodssku/mapper/xml/HotelGoodsSkuMapper.xml b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelgoodssku/mapper/xml/HotelGoodsSkuMapper.xml index 6768419..e10f872 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelgoodssku/mapper/xml/HotelGoodsSkuMapper.xml +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelgoodssku/mapper/xml/HotelGoodsSkuMapper.xml @@ -4,7 +4,7 @@ - \ No newline at end of file + diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelleaselog/mapper/HotelLeaseLogMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelleaselog/mapper/HotelLeaseLogMapper.java index 73e79af..f7025d1 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelleaselog/mapper/HotelLeaseLogMapper.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelleaselog/mapper/HotelLeaseLogMapper.java @@ -37,4 +37,12 @@ public interface HotelLeaseLogMapper extends BaseMapper { "AND a.status = 0 AND a.start_time IS NOT NULL;") BigDecimal getAllDepositPrice(@Param("userId") String userId); + /** + * 统计桌布库存 + * @param userId + * @return + */ + @Select("SELECT SUM(num) FROM hotel_lease_log WHERE del_flag = 0 AND user_id = #{userId}") + Integer sumLeaseNum(@Param("userId") String userId); + } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelleaselog/service/IHotelLeaseLogService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelleaselog/service/IHotelLeaseLogService.java index f79abb0..04f2666 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelleaselog/service/IHotelLeaseLogService.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelleaselog/service/IHotelLeaseLogService.java @@ -31,4 +31,12 @@ public interface IHotelLeaseLogService extends IService { * @return */ BigDecimal getAllDepositPrice(String userId); + + + /** + * 统计桌布库存 + * @param userId + * @return + */ + Integer sumLeaseNum(String userId); } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelleaselog/service/impl/HotelLeaseLogServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelleaselog/service/impl/HotelLeaseLogServiceImpl.java index e4145b6..9342f43 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelleaselog/service/impl/HotelLeaseLogServiceImpl.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelleaselog/service/impl/HotelLeaseLogServiceImpl.java @@ -29,4 +29,9 @@ public class HotelLeaseLogServiceImpl extends ServiceImpl pageList = hotelOrderService.page(page, queryWrapper); return Result.OK(pageList); } - + /** * 添加 * @@ -233,7 +240,7 @@ public class HotelOrderController extends JeecgController leaseSendOrder(@RequestBody HotelOrder hotelOrder){ + //水洗店租赁订单 + if(hotelOrder.getWashShopFlag() == 1){ + HotelOrderLog hotelOrderLog = hotelOrderLogService.lambdaQuery() + .eq(HotelOrderLog::getDelFlag, 0) + .eq(HotelOrderLog::getId, hotelOrder.getOrderLogId()) + .one(); + + List hotelOrderDetails = hotelOrderDetailService.lambdaQuery() + .eq(HotelOrderDetail::getDelFlag, 0) + .eq(HotelOrderDetail::getOrderId, hotelOrder.getId()) + .list(); + HanHaiMember hanHaiMember = hanHaiMemberService.lambdaQuery() + .eq(HanHaiMember::getId, hotelOrder.getUserId()) + .one(); + + + List hotelLeaseLogs = new ArrayList<>(); + List hotelOrderDetails1 = new ArrayList<>(); + for (HotelOrderDetail hotelOrderDetail:hotelOrderDetails){ + //水洗店 + HotelLeaseLog hotelLeaseLog = new HotelLeaseLog(); + hotelLeaseLog.setId(IdWorker.getIdStr()); + hotelLeaseLog.setUserId(hanHaiMember.getId()); + hotelLeaseLog.setOrderId(hotelOrder.getId()); + hotelLeaseLog.setOrderDetailId(hotelOrderDetail.getId()); + hotelLeaseLog.setGoodsId(hotelOrderDetail.getGoodsId()); + hotelLeaseLog.setSkuId(hotelOrderDetail.getSkuId()); + hotelLeaseLog.setGoodsName(hotelOrderDetail.getGoodsName()); + hotelLeaseLog.setGoodsPic(hotelOrderDetail.getPic()); + hotelLeaseLog.setSku(hotelOrderDetail.getSku()); + hotelLeaseLog.setStatus(0); + hotelLeaseLog.setNum(hotelOrderDetail.getNum()); + hotelLeaseLog.setPrice(hotelOrderDetail.getDeposit()); + hotelLeaseLog.setFormUserId(hotelOrderLog.getUserId()); + hotelLeaseLog.setCategoryId(hotelOrderDetail.getCategoryId()); + + HotelOrderDetail hotelOrderDetail1 = new HotelOrderDetail(); + hotelOrderDetail1.setId(hotelOrderDetail.getId()); + hotelOrderDetail1.setLeaseId(hotelLeaseLog.getId()); + + hotelLeaseLogs.add(hotelLeaseLog); + hotelOrderDetails1.add(hotelOrderDetail1); + } + hotelLeaseLogService.saveBatch(hotelLeaseLogs); + hotelOrderDetailService.updateBatchById(hotelOrderDetails1); + } hotelOrder.setStatus(2); hotelOrderService.updateById(hotelOrder); return Result.OK(); } + /** + * 租赁订单不发货 + * @param hotelOrder + * @return + */ + @Transactional(rollbackFor = Exception.class) + @RequestMapping(value = "/lease/no/send", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result leaseNotSendOrder(@RequestBody HotelOrder hotelOrder){ + if(hotelOrder.getWashShopFlag() == 0){ + throw new JeecgBootException("只有水洗店才可不发货"); + } + hotelOrderService.removeById(hotelOrder.getId()); + return Result.OK(); + } + /** * 换货订单收货 diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshop/controller/HotelShopController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshop/controller/HotelShopController.java index 653046d..1bd69b1 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshop/controller/HotelShopController.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshop/controller/HotelShopController.java @@ -19,6 +19,7 @@ import org.jeecg.common.util.PasswordUtil; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; +import org.jeecg.modules.hotelconf.service.IHotelConfService; import org.jeecg.modules.hotelmemberaccount.entity.HotelMemberAccount; import org.jeecg.modules.hotelmemberaccount.service.IHotelMemberAccountService; import org.jeecg.modules.hotelshop.entity.HotelShop; @@ -67,7 +68,9 @@ public class HotelShopController extends JeecgController pageList = hotelShopService.page(page, queryWrapper); return Result.OK(pageList); } - + /** * 添加 * @@ -112,13 +115,20 @@ public class HotelShopController extends JeecgController - \ No newline at end of file + diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoppingcat/resp/ShoppingCartPageResp.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoppingcat/resp/ShoppingCartPageResp.java index 3c26ab6..e96ca87 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoppingcat/resp/ShoppingCartPageResp.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hotelshoppingcat/resp/ShoppingCartPageResp.java @@ -1,6 +1,7 @@ package org.jeecg.modules.hotelshoppingcat.resp; import lombok.Data; +import org.apache.commons.lang3.StringUtils; import java.math.BigDecimal; @@ -23,5 +24,17 @@ public class ShoppingCartPageResp { private Integer num; private String skuId; private String goodsId; + private String colour; + + public String getTitle() { + if(StringUtils.isNotBlank(this.colour)){ + this.title = this.colour+","+this.title; + + + } + return title; + } + + } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/goods/req/EditLeaseNumReq.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/goods/req/EditLeaseNumReq.java new file mode 100644 index 0000000..d647271 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/goods/req/EditLeaseNumReq.java @@ -0,0 +1,20 @@ +package org.jeecg.modules.xcx.goods.req; + +import lombok.Data; + +/** + * @author java996.icu + * @title: EditLeaseNumReq + * @projectName hanhai-object-jdbc-20240829 + * @description: TODO + * @date 2024/12/2 21:09 + * @Version V1.0 + */ +@Data +public class EditLeaseNumReq { + + private String token; + private String id; + private Integer num; + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/goods/service/impl/GoodsServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/goods/service/impl/GoodsServiceImpl.java index 3ed7f4e..0bf8960 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/goods/service/impl/GoodsServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/goods/service/impl/GoodsServiceImpl.java @@ -70,7 +70,9 @@ public class GoodsServiceImpl implements IGoodsService { Page hotelGoodsPage = query.orderByAsc(HotelGoods::getSort).orderByDesc(HotelGoods::getCreateTime).page(page); + BigDecimal depositPrice = new BigDecimal(hotelConfService.getConf("depositPrice")); for (HotelGoods hotelGoods:hotelGoodsPage.getRecords()) { + hotelGoods.setDepositPrice(depositPrice); hotelGoods.setGoodsSku(hotelGoodsSkuService.getHotelGoodsSkuOne(hotelGoods.getId())); } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/controller/OrderController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/controller/OrderController.java index a8f7eb5..d0d4460 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/controller/OrderController.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/controller/OrderController.java @@ -6,6 +6,7 @@ import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.util.TokenUtils; +import org.jeecg.modules.xcx.goods.req.EditLeaseNumReq; import org.jeecg.modules.xcx.order.req.*; import org.jeecg.modules.xcx.order.service.IOrderService; import org.springframework.web.bind.annotation.*; @@ -76,7 +77,7 @@ public class OrderController { @PostMapping("/notify") public Object orderNotify(@RequestBody String requestBody){ - return orderService.orderNotify4(requestBody); + return orderService.orderNotify5(requestBody); } @@ -150,4 +151,13 @@ public class OrderController { return orderService.receiptWashOrder(shopReceiptOrderReq); } + + @ApiOperation(value = "修改上传物品得数量") + @PostMapping("/edit/lease/num") + public Result editLeaseNum(HttpServletRequest request,EditLeaseNumReq editLeaseNumReq){ + editLeaseNumReq.setToken(TokenUtils.getTokenByRequest(request)); + return orderService.editLeaseNum(editLeaseNumReq); + + } + } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/service/IOrderService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/service/IOrderService.java index ac35698..e64cdec 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/service/IOrderService.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/service/IOrderService.java @@ -2,6 +2,7 @@ package org.jeecg.modules.xcx.order.service; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.pay.MpWxPayService; +import org.jeecg.modules.xcx.goods.req.EditLeaseNumReq; import org.jeecg.modules.xcx.order.req.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; @@ -103,6 +104,13 @@ public interface IOrderService { */ Object orderNotify4(String requestBody); + /** + * 支付回调 + * @param requestBody + * @return + */ + Object orderNotify5(String requestBody); + /** * 申请退货/换货 * @param applyRefundOrderReq @@ -189,4 +197,11 @@ public interface IOrderService { * @return */ Result getOrderDetails(String id); + + /** + * 修改自己上传物品得数量 + * @param editLeaseNumReq + * @return + */ + Result editLeaseNum(EditLeaseNumReq editLeaseNumReq); } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/service/impl/OrderServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/service/impl/OrderServiceImpl.java index d929aa0..526cd5a 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/service/impl/OrderServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/order/service/impl/OrderServiceImpl.java @@ -55,6 +55,7 @@ import org.jeecg.modules.pay.MpWxPayService; import org.jeecg.modules.system.entity.SysUserRole; import org.jeecg.modules.system.service.ISysUserRoleService; import org.jeecg.modules.system.service.ISysUserService; +import org.jeecg.modules.xcx.goods.req.EditLeaseNumReq; import org.jeecg.modules.xcx.order.req.*; import org.jeecg.modules.xcx.order.service.IOrderService; import org.springframework.beans.BeanUtils; @@ -1195,7 +1196,7 @@ public class OrderServiceImpl implements IOrderService { hotelOrderDetail.setGoodsId(hotelGoods.getId()); hotelOrderDetail.setGoodsName(hotelGoods.getName()); hotelOrderDetail.setSkuId(hotelGoodsSku.getId()); - hotelOrderDetail.setSku(hotelGoodsSku.getTitle()); + hotelOrderDetail.setSku(hotelGoodsSku.getColour()+","+hotelGoodsSku.getTitle()); hotelOrderDetail.setNum(createOrderReq.getNum()); hotelOrderDetail.setOrderPay(price); hotelOrderDetail.setCategoryId(hotelCategory.getId()); @@ -2487,6 +2488,214 @@ public class OrderServiceImpl implements IOrderService { return "SUCCESS"; } + @Transactional(rollbackFor = Exception.class) + @Override + public Object orderNotify5(String requestBody) { + WxPayOrderNotifyResult notify = mpWxPayService.notify(requestBody); + //对比outTradeNo进行业务处理 + if (notify == null){ + //会继续通知 + return "FAIL"; + } + String outTradeNo = notify.getOutTradeNo(); + System.err.println(outTradeNo); + HotelOrderLog hotelOrderLog = hotelOrderLogService.lambdaQuery() + .eq(HotelOrderLog::getDelFlag, 0) + .eq(HotelOrderLog::getId, outTradeNo) + .eq(HotelOrderLog::getIsPay, 0) + .one(); + HotelOrder hotelOrder = hotelOrderService.lambdaQuery() + .eq(HotelOrder::getDelFlag, 0) + .eq(HotelOrder::getOrderLogId, hotelOrderLog.getId()) + .one(); + + /*订单未找到*/ + if(hotelOrder == null ){ + System.err.println("订单未找到"); + return "FAIL"; + } + + /*已经处理过订单*/ + if (hotelOrder.getStatus() !=0 && hotelOrder.getStatus() != 3){ + return "SUCCESS"; + } + + List hotelOrderDetails = hotelOrderDetailService.lambdaQuery() + .eq(HotelOrderDetail::getDelFlag, 0) + .eq(HotelOrderDetail::getOrderId, hotelOrder.getId()) + .list(); + + HanHaiMember hanHaiMember = hanHaiMemberService.lambdaQuery() + .eq(HanHaiMember::getId, hotelOrder.getUserId()) + .one(); + + HotelShop hotelShop = hotelShopService.lambdaQuery() + .eq(HotelShop::getDelFlag, 0) + .eq(HotelShop::getId, hanHaiMember.getShopId()) + .one(); + + HotelOrder shopOrder = new HotelOrder(); + shopOrder.setId(IdWorker.getIdStr()); + shopOrder.setTitle(hotelOrder.getTitle()); + List hotelOrderDetails1 = new ArrayList<>(); + List hotelLeaseLogs = new ArrayList<>(); + + List orders = new ArrayList<>(); + Integer type = 0; + for (HotelOrderDetail hotelOrderDetail:hotelOrderDetails) { + /*租赁业务*/ + if(hotelOrder.getType() == 0){ + + HotelLeaseLog hotelLeaseLog = new HotelLeaseLog(); + + + //用户 + hotelLeaseLog.setUserId(hotelOrder.getUserId()); + hotelLeaseLog.setShopId(hotelOrder.getShopId()); + hotelLeaseLog.setOrderId(hotelOrder.getId()); + hotelLeaseLog.setOrderDetailId(hotelOrderDetail.getId()); + hotelLeaseLog.setGoodsId(hotelOrderDetail.getGoodsId()); + hotelLeaseLog.setSkuId(hotelOrderDetail.getSkuId()); + hotelLeaseLog.setGoodsName(hotelOrderDetail.getGoodsName()); + hotelLeaseLog.setGoodsPic(hotelOrderDetail.getPic()); + hotelLeaseLog.setSku(hotelOrderDetail.getSku()); + hotelLeaseLog.setStatus(0); + hotelLeaseLog.setNum(hotelOrderDetail.getNum()); + hotelLeaseLog.setPrice(hotelOrderDetail.getDeposit()); + hotelLeaseLog.setCategoryId(hotelOrderDetail.getCategoryId()); + + + HotelGoods hotelGoods = hotelGoodsService.lambdaQuery() + .eq(HotelGoods::getDelFlag, 0) + .eq(HotelGoods::getId, hotelOrderDetail.getGoodsId()) + .one(); + + HotelGoodsSku hotelGoodsSku = hotelGoodsSkuService.lambdaQuery() + .eq(HotelGoodsSku::getDelFlag, 0) + .eq(HotelGoodsSku::getId, hotelOrderDetail.getSkuId()) + .one(); + + + + + + HotelCategory hotelCategory = hotelCategoryService.lambdaQuery() + .eq(HotelCategory::getDelFlag, 0) + .eq(HotelCategory::getId, hotelOrderDetail.getCategoryId()) + .one(); + /*水洗店*/ + HotelOrderDetail hotelOrderDetail1 = new HotelOrderDetail(); + + shopOrder.setUserName(hotelShop.getUserName()); + shopOrder.setUserPhone(hotelShop.getPhone()); + shopOrder.setUserAddress(hotelShop.getAddress()); + shopOrder.setUserId(hotelShop.getUserId()); + shopOrder.setDeposit(hotelOrder.getDeposit()); + shopOrder.setType(0); + shopOrder.setStatus(1); + shopOrder.setOrderLogId(hotelOrderLog.getId()); + shopOrder.setWashShopFlag(1); + hotelOrderDetail1.setId(IdWorker.getIdStr()); + hotelOrderDetail1.setPic(hotelGoods.getPic()); + hotelOrderDetail1.setGoodsId(hotelGoods.getId()); + hotelOrderDetail1.setGoodsName(hotelGoods.getName()); + hotelOrderDetail1.setSkuId(hotelGoodsSku.getId()); + hotelOrderDetail1.setSku(hotelGoodsSku.getTitle()); + hotelOrderDetail1.setNum(hotelOrderDetail.getNum()); + hotelOrderDetail1.setOrderPay(hotelOrderDetail.getOrderPay()); + hotelOrderDetail1.setCategoryId(hotelCategory.getId()); + hotelOrderDetail1.setOrderId(shopOrder.getId()); + hotelOrderDetails1.add(hotelOrderDetail1); + + + + hotelLeaseLogs.add(hotelLeaseLog); + + + + }else if(hotelOrder.getType() == 1){/*水洗逻辑*/ + + + List hotelLeaseLogList = hotelLeaseLogService.lambdaQuery() + .eq(HotelLeaseLog::getDelFlag, 0) + .eq(HotelLeaseLog::getLeaseFlag, 1) + .eq(HotelLeaseLog::getUserId, hanHaiMember.getId()) + .list(); + + for (HotelLeaseLog hotelLeaseLog:hotelLeaseLogList){ + type = 1; + HotelLeaseLog hotelLeaseLog1 = new HotelLeaseLog(); + hotelLeaseLog1.setId(hotelLeaseLog.getId()); + hotelLeaseLog1.setStartTime(new Date()); + hotelLeaseLogs.add(hotelLeaseLog1); + } + + + } + } + //修改订单状态 + HotelOrder hotelOrder1 = new HotelOrder(); + hotelOrder1.setId(hotelOrder.getId()); + if(hotelOrder.getType() == 0){ + hotelOrder1.setStatus(1); + }else if(hotelOrder.getType() == 1){ + hotelOrder1.setStatus(4); + } + hotelOrderService.updateById(hotelOrder1); + + HotelOrderLog hotelOrderLog1 = new HotelOrderLog(); + hotelOrderLog1.setId(hotelOrderLog.getId()); + hotelOrderLog1.setIsPay(1); + hotelOrderLogService.updateById(hotelOrderLog1); + + if(type == 0){ + hotelLeaseLogService.saveBatch(hotelLeaseLogs); + hotelOrderService.save(shopOrder); + hotelOrderDetailService.saveBatch(hotelOrderDetails1); + }else{ + hotelLeaseLogService.updateBatchById(hotelLeaseLogs); + + } + + if(hotelOrder.getType() == 0){ + HotelMemberAccount hotelMemberAccount = hotelMemberAccountService.lambdaQuery() + .eq(HotelMemberAccount::getDelFlag, 0) + .eq(HotelMemberAccount::getUserId, hanHaiMember.getId()) + .one(); + HotelMemberAccount hotelMemberAccount1 = new HotelMemberAccount(); + hotelMemberAccount1.setId(hotelMemberAccount.getId()); + hotelMemberAccount1.setDeposit(hotelMemberAccount.getDeposit().add(hotelOrder.getDeposit())); + hotelMemberAccountService.updateById(hotelMemberAccount1); + + HotelBalanceLog hotelBalanceLog = new HotelBalanceLog(); + hotelBalanceLog.setBalance(hotelOrder.getDeposit()); + hotelBalanceLog.setUserBalance(hotelMemberAccount.getDeposit()); + hotelBalanceLog.setOrderId(hotelOrder.getId()); + hotelBalanceLog.setPayType(0); + hotelBalanceLog.setUserId(hanHaiMember.getId()); + hotelBalanceLog.setTitle("租赁押金"); + hotelBalanceLogService.save(hotelBalanceLog); + } + + if(hotelOrder.getType() == 0){ + List sysUserRoles = sysUserRoleService.lambdaQuery() + .eq(SysUserRole::getRoleId, hotelConfService.getConf("messageId")) + .list(); + List collect = sysUserRoles.stream().map(SysUserRole::getUserId).collect(Collectors.toList()); + + MessageDTO messageDTO = new MessageDTO(); + messageDTO.setTitle("租赁订单"); + messageDTO.setToUser(collect.toString()); + messageDTO.setFromUser(""); + messageDTO.setContent("您有新的租赁订单"); + sysBaseAPI.sendSysAnnouncement(messageDTO); + } + + + //不再通知该结果 + return "SUCCESS"; + } + @Transactional(rollbackFor = Exception.class) @Override public Result applyRefundOrder(ApplyRefundOrderReq applyRefundOrderReq) { @@ -2880,7 +3089,7 @@ public class OrderServiceImpl implements IOrderService { for (HotelOrderDetail hotelOrderDetail:hotelOrderDetails){ HotelLeaseLog hotelLeaseLog = hotelLeaseLogService.lambdaQuery() .eq(HotelLeaseLog::getDelFlag, 0) - .eq(HotelLeaseLog::getOrderDetailId, hotelOrderDetail.getId()) + .eq(HotelLeaseLog::getId, hotelOrderDetail.getLeaseId()) .eq(HotelLeaseLog::getUserId, hanHaiMember.getId()) .one(); if(hotelLeaseLog == null){ @@ -2942,39 +3151,42 @@ public class OrderServiceImpl implements IOrderService { hotelOrder1.setStatus(15); hotelOrderService.updateById(hotelOrder1); - - //子 - HotelLeaseLog hotelLeaseLog = hotelLeaseLogService.lambdaQuery() - .eq(HotelLeaseLog::getDelFlag, 0) - .eq(HotelLeaseLog::getId, hotelOrderDetails.get(0).getLeaseId()) - .eq(HotelLeaseLog::getUserId, hanHaiMember.getId()) - .one(); - if(hotelLeaseLog == null){ - throw new JeecgBootException("数据错误,请刷新重试"); - } - - if(StringUtils.isNotBlank(hotelLeaseLog.getPid())){ - //父 - HotelLeaseLog hotelLeaseLog1 = hotelLeaseLogService.lambdaQuery() + for (HotelOrderDetail hotelOrderDetail:hotelOrderDetails){ + //子 + HotelLeaseLog hotelLeaseLog = hotelLeaseLogService.lambdaQuery() .eq(HotelLeaseLog::getDelFlag, 0) - .eq(HotelLeaseLog::getId, hotelLeaseLog.getPid()) + .eq(HotelLeaseLog::getId, hotelOrderDetail.getLeaseId()) + .eq(HotelLeaseLog::getUserId, hanHaiMember.getId()) .one(); - int num = hotelLeaseLog.getNum() + hotelLeaseLog1.getNum(); - BigDecimal price2 = hotelLeaseLog1.getPrice().add(hotelLeaseLog.getPrice()); - HotelLeaseLog hotelLeaseLog2 = new HotelLeaseLog(); + if(hotelLeaseLog == null){ + throw new JeecgBootException("数据错误,请刷新重试"); + } + + if(StringUtils.isNotBlank(hotelLeaseLog.getPid())){ + //父 + HotelLeaseLog hotelLeaseLog1 = hotelLeaseLogService.lambdaQuery() + .eq(HotelLeaseLog::getDelFlag, 0) + .eq(HotelLeaseLog::getId, hotelLeaseLog.getPid()) + .one(); + int num = hotelLeaseLog.getNum() + hotelLeaseLog1.getNum(); + BigDecimal price2 = hotelLeaseLog1.getPrice().add(hotelLeaseLog.getPrice()); + HotelLeaseLog hotelLeaseLog2 = new HotelLeaseLog(); hotelLeaseLog2.setId(hotelLeaseLog1.getId()); - hotelLeaseLog2.setPrice(price2); + hotelLeaseLog2.setPrice(price2); hotelLeaseLog2.setNum(num); hotelLeaseLogService.updateById(hotelLeaseLog2); hotelLeaseLogService.removeById(hotelLeaseLog.getId()); + } } + + } @@ -3009,6 +3221,7 @@ public class OrderServiceImpl implements IOrderService { hotelLeaseLog.setSku(uploadTableclothReq.getLength()+"*"+uploadTableclothReq.getWide()); hotelLeaseLogService.save(hotelLeaseLog); + /* HotelShop hotelShop = hotelShopService.lambdaQuery() .eq(HotelShop::getDelFlag, 0) .eq(HotelShop::getId, hanHaiMember.getShopId()) @@ -3083,6 +3296,7 @@ public class OrderServiceImpl implements IOrderService { hotelOrderDetail1.setDeposit(BigDecimal.ZERO); hotelOrderDetailService.save(hotelOrderDetail1); + */ @@ -3464,6 +3678,29 @@ public class OrderServiceImpl implements IOrderService { return Result.OK(hotelOrderDetails); } + @Override + public Result editLeaseNum(EditLeaseNumReq editLeaseNumReq) { + HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiAccount(editLeaseNumReq.getToken()); + HotelLeaseLog hotelLeaseLog = hotelLeaseLogService.lambdaQuery() + .eq(HotelLeaseLog::getDelFlag, 0) + .eq(HotelLeaseLog::getId, editLeaseNumReq.getId()) + .eq(HotelLeaseLog::getUserId, hanHaiMember.getId()) + .eq(HotelLeaseLog::getLeaseFlag,0) + .one(); + + if(hotelLeaseLog == null){ + throw new JeecgBootException("只能修改上传物品"); + } + + HotelLeaseLog hotelLeaseLog1 = new HotelLeaseLog(); + hotelLeaseLog1.setId(hotelLeaseLog.getId()); + hotelLeaseLog1.setNum(editLeaseNumReq.getNum()); + hotelLeaseLogService.updateById(hotelLeaseLog1); + + + return Result.OK(); + } + public Object testPay(String id){ HotelOrder hotelOrder = hotelOrderService.lambdaQuery() .eq(HotelOrder::getDelFlag, 0) diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/req/SumLeaseNumReq.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/req/SumLeaseNumReq.java new file mode 100644 index 0000000..1efe4e3 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/req/SumLeaseNumReq.java @@ -0,0 +1,18 @@ +package org.jeecg.modules.xcx.shop.req; + +import lombok.Data; + +/** + * @author java996.icu + * @title: SumLeaseNumReq + * @projectName hanhai-object-jdbc-20240829 + * @description: TODO + * @date 2024/12/2 12:38 + * @Version V1.0 + */ +@Data +public class SumLeaseNumReq { + + private String token; + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/service/IShopService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/service/IShopService.java index cfe7150..2bbdbad 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/service/IShopService.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/service/IShopService.java @@ -70,4 +70,5 @@ public interface IShopService { */ Result editShopInfo(EditShopInfoReq editShopInfoReq); + } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/service/impl/ShopServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/service/impl/ShopServiceImpl.java index 7ba5dda..5d28c27 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/service/impl/ShopServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/xcx/shop/service/impl/ShopServiceImpl.java @@ -30,6 +30,8 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.math.BigDecimal; +import java.util.HashMap; +import java.util.Map; @Service public class ShopServiceImpl implements IShopService { @@ -48,6 +50,8 @@ public class ShopServiceImpl implements IShopService { private IHanHaiMemberService hanHaiMemberService; @Resource private HttpConf httpConf; + @Resource + private IHotelLeaseLogService hotelLeaseLogService; /** * 微信公众号-appid */ @@ -309,4 +313,5 @@ public class ShopServiceImpl implements IShopService { return Result.OK(); } + }