111
k94314517
2025-02-28 04dba6a17f836b5fbdf0eedff8a129c6785fd8a2
server/services/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java
@@ -1,10 +1,14 @@
package com.doumee.service.system.impl;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.dao.business.web.request.LocaltionDTO;
import com.doumee.dao.business.web.response.MiniProgrammeDTO;
import com.doumee.dao.system.SystemDictMapper;
import com.doumee.dao.system.model.SystemDict;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@@ -24,6 +28,7 @@
import org.springframework.util.CollectionUtils;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@@ -39,6 +44,8 @@
    @Autowired
    private SystemDictDataMapper systemDictDataMapper;
    @Autowired
    private SystemDictMapper systemDictMapper;
    @Override
    public String create(SystemDictData systemDictData) {
@@ -85,7 +92,7 @@
    @Override
    public SystemDictData findOne(SystemDictData systemDictData) {
        Wrapper<SystemDictData> wrapper = new QueryWrapper<>(systemDictData);
        Wrapper<SystemDictData> wrapper = new QueryWrapper<>(systemDictData).last(" limit 1");
        return systemDictDataMapper.selectOne(wrapper );
    }
@@ -110,7 +117,6 @@
    @Override
    public MiniProgrammeDTO getMiniProgrammeDTO() {
        try {
            String jasonStr = MiniProgrammeDTO.toUnderlineJSONString(new MiniProgrammeDTO());
            JSONObject parse = (JSONObject) JSONObject.parse(jasonStr);
            List<String> collect = parse.entrySet().stream().map(s -> s.getKey().toUpperCase()).collect(Collectors.toList());
@@ -136,16 +142,25 @@
    @Override
    public void updateMiniProgrammeDTO(MiniProgrammeDTO miniProgrammeDTO) {
        try {
            if(miniProgrammeDTO.getParkLatLngList()!=null){
                try {
                    TypeReference typeReference =  new TypeReference<List<LocaltionDTO>>(){};
                    List<LocaltionDTO> response = JSONObject.parseObject(miniProgrammeDTO.getParkLatLngList(), typeReference.getType());
                }catch (Exception e){
                    e.printStackTrace();
                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"运营区域参数解析有误!");
                }
            }
            String jasonStr = MiniProgrammeDTO.toUnderlineJSONString(miniProgrammeDTO);
            JSONObject parse = (JSONObject) JSONObject.parse(jasonStr);
            parse.entrySet().forEach(s->{
                if (StringUtils.isEmpty((String)s.getValue())){
//                if (StringUtils.isNotBlank((String)s.getValue())){
                    UpdateWrapper<SystemDictData> wrapper = new UpdateWrapper<>();
                    wrapper.lambda()
                            .eq(SystemDictData::getLabel,s.getKey().toUpperCase())
                            .set(SystemDictData::getCode,s.getValue());
                    systemDictDataMapper.update(null,wrapper);
                }
//                }
            });
        } catch (JsonProcessingException e) {
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"字典值解析有误");