diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CustomerFootBarFormDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CustomerFootBarFormDTO.java index fc09cbffd6..d699264d4b 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CustomerFootBarFormDTO.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CustomerFootBarFormDTO.java @@ -29,14 +29,17 @@ public class CustomerFootBarFormDTO { // 更新显示状态分组 public interface UpdateDisplayStatusGroup {} + // 为客户添加默认footbar + public interface AddDefaultFootbars4Customer {} + @NotBlank(message = "FootBar的ID不能为空", groups = { UpdateFootBarGroup.class, FootBarDetailGroup.class, UpdateDisplayStatusGroup.class }) private String id; - @NotBlank(message = "客户ID不能为空", groups = { CreateFootBarGroup.class }) + @NotBlank(message = "客户ID不能为空", groups = { CreateFootBarGroup.class, AddDefaultFootbars4Customer.class }) private String customerId; // 哪一个端:gov,resi - @NotBlank(message = "app类型不能为空", groups = { ListFootBarGroup.class, CreateFootBarGroup.class }) + @NotBlank(message = "app类型不能为空", groups = { ListFootBarGroup.class, CreateFootBarGroup.class, AddDefaultFootbars4Customer.class }) private String appType; @NotBlank(message = "名称不能为空", groups = { CreateFootBarGroup.class, UpdateFootBarGroup.class }) diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/CustomerFootBarResultDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/CustomerFootBarResultDTO.java index bda303ce57..0afed5aa74 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/CustomerFootBarResultDTO.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/CustomerFootBarResultDTO.java @@ -100,4 +100,10 @@ public class CustomerFootBarResultDTO implements Serializable { private Boolean display; + private String defaultBarName; + + private String defaultIconPath; + + private String defaultSelectedIconPath; + } \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerFootBarController.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerFootBarController.java index aa6e0e58d2..3dae048df4 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerFootBarController.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerFootBarController.java @@ -180,4 +180,16 @@ public class CustomerFootBarController { return new Result(); } + /** + * 为客户初始化默认的footbar + * @param form + * @return + */ + @PostMapping("initdefault4customer") + public Result initDefault4Customer(@RequestBody CustomerFootBarFormDTO form) { + ValidatorUtils.validateEntity(form, CustomerFootBarFormDTO.AddDefaultFootbars4Customer.class); + customerFootBarService.addDefault4Customer(form.getCustomerId(), form.getAppType()); + return new Result(); + } + } \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerFootBarDao.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerFootBarDao.java index 01d2a2c0dc..3d8c9e6b3b 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerFootBarDao.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerFootBarDao.java @@ -67,5 +67,8 @@ public interface CustomerFootBarDao extends BaseDao { @Param("appType") String appType, @Param("barKey") String barKey); + List listByAppTypeAndCustomerId(@Param("customerId") String customerId, + @Param("appType") String appType); + void updateDisplayStatus(@Param("id") String id, @Param("display") Boolean display); } \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerFootBarService.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerFootBarService.java index eb9a3288b4..938d05a979 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerFootBarService.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerFootBarService.java @@ -108,4 +108,6 @@ public interface CustomerFootBarService extends BaseService footBarsOfCustomer = baseDao.listByAppTypeAndCustomerId(customerId, appType); + if (!CollectionUtils.isEmpty(footBarsOfCustomer)) { + throw new RenException(EpmetErrorCode.OPER_CUSTOMER_FOOTBAR_EXISTS.getCode(), + EpmetErrorCode.OPER_CUSTOMER_FOOTBAR_EXISTS.getMsg()); + } + + List defaultBars = baseDao.listByAppTypeAndCustomerId("default", appType); + for (CustomerFootBarEntity defaultBar : defaultBars) { + defaultBar.setCustomerId(customerId); + defaultBar.setId(null); + defaultBar.setCreatedTime(null); + defaultBar.setCreatedBy(null); + defaultBar.setUpdatedTime(null); + defaultBar.setUpdatedBy(null); + baseDao.insert(defaultBar); + } + } + /** * 添加footbar之前的校验 * @param form diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerFootBarDao.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerFootBarDao.xml index 5807755285..f8bc70c1da 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerFootBarDao.xml +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerFootBarDao.xml @@ -102,5 +102,27 @@ and BAR_KEY = #{barKey} + + \ No newline at end of file