jiangping
2025-02-18 9d67b4462bf494a0b25c1b40be8198f71666131e
server/services/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java
@@ -1,9 +1,11 @@
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;
@@ -26,6 +28,7 @@
import org.springframework.util.CollectionUtils;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@@ -89,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 );
    }
@@ -139,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.isNotBlank((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(),"字典值解析有误");