springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/BcDictionaryVO.java
@@ -20,4 +20,8 @@ private String dictValue; @ApiModelProperty(value = "字典项助记码") private String code; /** * 字典id */ private Long dictId; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/DictionaryVO.java
New file @@ -0,0 +1,29 @@ package com.panzhihua.common.model.vos; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; /** * @author manailin * @date 2021/6/11 16:27 */ @ApiModel("字典") @Data public class DictionaryVO implements Serializable { private Long id; @ApiModelProperty(value = "字典项名称") private String dictName; @ApiModelProperty(value = "字典项值") private String dictKey; @ApiModelProperty(value = "字典项助记码") private Long parentId; /** * 层级 */ private Integer levelIndex; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -27,10 +27,7 @@ import com.panzhihua.common.model.dtos.shop.*; import com.panzhihua.common.model.dtos.user.PageInputUserDTO; import com.panzhihua.common.model.dtos.vaccines.*; import com.panzhihua.common.model.vos.BcDictionaryItemVO; import com.panzhihua.common.model.vos.BcDictionaryVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.SystemmanagementConfigVO; import com.panzhihua.common.model.vos.*; import com.panzhihua.common.model.vos.community.*; import com.panzhihua.common.model.vos.community.bigscreen.BigScreenStatisticAgeGender; import com.panzhihua.common.model.vos.community.bigscreen.BigScreenStatisticPartyActivity; @@ -2933,6 +2930,24 @@ R listSaveBuildingExcelVO(@RequestBody List<ComMngBuildingExcelVO> newVoList, @RequestParam("communityId") Long communityId); /** * 插入字典 * @param dictionaryVO 字典数据 * @return R 是否保存成功 * @author manailin * @date 2021/6/10 17:00 */ @PostMapping("/dictionary/insertDiction") R insertDiction(@RequestBody DictionaryVO dictionaryVO); /** * 插入字典项 * @param dictionaryVO 字典数据 * @return R 是否保存成功 * @author manailin * @date 2021/6/10 17:00 */ @PostMapping("/dictionary/insertDictionItem") R insertDictionItem(@RequestBody BcDictionaryVO dictionaryVO); /** * 根据字典key查询字典项 * * @param key springcloud_k8s_panzhihuazhihuishequ/service_api/src/test/java/com/panzhihua/serviceapi/biz/impl/DictionData.java
New file @@ -0,0 +1,20 @@ package com.panzhihua.serviceapi.biz.impl; import lombok.Data; import java.util.ArrayList; import java.util.List; /** * @author manailin * @date 2021/6/11 16:27 */ @Data public class DictionData { private String id; private String level; private String name; private String title; private String value; private List<DictionData> children =new ArrayList<>(); } springcloud_k8s_panzhihuazhihuishequ/service_api/src/test/java/com/panzhihua/serviceapi/biz/impl/DictionValueData.java
New file @@ -0,0 +1,14 @@ package com.panzhihua.serviceapi.biz.impl; import lombok.Data; /** * @author manailin * @date 2021/6/11 16:27 */ @Data public class DictionValueData { private String dictCode; private String dictName; private Boolean enable; private String remark; } springcloud_k8s_panzhihuazhihuishequ/service_api/src/test/java/com/panzhihua/serviceapi/biz/impl/LcApiServiceImplTest.java
@@ -1,20 +1,28 @@ package com.panzhihua.serviceapi.biz.impl; import cn.hutool.core.util.RandomUtil; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import cn.hutool.http.HttpUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; import com.panzhihua.common.api.LcReturnObject; import com.panzhihua.common.enums.LocalEventToLangChaoEventTypeEnum; import com.panzhihua.common.model.dtos.api.EventFile; import com.panzhihua.common.model.dtos.api.EventInfo; import com.panzhihua.common.model.dtos.api.PartiesBody; import com.panzhihua.common.model.vos.BcDictionaryVO; import com.panzhihua.common.model.vos.DictionaryVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.grid.EventDetailsVO; import com.panzhihua.common.model.vos.grid.EventGridDataDetailsVO; import com.panzhihua.common.model.vos.grid.EventResourceVO; import com.panzhihua.common.service.api.ApiServiceFeign; import com.panzhihua.common.service.community.CommunityService; import com.panzhihua.common.service.grid.GridService; import com.panzhihua.common.utlis.DateUtils; import com.panzhihua.common.utlis.Snowflake; import com.panzhihua.serviceapi.ServiceApiApplication; import com.panzhihua.serviceapi.biz.LcApiService; import com.panzhihua.serviceapi.model.dto.GridMemberPageListDTO; @@ -41,6 +49,9 @@ @Resource private ApiServiceFeign ApiServiceFeign; @Autowired private CommunityService communityService; @Test void saveTokenFromRemoteRequest() { @@ -190,8 +201,54 @@ @Test void getGridMemberListByAreaIdOrName() { List<GridMemberPageListDTO> data = lcApiService.getGridMemberListByAreaIdOrName("jhRxqEQp",""); // log.info(data); List<GridMemberPageListDTO> data = lcApiService.getGridMemberListByAreaIdOrName("jhRxqEQp", ""); // log.info(data); } @Test void downloadDiction() { //获取字典全部大类 HttpRequest request = HttpUtil.createPost("http://171.217.92.33:53301/dict/getTypeTree"); request.cookie("SESSION=ZTQ1ZGRmZjktNWU1MC00ZjEyLWJhOGItNDdjZjlmODc1MjQy; UISESSIONMEMBER=C6FE0698B29832B18CBAEB71CCD3A2BA"); HttpResponse result = request.execute(); List<DictionData> remoteData = JSONArray.parseArray(result.body(), DictionData.class); remoteData.forEach(dictionData -> { DictionaryVO dictionaryVO = new DictionaryVO(); long parentzId = Snowflake.getId(); dictionaryVO.setId(parentzId); dictionaryVO.setDictName(dictionData.getName()); dictionaryVO.setDictKey(dictionData.getValue()); dictionaryVO.setLevelIndex(1); dictionaryVO.setParentId(0L); communityService.insertDiction(dictionaryVO); //获取二级字典项 dictionData.getChildren().forEach(children -> { DictionaryVO dictionaryChiVO = new DictionaryVO(); long erparentzId = Snowflake.getId(); dictionaryChiVO.setId(erparentzId); dictionaryChiVO.setDictName(children.getName()); dictionaryChiVO.setDictKey(children.getValue()); dictionaryChiVO.setLevelIndex(2); dictionaryChiVO.setParentId(dictionaryVO.getId()); communityService.insertDiction(dictionaryChiVO); //获取字典全部值 HttpRequest requestDictionValue = HttpUtil.createPost("http://171.217.92.33:53301/dict/getDictByTypeCodeAndParentId?typeCode=" + children.getId() + "&parentId=0"); requestDictionValue.cookie("SESSION=ZTQ1ZGRmZjktNWU1MC00ZjEyLWJhOGItNDdjZjlmODc1MjQy; UISESSIONMEMBER=C6FE0698B29832B18CBAEB71CCD3A2BA"); HttpResponse childResult = requestDictionValue.execute(); LcReturnObject remoteDataChild = JSONObject.parseObject(childResult.body(), LcReturnObject.class); List<DictionValueData> dictionValueData = JSONArray.parseArray(remoteDataChild.getData(), DictionValueData.class); dictionValueData.forEach(dictionValueData1 -> { BcDictionaryVO dictionaryItemVO = new BcDictionaryVO(); dictionaryItemVO.setDictName(dictionValueData1.getDictName()); dictionaryItemVO.setDictValue(dictionValueData1.getDictCode()); dictionaryItemVO.setCode(""); dictionaryItemVO.setDictId(erparentzId); communityService.insertDictionItem(dictionaryItemVO); }); // String pretty = JSONArray.toJSONString(dictionValueData, SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue, // SerializerFeature.WriteDateUseDateFormat); // log.info(pretty); }); }); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/DictionaryApi.java
@@ -2,12 +2,16 @@ import com.panzhihua.common.model.vos.BcDictionaryItemVO; import com.panzhihua.common.model.vos.BcDictionaryVO; import com.panzhihua.common.model.vos.DictionaryVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.service_community.service.BcDictionaryService; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; /** 字典 @@ -23,6 +27,34 @@ private BcDictionaryService bcDictionaryService; /** * 插入字典 * @param dictionaryVO 字典数据 * @return Boolean 是否保存成功 * @author manailin * @date 2021/6/10 17:00 */ @PostMapping("/insertDiction") R insertDiction(@RequestBody @Valid DictionaryVO dictionaryVO, @ApiIgnore BindingResult results){ if (results.hasErrors()) { return R.fail(results.getFieldError().getDefaultMessage()); } return bcDictionaryService.insertDiction(dictionaryVO); } /** * 插入字典项 * @param dictionaryVO 字典数据 * @return Boolean 是否保存成功 * @author manailin * @date 2021/6/10 17:00 */ @PostMapping("/insertDictionItem") R insertDictionItem(@RequestBody @Valid BcDictionaryVO dictionaryVO, @ApiIgnore BindingResult results){ if (results.hasErrors()) { return R.fail(results.getFieldError().getDefaultMessage()); } return bcDictionaryService.insertDictionItem(dictionaryVO); } /** * 根据字典key查询自典项 * @param key * @return springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/BcDictionaryDAO.java
New file @@ -0,0 +1,16 @@ package com.panzhihua.service_community.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.panzhihua.service_community.model.dos.BcDictionaryDO; import org.apache.ibatis.annotations.Mapper; /** * 字典 * * @author manailin * @since 2021-06-11 */ @Mapper public interface BcDictionaryDAO extends BaseMapper<BcDictionaryDO> { } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/BcDictionaryDO.java
New file @@ -0,0 +1,87 @@ package com.panzhihua.service_community.model.dos; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import java.io.Serializable; import java.util.Date; /** * <p> * 字典表 * </p> * * @author manailin * @since 2021-06-11 */ @Data @TableName("bc_dictionary") public class BcDictionaryDO implements Serializable { @TableId(value = "id", type = IdType.INPUT) private Long id; /** * 字典项名 */ private String dictName; /** * 字典项值 */ private String dictKey; /** * 父ID */ private Long parentId; /** * path 路径 */ private String PathId; /** * 层级 */ private Integer levelIndex; /** * 启用状态(0:停用,1:启用) */ private Boolean enabled; /** * 排序号 */ private Integer sort; /** * 备注说明 */ private String remarks; /** * 创建者 */ private Long createUser; /** * 创建时间 */ @TableField(fill = FieldFill.INSERT) private Date createDate; /** * 修改者 */ private Long modifyUser; /** * 修改时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) private Date modifyDate; /** * 删除标识(0:未删除,1:已删除) */ private Boolean deleteFlag; } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/BcDictionaryItemDO.java
@@ -1,8 +1,9 @@ package com.panzhihua.service_community.model.dos; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; import java.util.Date; @@ -21,6 +22,9 @@ private static final long serialVersionUID = -7900409296242392578L; @TableId(value = "id", type = IdType.INPUT) private Long id; /** * 字典项名 */ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/BcDictionaryService.java
@@ -3,7 +3,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.panzhihua.common.model.vos.BcDictionaryItemVO; import com.panzhihua.common.model.vos.BcDictionaryVO; import com.panzhihua.common.model.vos.DictionaryVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.service_community.model.dos.BcDictionaryDO; import com.panzhihua.service_community.model.dos.BcDictionaryItemDO; import java.util.List; @@ -16,18 +18,52 @@ /** * 根据字典key 查询字典项 * * @param key * @return */ R<List<BcDictionaryVO>> getDictionaryByKey(String key); /** * description 根据字典code查询自典项 * * @param dictId 字典类型 * @param code 入参参数 * @param code 入参参数 * @return BcDictionaryVO 字典 * @author manailin * @date 2021/6/10 17:00 */ BcDictionaryItemVO getByCode(String dictId, String code); /** * description 根据字典code查询自典项 * * @param dictName 字典类型 * @param dictKey 入参参数 * @param parentId 入参参数 * @return BcDictionaryVO 字典 * @author manailin * @date 2021/6/10 17:00 */ BcDictionaryDO getDictionaryByCode(String dictName, String dictKey, Long parentId); /** * 插入字典 * * @param dictionaryVO 字典数据 * @return R 是否保存成功 * @author manailin * @date 2021/6/10 17:00 */ R insertDiction(DictionaryVO dictionaryVO); /** * 插入字典项 * * @param dictionaryVO 字典数据 * @return R 是否保存成功 * @author manailin * @date 2021/6/10 17:00 */ R insertDictionItem(BcDictionaryVO dictionaryVO); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/BcDictionaryServiceImpl.java
@@ -4,14 +4,20 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.model.vos.BcDictionaryItemVO; import com.panzhihua.common.model.vos.BcDictionaryVO; import com.panzhihua.common.model.vos.DictionaryVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.utlis.CopyUtil; import com.panzhihua.service_community.dao.BcDictionaryDAO; import com.panzhihua.service_community.dao.BcDictionaryItemDAO; import com.panzhihua.service_community.model.dos.BcDictionaryDO; import com.panzhihua.service_community.model.dos.BcDictionaryItemDO; import com.panzhihua.service_community.service.BcDictionaryService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; /** @@ -21,6 +27,9 @@ @Service public class BcDictionaryServiceImpl extends ServiceImpl<BcDictionaryItemDAO, BcDictionaryItemDO> implements BcDictionaryService { @Resource private BcDictionaryDAO dictionaryDAO; @Override public R<List<BcDictionaryVO>> getDictionaryByKey(String key) { @@ -48,4 +57,61 @@ } return null; } @Override public BcDictionaryDO getDictionaryByCode(String dictName, String dictKey, Long parentId) { return dictionaryDAO.selectOne( new QueryWrapper<BcDictionaryDO>() .eq("dict_name", dictName) .eq("dict_key", dictKey) .eq("parent_id", parentId) ); } @Override @Transactional(rollbackFor = Exception.class) public R insertDiction(DictionaryVO dictionaryVO) { if (getDictionaryByCode(dictionaryVO.getDictName(), dictionaryVO.getDictKey(), dictionaryVO.getParentId()) != null) { return R.fail("数据已经存在!"); } BcDictionaryDO dictionaryDO = new BcDictionaryDO(); dictionaryDO.setId(dictionaryVO.getId()); dictionaryDO.setDictName(dictionaryVO.getDictName()); dictionaryDO.setDictKey(dictionaryVO.getDictKey()); dictionaryDO.setParentId(dictionaryVO.getParentId()); dictionaryDO.setPathId(dictionaryVO.getParentId().toString().concat(",").concat(dictionaryVO.getId().toString())); dictionaryDO.setLevelIndex(dictionaryVO.getLevelIndex()); dictionaryDO.setEnabled(true); dictionaryDO.setSort(0); dictionaryDO.setRemarks(""); dictionaryDO.setDeleteFlag(false); dictionaryDO.setCreateUser(1L); dictionaryDO.setModifyUser(1L); int flag = dictionaryDAO.insert(dictionaryDO); return flag > 1 ? R.ok() : R.fail(); } @Override @Transactional(rollbackFor = Exception.class) public R insertDictionItem(BcDictionaryVO dictionaryVO) { if (getByCode(dictionaryVO.getDictId().toString(), dictionaryVO.getDictValue()) != null) { return R.fail("数据已经存在!"); } BcDictionaryItemDO dictionaryItemDO = new BcDictionaryItemDO(); dictionaryItemDO.setDictItemName(dictionaryVO.getDictName()); dictionaryItemDO.setDictValue(dictionaryVO.getDictValue()); dictionaryItemDO.setMnemonicCode(dictionaryVO.getCode()); dictionaryItemDO.setDictId(dictionaryVO.getDictId()); dictionaryItemDO.setEnabled(true); dictionaryItemDO.setOrgPathId(0L); dictionaryItemDO.setSort(0); dictionaryItemDO.setRemarks(""); dictionaryItemDO.setCreateUser(1L); dictionaryItemDO.setCreateDate(new Date()); dictionaryItemDO.setModifyUser(1L); dictionaryItemDO.setModifyDate(new Date()); dictionaryItemDO.setDeleteFlag(false); int flag = baseMapper.insert(dictionaryItemDO); return flag > 1 ? R.ok() : R.fail(); } }