lishuai
2023-12-22 8b5464b9d4938d9c4fac9739eacfc0eb2f830a72
server/dmvisit_service/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.utils.Constants;
import com.doumee.dao.admin.request.LaborConfigDTO;
import com.doumee.dao.admin.request.VisitConfigDTO;
@@ -21,14 +22,19 @@
import com.doumee.service.system.SystemDictDataService;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import static net.sf.jsqlparser.parser.feature.Feature.set;
import static net.sf.jsqlparser.parser.feature.Feature.update;
/**
 * 字典数据Service实现
@@ -160,7 +166,6 @@
    @Override
    public void updateVisitConfig(VisitConfigDTO miniProgrammeDTO) {
        try {
            QueryWrapper<SystemDict> systemDictQuery = new QueryWrapper<>();
            systemDictQuery.lambda()
@@ -171,18 +176,28 @@
            if (Objects.isNull(systemDict)){
                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"字典不存在");
            }
            String jasonStr = Constants.toUnderlineJSONString(miniProgrammeDTO);
            JSONObject parse = (JSONObject) JSONObject.parse(jasonStr);
            parse.entrySet().forEach(s->{
                UpdateWrapper<SystemDictData> wrapper = new UpdateWrapper<>();
                wrapper.lambda()
                        .eq(SystemDictData::getDictId,systemDict.getId())
                        .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(),"字典值解析有误");
            QuerySystemDictDataDTO dictData = new QuerySystemDictDataDTO();
            dictData.setDictId((systemDict.getId()));
            List<SystemDictDataListVO> systemDictDataListVOS = systemDictDataMapper.selectManageList(dictData);
            if(null != systemDictDataListVOS && systemDictDataListVOS.size() > 0) {
                LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
                SystemDictData systemDictData = new SystemDictData();
                systemDictData.setDictId(systemDict.getId());
                systemDictData.setCode(JSONObject.toJSONString(miniProgrammeDTO.getVisitConfigParam()));
                systemDictData.setDisabled(true);
                systemDictData.setSort(Constants.ZERO);
                systemDictData.setLabel(miniProgrammeDTO.getTheme());
                systemDictData.setRemark(miniProgrammeDTO.getDescription());
                systemDictData.setCreateTime(new Date());
                systemDictData.setUpdateTime(new Date());
                systemDictData.setCreateUser(loginUserInfo.getId());
                systemDictData.setUpdateUser(loginUserInfo.getId());
                if(null == systemDictDataListVOS.get(0).getId()) {
                    systemDictDataMapper.insert(systemDictData);
                }else {
                    systemDictData.setId(systemDictDataListVOS.get(0).getId());
                    systemDictDataMapper.updateById(systemDictData);
                }
        }
    }