Browse Source

新增:为客户初始化默认的footbar

dev_shibei_match
wxz 5 years ago
parent
commit
346a97adfc
  1. 7
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CustomerFootBarFormDTO.java
  2. 6
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/CustomerFootBarResultDTO.java
  3. 12
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerFootBarController.java
  4. 3
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerFootBarDao.java
  5. 2
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerFootBarService.java
  6. 29
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerFootBarServiceImpl.java
  7. 22
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerFootBarDao.xml

7
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 {} public interface UpdateDisplayStatusGroup {}
// 为客户添加默认footbar
public interface AddDefaultFootbars4Customer {}
@NotBlank(message = "FootBar的ID不能为空", groups = { UpdateFootBarGroup.class, FootBarDetailGroup.class, UpdateDisplayStatusGroup.class }) @NotBlank(message = "FootBar的ID不能为空", groups = { UpdateFootBarGroup.class, FootBarDetailGroup.class, UpdateDisplayStatusGroup.class })
private String id; private String id;
@NotBlank(message = "客户ID不能为空", groups = { CreateFootBarGroup.class }) @NotBlank(message = "客户ID不能为空", groups = { CreateFootBarGroup.class, AddDefaultFootbars4Customer.class })
private String customerId; private String customerId;
// 哪一个端:gov,resi // 哪一个端:gov,resi
@NotBlank(message = "app类型不能为空", groups = { ListFootBarGroup.class, CreateFootBarGroup.class }) @NotBlank(message = "app类型不能为空", groups = { ListFootBarGroup.class, CreateFootBarGroup.class, AddDefaultFootbars4Customer.class })
private String appType; private String appType;
@NotBlank(message = "名称不能为空", groups = { CreateFootBarGroup.class, UpdateFootBarGroup.class }) @NotBlank(message = "名称不能为空", groups = { CreateFootBarGroup.class, UpdateFootBarGroup.class })

6
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 Boolean display;
private String defaultBarName;
private String defaultIconPath;
private String defaultSelectedIconPath;
} }

12
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(); 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();
}
} }

3
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerFootBarDao.java

@ -67,5 +67,8 @@ public interface CustomerFootBarDao extends BaseDao<CustomerFootBarEntity> {
@Param("appType") String appType, @Param("appType") String appType,
@Param("barKey") String barKey); @Param("barKey") String barKey);
List<CustomerFootBarEntity> listByAppTypeAndCustomerId(@Param("customerId") String customerId,
@Param("appType") String appType);
void updateDisplayStatus(@Param("id") String id, @Param("display") Boolean display); void updateDisplayStatus(@Param("id") String id, @Param("display") Boolean display);
} }

2
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerFootBarService.java

@ -108,4 +108,6 @@ public interface CustomerFootBarService extends BaseService<CustomerFootBarEntit
CustomerFootBarEntity getByAppTypeAndBarKeyOfCustomer(String customerId, String appType, String barKey); CustomerFootBarEntity getByAppTypeAndBarKeyOfCustomer(String customerId, String appType, String barKey);
void updateDisplayStatus(String id, Boolean display); void updateDisplayStatus(String id, Boolean display);
void addDefault4Customer(String customerId, String appType);
} }

29
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerFootBarServiceImpl.java

@ -36,6 +36,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@ -147,7 +148,14 @@ public class CustomerFootBarServiceImpl extends BaseServiceImpl<CustomerFootBarD
@Override @Override
public CustomerFootBarResultDTO getFootBarDetail(String id) { public CustomerFootBarResultDTO getFootBarDetail(String id) {
CustomerFootBarEntity entity = baseDao.selectById(id); CustomerFootBarEntity entity = baseDao.selectById(id);
if (entity == null) {
return new CustomerFootBarResultDTO();
}
CustomerFootBarResultDTO dto = ConvertUtils.sourceToTarget(entity, CustomerFootBarResultDTO.class); CustomerFootBarResultDTO dto = ConvertUtils.sourceToTarget(entity, CustomerFootBarResultDTO.class);
CustomerFootBarEntity defaultBar = baseDao.getByAppTypeAndBarKeyOfCustomer("default", entity.getAppType(), entity.getBarKey());
dto.setDefaultBarName(defaultBar.getBarName());
dto.setDefaultIconPath(defaultBar.getIconPath());
dto.setDefaultSelectedIconPath(defaultBar.getSelectedIconPath());
return dto; return dto;
} }
@ -169,6 +177,27 @@ public class CustomerFootBarServiceImpl extends BaseServiceImpl<CustomerFootBarD
baseDao.updateDisplayStatus(id, display); baseDao.updateDisplayStatus(id, display);
} }
@Transactional
@Override
public void addDefault4Customer(String customerId, String appType) {
List<CustomerFootBarEntity> 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<CustomerFootBarEntity> 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之前的校验 * 添加footbar之前的校验
* @param form * @param form

22
epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerFootBarDao.xml

@ -102,5 +102,27 @@
and BAR_KEY = #{barKey} and BAR_KEY = #{barKey}
</select> </select>
<select id="listByAppTypeAndCustomerId" resultType="com.epmet.entity.CustomerFootBarEntity">
select id,
customer_id,
app_type,
bar_key,
bar_name,
page_title,
icon_path,
selected_icon_path,
display,
order_index,
del_flag,
revision,
created_by,
created_time,
updated_by,
updated_time
from customer_foot_bar
where CUSTOMER_ID = #{customerId}
and app_type = #{appType}
</select>
</mapper> </mapper>
Loading…
Cancel
Save