From e7a930e8cb1b6010ac369d964c41f034c0163f57 Mon Sep 17 00:00:00 2001 From: "714943302@qq.com" Date: Fri, 2 Nov 2018 18:25:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0UI=E8=AE=BE=E7=BD=AE=E5=AE=9E?= =?UTF-8?q?=E4=BD=93=E7=B1=BB=E3=80=81DAO=E3=80=81controller=E3=80=81Dto?= =?UTF-8?q?=E3=80=81Convert=E3=80=81=E4=BF=9D=E5=AD=98=E3=80=81=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=8E=A5=E5=8F=A3=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../settings/UISettingsController.java | 73 ++++++++++++++++--- .../primary/dao/settings/UisettingsDao.java | 20 +++++ .../entity/dictionary/DatadicGroup.java | 6 +- .../primary/entity/settings/Uisettings.java | 11 ++- .../entity/settings/UisettingsDefault.java | 10 +-- .../settings/convert/UisettingsConvert.java | 13 ++++ 6 files changed, 107 insertions(+), 26 deletions(-) create mode 100644 src/main/java/com/gzzn/omms/adminapi/domain/primary/dao/settings/UisettingsDao.java create mode 100644 src/main/java/com/gzzn/omms/adminapi/dto/settings/convert/UisettingsConvert.java diff --git a/src/main/java/com/gzzn/omms/adminapi/controller/settings/UISettingsController.java b/src/main/java/com/gzzn/omms/adminapi/controller/settings/UISettingsController.java index 81b9b8c..53b95ce 100644 --- a/src/main/java/com/gzzn/omms/adminapi/controller/settings/UISettingsController.java +++ b/src/main/java/com/gzzn/omms/adminapi/controller/settings/UISettingsController.java @@ -1,25 +1,46 @@ package com.gzzn.omms.adminapi.controller.settings; -import java.util.List; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; +import java.util.stream.Collectors; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import com.gzzn.omms.adminapi.domain.primary.dao.settings.UisettingsDao; +import com.gzzn.omms.adminapi.domain.primary.entity.settings.Uisettings; import com.gzzn.omms.adminapi.dto.ResponseDto; -import com.gzzn.omms.adminapi.dto.settings.FindByCurUserAndCondsDto; import com.gzzn.omms.adminapi.dto.settings.UisettingsDto; -import com.gzzn.omms.adminapi.enums.ResultCode; - -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; +import com.gzzn.omms.adminapi.dto.settings.convert.UisettingsConvert; +import com.gzzn.omms.adminapi.service.IUserService; @RestController public class UISettingsController { + /** + * UI设置接口 + */ + @Autowired + private UisettingsDao uisettingsDao; + /** + * UI设置Dto接口 + */ + @Autowired + private UisettingsConvert uisettingsConvert; + /** + * 获取当前用户ID + */ + private IUserService iUserService; /** * 根据条件查找当前用户所有UI设置 * @return @@ -30,10 +51,28 @@ public class UISettingsController { @ApiImplicitParam(name="groupCode",value="分组Code",dataType="string", paramType = "query",example="msgalert")}) @GetMapping(value="/settings/uisettings") public ResponseDto> findByCurUserAndConds( - @RequestParam(required=false) - FindByCurUserAndCondsDto conditionsDto) + @RequestParam(required=false) String envCode, + @RequestParam(required=false) String groupCode) { - return ResponseDto.failure(ResultCode.INTERFACE_NOT_IMPLEMENT); + List uisettingsList = new ArrayList(); + if (envCode!=null) { + //envCode条件 + uisettingsList = uisettingsDao.findByEnvCode(envCode); + }else if (groupCode!=null) { + //groupCode条件 + uisettingsList = uisettingsDao.findByGroupCode(groupCode); + }else { + //包括envCode、groupCode条件 + uisettingsList = uisettingsDao.findByEnvCodeAndGroupCode(envCode,groupCode); + } + + //转换dto + List uisettingsListDto = uisettingsList.stream().map(x -> { + UisettingsDto dto = uisettingsConvert.uisettingsToUisettingsDto(x); + return dto; + }).collect(Collectors.toList()); + + return ResponseDto.success(uisettingsListDto); } @@ -44,8 +83,18 @@ public class UISettingsController { */ @ApiOperation(value="保存当前用户的UI设置",tags="UI设置") @PostMapping(value="/settings/uisettings") - public ResponseDto saveUISettings(@RequestBody UisettingsDto uisettingsDto) + public ResponseDto saveUISettings(@RequestBody UisettingsDto uisettingsDto) { - return ResponseDto.failure(ResultCode.INTERFACE_NOT_IMPLEMENT); + //Dto转实体类 + Uisettings uisettings = uisettingsConvert.uisettingsDtoToUisettings(uisettingsDto); + + if(StringUtils.isEmpty(uisettings.getId())) + { + uisettings.setId(UUID.randomUUID().toString()); //uuid自动生成 + } + + uisettings = uisettingsDao.save(uisettings); + + return ResponseDto.success(uisettings.getId()); } } diff --git a/src/main/java/com/gzzn/omms/adminapi/domain/primary/dao/settings/UisettingsDao.java b/src/main/java/com/gzzn/omms/adminapi/domain/primary/dao/settings/UisettingsDao.java new file mode 100644 index 0000000..8f6700d --- /dev/null +++ b/src/main/java/com/gzzn/omms/adminapi/domain/primary/dao/settings/UisettingsDao.java @@ -0,0 +1,20 @@ +package com.gzzn.omms.adminapi.domain.primary.dao.settings; + +import java.util.List; +import org.springframework.data.repository.CrudRepository; +import com.gzzn.omms.adminapi.domain.primary.entity.settings.Uisettings; + +public interface UisettingsDao extends CrudRepository{ + + //根据条件envCode、goupCode查询 + List findByEnvCodeAndGroupCode(String envCode,String goupCode); + + //根据条件envCode查询 + List findByEnvCode(String envCode); + + //根据条件goupCode查询 + List findByGroupCode(String goupCode); + + //保存 + Uisettings save(Uisettings uisettings); +} \ No newline at end of file diff --git a/src/main/java/com/gzzn/omms/adminapi/domain/primary/entity/dictionary/DatadicGroup.java b/src/main/java/com/gzzn/omms/adminapi/domain/primary/entity/dictionary/DatadicGroup.java index d68b191..4769487 100644 --- a/src/main/java/com/gzzn/omms/adminapi/domain/primary/entity/dictionary/DatadicGroup.java +++ b/src/main/java/com/gzzn/omms/adminapi/domain/primary/entity/dictionary/DatadicGroup.java @@ -5,7 +5,7 @@ import javax.persistence.*; /** - * The persistent class for the datadic_groups database table. + * 字典分组 * */ @Entity @@ -16,10 +16,10 @@ public class DatadicGroup implements Serializable { @Id @Column(name="group_code") - private String groupCode; + private String groupCode; //分组代码,字典分组代码 @Column(name="group_name") - private String groupName; + private String groupName; //分组名称,字典分组名称 public DatadicGroup() { } diff --git a/src/main/java/com/gzzn/omms/adminapi/domain/primary/entity/settings/Uisettings.java b/src/main/java/com/gzzn/omms/adminapi/domain/primary/entity/settings/Uisettings.java index e379fdb..d89eb65 100644 --- a/src/main/java/com/gzzn/omms/adminapi/domain/primary/entity/settings/Uisettings.java +++ b/src/main/java/com/gzzn/omms/adminapi/domain/primary/entity/settings/Uisettings.java @@ -3,9 +3,8 @@ package com.gzzn.omms.adminapi.domain.primary.entity.settings; import java.io.Serializable; import javax.persistence.*; - /** - * The persistent class for the uisettings database table. + * UI设置 * */ @Entity @@ -18,15 +17,15 @@ public class Uisettings implements Serializable { private String id; @Column(name="env_code") - private String envCode; + private String envCode; //环境配置code , web - 大屏幕环境 mobile - 移动小屏幕 @Column(name="group_code") - private String groupCode; + private String groupCode; //设置分组,设置分组比如msgalert 消息提醒 @Column(name="setting_content") - private String settingContent; + private String settingContent; //具体的设置内容,json格式的设置内容。不超过60KB - private String userid; + private String userid; //用户id public Uisettings() { } diff --git a/src/main/java/com/gzzn/omms/adminapi/domain/primary/entity/settings/UisettingsDefault.java b/src/main/java/com/gzzn/omms/adminapi/domain/primary/entity/settings/UisettingsDefault.java index 464eecd..b9a01a1 100644 --- a/src/main/java/com/gzzn/omms/adminapi/domain/primary/entity/settings/UisettingsDefault.java +++ b/src/main/java/com/gzzn/omms/adminapi/domain/primary/entity/settings/UisettingsDefault.java @@ -1,12 +1,12 @@ package com.gzzn.omms.adminapi.domain.primary.entity.settings; import java.io.Serializable; + import javax.persistence.*; /** - * The persistent class for the uisettings_default database table. - * + * UI设置 */ @Entity @Table(name="adminapi_uisettings_default") @@ -18,13 +18,13 @@ public class UisettingsDefault implements Serializable { private String id; @Column(name="env_code") - private String envCode; + private String envCode; //环境配置code , web - 大屏幕环境 mobile - 移动小屏幕 @Column(name="group_code") - private String groupCode; + private String groupCode; //设置分组,设置分组比如msgalert 消息提醒 @Column(name="setting_content") - private String settingContent; + private String settingContent; //具体的设置内容,json格式的设置内容。不超过60KB public UisettingsDefault() { } diff --git a/src/main/java/com/gzzn/omms/adminapi/dto/settings/convert/UisettingsConvert.java b/src/main/java/com/gzzn/omms/adminapi/dto/settings/convert/UisettingsConvert.java new file mode 100644 index 0000000..5d92123 --- /dev/null +++ b/src/main/java/com/gzzn/omms/adminapi/dto/settings/convert/UisettingsConvert.java @@ -0,0 +1,13 @@ +package com.gzzn.omms.adminapi.dto.settings.convert; + +import org.mapstruct.Mapper; +import com.gzzn.omms.adminapi.domain.primary.entity.settings.Uisettings; +import com.gzzn.omms.adminapi.dto.settings.UisettingsDto; + +@Mapper(componentModel="spring") +public interface UisettingsConvert { + //实体类转Dto + public UisettingsDto uisettingsToUisettingsDto(Uisettings uisettings); + //Dto转实体类 + public Uisettings uisettingsDtoToUisettings(UisettingsDto uisettingsDto); +}