| | |
| | | package com.doumee.biz.system.impl; |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.doumee.biz.system.SystemDictDataBiz; |
| | | 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.core.utils.HttpsUtil; |
| | | import com.doumee.dao.business.vo.UnitCodeVo; |
| | | import com.doumee.dao.system.model.SystemDict; |
| | | import com.doumee.dao.system.model.SystemDictData; |
| | | import com.doumee.service.system.SystemDictDataService; |
| | | import com.doumee.service.system.SystemDictService; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.apache.shiro.mgt.DefaultSecurityManager; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Optional; |
| | | import java.util.*; |
| | | |
| | | @Service |
| | | public class SystemDictDataBizImpl implements SystemDictDataBiz { |
| | |
| | | public Integer create(SystemDictData systemDictData) { |
| | | SystemDictData queryDto = new SystemDictData(); |
| | | queryDto.setDictId(systemDictData.getDictId()); |
| | | queryDto.setCode(systemDictData.getCode()); |
| | | queryDto.setLabel(systemDictData.getLabel()); |
| | | queryDto.setDeleted(Boolean.FALSE); |
| | | SystemDictData dictData = systemDictDataService.findOne(queryDto); |
| | | if (dictData != null) { |
| | | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "数据值已存在"); |
| | | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "数据标签已存在"); |
| | | } |
| | | return systemDictDataService.create(systemDictData); |
| | | } |
| | |
| | | public void updateById(SystemDictData systemDictData) { |
| | | SystemDictData queryDto = new SystemDictData(); |
| | | queryDto.setDictId(systemDictData.getDictId()); |
| | | queryDto.setCode(systemDictData.getLabel()); |
| | | queryDto.setLabel(systemDictData.getLabel()); |
| | | queryDto.setDeleted(Boolean.FALSE); |
| | | SystemDictData dictData = systemDictDataService.findOne(queryDto); |
| | | if (dictData != null && !dictData.getId().equals(systemDictData.getId())) { |
| | | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "数据值已存在"); |
| | | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "数据标签已存在"); |
| | | } |
| | | systemDictDataService.updateById(systemDictData); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public String getUnitName(String unitCode, List<UnitCodeVo> unitCodeVoList) { |
| | | if(unitCodeVoList!=null){ |
| | | for(UnitCodeVo c :unitCodeVoList){ |
| | | if(StringUtils.equals(c.getCode(),unitCode)){ |
| | | return c.getName(); |
| | | } |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | @Override |
| | | public void updateByIdNew(SystemDictData systemDictData) { |
| | | systemDictDataService.updateById(systemDictData); |
| | | } |
| | | @Override |
| | | public List<UnitCodeVo> getUnitList(){ |
| | | List<UnitCodeVo> list = new ArrayList<>(); |
| | | try { |
| | | String temp = queryByCode(Constants.ZBOM,Constants.UNIT_CODE).getCode(); |
| | | JSONArray array = JSONObject.parseArray(temp); |
| | | if(array!=null ){ |
| | | for (int i = 0; i < array.size(); i++) { |
| | | list.add(JSONObject.toJavaObject(array.getJSONObject(i),UnitCodeVo.class)); |
| | | } |
| | | } |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | @Override |
| | |
| | | String targetPath = list.stream().filter(s -> s.getLabel().equals(targetCode)).findFirst().map(s -> s.getCode()).orElse(""); |
| | | return resourcePath+targetPath; |
| | | } |
| | | @Override |
| | | public void updWxMiniToken() { |
| | | updWxMiniTokenDo(Constants.WX_APPID_CUSTOMER,Constants.WX_SECRET_CUSTOMER,Constants.WX_TOKEN_CUSTOMER); |
| | | updWxMiniTokenDo(Constants.WX_APPID_PERSONNEL,Constants.WX_SECRET_PERSONNEL,Constants.WX_TOKEN_PERSONNEL); |
| | | |
| | | } |
| | | public void updWxMiniTokenDo(String appIdKey,String secretKey,String tokenKey) { |
| | | DefaultSecurityManager securityManager = new DefaultSecurityManager(); |
| | | SecurityUtils.setSecurityManager(securityManager); |
| | | |
| | | String appId = queryByCode(Constants.WX_MINI_CONFIG,appIdKey).getCode(); |
| | | String appSecret = queryByCode(Constants.WX_MINI_CONFIG,secretKey).getCode(); |
| | | SystemDictData systemDictData = this.queryByCode(Constants.WX_MINI_CONFIG,tokenKey); |
| | | //生成微信token |
| | | String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+appId+"&secret="+appSecret; |
| | | String response = HttpsUtil.sendGet(url); |
| | | JSONObject json = JSONObject.parseObject(response); |
| | | systemDictData.setCode(json.getString("access_token")); |
| | | systemDictData.setUpdateTime(new Date()); |
| | | systemDictDataService.updateById(systemDictData); |
| | | } |
| | | |
| | | |
| | | } |