Browse Source

接口补充

LuoDLeo 7 months ago
parent
commit
ad5b0d39ff

+ 15 - 0
src/main/java/org/springblade/modules/api/controller/ApiFacilityController.java

@@ -98,4 +98,19 @@ public class ApiFacilityController extends BaseController {
         return R.data(facilityVOS);
     }
 
+    /**
+     * 获取商家所有未绑定设备
+     */
+    @GetMapping("/allMerchantFacility")
+    @ApiOperationSupport(order = 5)
+    @ApiOperation(value = "获取商家所有未绑定设备", notes = "获取商家所有未绑定设备")
+    public R<List<FacilityVO>> allMerchantFacility() {
+        List<Facility> list = iFacilityService.lambdaQuery()
+                .eq(Facility::getMerchantId, AuthUtil.getUserId())
+                .eq(Facility::getShopId, null)
+                .eq(Facility::getIsDelete, 0)
+                .list();
+        return R.data(FacilityWrapper.build().listVO(list));
+    }
+
 }

+ 22 - 0
src/main/java/org/springblade/modules/api/controller/ApiShopController.java

@@ -46,6 +46,14 @@ public class ApiShopController extends BaseController {
     @ApiOperation(value = "添加门店", notes = "传入shop")
     public R<Void> save(@Valid @RequestBody Shop shop) {
         shop.setMerchantId(AuthUtil.getUserId());
+
+        //添加设备门店关联
+        List<Facility> facilityList = iFacilityService.lambdaQuery()
+                .in(Facility::getId, Func.toLongList(shop.getFacilityIds()))
+                .list();
+        facilityList.forEach((item)->item.setShopId(shop.getId()));
+        iFacilityService.updateBatchById(facilityList);
+
         return R.status(iShopService.save(shop));
     }
 
@@ -53,6 +61,20 @@ public class ApiShopController extends BaseController {
     @ApiOperationSupport(order = 2)
     @ApiOperation(value = "修改门店", notes = "传入shop")
     public R<Void> update(@Valid @RequestBody Shop shop) {
+
+        //删除门店关联设备
+        iFacilityService.lambdaUpdate()
+                .set(Facility::getShopId, null)
+                .eq(Facility::getShopId, shop.getId())
+                .update();
+
+        //添加设备门店关联
+        List<Facility> facilityList = iFacilityService.lambdaQuery()
+                .in(Facility::getId, Func.toLongList(shop.getFacilityIds()))
+                .list();
+        facilityList.forEach((item)->item.setShopId(shop.getId()));
+        iFacilityService.updateBatchById(facilityList);
+
         return R.status(iShopService.updateById(shop));
     }
 

+ 8 - 1
src/main/java/org/springblade/modules/business/entity/Facility.java

@@ -7,6 +7,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.springblade.common.base.BaseEntity;
 
+import javax.validation.constraints.NotNull;
 import java.time.LocalDateTime;
 
 /**
@@ -29,8 +30,14 @@ public class Facility extends BaseEntity {
 	@ApiModelProperty(value = "设备编号")
 	private String facilityNo;
 	/**
-	* 门店id
+	* 商家id
 	*/
+	@ApiModelProperty(value = "商家id")
+	@NotNull(message = "请选择设备商家")
+	private Long merchantId;
+	/**
+	 * 门店id
+	 */
 	@ApiModelProperty(value = "门店id")
 	private Long shopId;
 	/**

+ 14 - 6
src/main/java/org/springblade/modules/business/entity/Shop.java

@@ -1,18 +1,20 @@
 package org.springblade.modules.business.entity;
 
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import org.springblade.common.base.BaseEntity;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.time.LocalTime;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.common.base.BaseEntity;
 import org.springblade.common.config.LocalTimeDeserializer;
 
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
+import java.time.LocalTime;
 
 /**
  * 门店表实体类
@@ -97,6 +99,12 @@ public class Shop extends BaseEntity {
 	@JsonDeserialize(using = LocalTimeDeserializer.class)
 	@ApiModelProperty(value = "营业结束时间")
 	private LocalTime closingHours;
-
+	/**
+	 * 门店设备
+	 */
+	@NotEmpty(message = "请选择门店设备")
+	@TableField(exist = false)
+	@ApiModelProperty(value = "门店设备id集合,以逗号分隔")
+	private String facilityIds;
 
 }