From b1161ad21938f1fde021249b9c3dff6f884647b8 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 17 十月 2023 19:02:37 +0800 Subject: [PATCH] 首页主数据统计功能接口实现 --- Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java | 7 + Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/MdmCount.java | 12 + Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java | 18 ++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IMdmCountService.java | 4 Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MdmCountConfigMapper.xml | 7 + Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java | 3 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmCountServiceImpl.java | 91 +++++++++++- Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java | 6 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MdmCountConfigServiceImpl.java | 55 +++++++ Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java | 19 ++ Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/MdmCountConfigMapper.java | 12 + Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmCountController.java | 39 +++++ Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java | 10 + Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml | 5 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMdmCountConfigService.java | 28 ++++ Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/entity/MdmCountConfig.java | 42 ++++++ Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java | 16 ++ 17 files changed, 360 insertions(+), 14 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/MdmCount.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/MdmCount.java index 2754020..fef494b 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/MdmCount.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/MdmCount.java @@ -1,6 +1,8 @@ package com.vci.ubcs.code.entity; +import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; import java.io.Serializable; @@ -10,6 +12,8 @@ * @date 2023/10/16 16:04 */ @Data +@AllArgsConstructor +@NoArgsConstructor public class MdmCount implements Serializable { /** @@ -38,8 +42,14 @@ private String icon; /** - * 鏄惁榛樿鏄剧ず + * 鏄惁榛樿鏄剧ず:0榛樿涓嶆樉绀猴紝1榛樿鏄剧ず */ private Integer isDefault; + public MdmCount(String menuName, String menuRoute, String icon) { + this.menuName = menuName; + this.menuRoute = menuRoute; + this.icon = icon; + } + } diff --git a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/entity/MdmCountConfig.java b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/entity/MdmCountConfig.java new file mode 100644 index 0000000..48c11fc --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/entity/MdmCountConfig.java @@ -0,0 +1,42 @@ +package com.vci.ubcs.system.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.extern.java.Log; + +import java.io.Serializable; +import java.util.Date; + +/** + * 涓绘暟鎹粺璁″璞� + * @author ludc + * @date 2023/10/17 14:46 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName("PL_SYS_MDMCOUNT_CONFIG") +public class MdmCountConfig implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 涓婚敭 + */ + @TableId + private Long id; + + /** + * 鐢ㄦ埛id + */ + private Long userId; + + /** + * 涓绘暟鎹悕绉� + */ + private String mdmName; + +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java index 5e646a4..78d93a2 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java +++ b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java @@ -42,6 +42,8 @@ String API_PREFIX = "/client"; String MENU = API_PREFIX + "/menu"; + String MENU_BY_CODES = API_PREFIX + "/menu-by-codes"; + String MDM_COUNT_CONFIG = API_PREFIX + "/mdm-count-config"; String MENU_BUTTON = API_PREFIX + "/menu-button"; String DEPT = API_PREFIX + "/dept"; String TREE = API_PREFIX + "/tree"; @@ -87,6 +89,22 @@ R<Menu> getMenu(@RequestParam("id") Long id); /** + * 鏍规嵁Code鑾峰彇鑿滃崟淇℃伅 + * @param codes + * @return + */ + @GetMapping(MENU_BY_CODES) + R<List<Menu>> getMenuByCodes(@RequestParam("codes") List<String> codes); + + /** + * 鑾峰彇鐢ㄩ厤缃殑涓绘暟鎹粺璁� + * @param userId + * @return + */ + @GetMapping(MDM_COUNT_CONFIG) + R<MdmCountConfig> getMdmCountConfig (@RequestParam("userId") String userId); + + /** * 鑾峰彇鑿滃崟涓嬮潰鐨勬寜閽� * * @param btmType 涓氬姟绫诲瀷 diff --git a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java index 742f018..2f24bdf 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java +++ b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java @@ -38,6 +38,16 @@ } @Override + public R<List<Menu>> getMenuByCodes(List<String> codes) { + return R.fail("鑾峰彇鏁版嵁澶辫触"); + } + + @Override + public R<MdmCountConfig> getMdmCountConfig(String userId) { + return R.fail("鑾峰彇鏁版嵁澶辫触"); + } + + @Override public R<List<Menu>> getMenuButtonByType(String btmType) { return R.fail("鑾峰彇鏁版嵁澶辫触"); } diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java index 4e65f82..b79d2c4 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java @@ -868,7 +868,11 @@ } public static String getTableName(String btmname) { - return (VciQueryWrapperForDO.USER_TABLE_COMPATIBILITY ? "vcibt_" : "pl_code_") + btmname.trim().toLowerCase(); + return (VciQueryWrapperForDO.USER_TABLE_COMPATIBILITY ? "PLBT_CODE" : "PL_CODE_") + btmname.trim().toLowerCase(); + } + + public static String getTableName(String btmname,Boolean isMdmTable) { + return (isMdmTable ? "PLBT_CODE_" : "PL_CODE_") + btmname.trim().toLowerCase(); } public static Field getTsField(Class c) { diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmCountController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmCountController.java new file mode 100644 index 0000000..96497ad --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmCountController.java @@ -0,0 +1,39 @@ +package com.vci.ubcs.code.controller; + +import com.vci.ubcs.code.entity.MdmCount; +import com.vci.ubcs.code.service.IMdmCountService; +import com.vci.ubcs.code.service.MdmProductCodeService; +import io.swagger.annotations.Api; +import lombok.AllArgsConstructor; +import org.apache.ibatis.annotations.Param; +import org.springblade.core.log.exception.ServiceException; +import org.springblade.core.tool.api.R; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @author ludc + * @date 2023/10/16 22:57 + */ +@RestController +@AllArgsConstructor +@RequestMapping("/mdmCount") +@Api(value = "棣栭〉-涓绘暟鎹�绘暟缁熻", tags = "棣栭〉-涓绘暟鎹�绘暟缁熻鎺ュ彛") +public class MdmCountController { + + private final IMdmCountService mdmCountService; + + /** + * 鏌ヨ涓绘暟鎹�绘暟 + * @param userId + * @return + */ + @GetMapping("/getMdmCounts") + public R<List<MdmCount>> getMdmCounts(@Param("userId") String userId)throws ServiceException { + return R.data(mdmCountService.getMdmCounts(userId)); + } + +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java index eb99034..86c4727 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java @@ -22,6 +22,8 @@ int queryCountBySql(@Param("inSql") String inSql); + String queryCountStringBySql(@Param("inSql") String inSql); + List<Map> selectBySql(@Param("inSql") String inSql); List<Map<String,String>> queryByOnlySqlForMap(@Param("inSql") String inSql); @@ -34,6 +36,7 @@ * @return 鎻掑叆鎴愬姛鐨勬潯鏁� */ Integer insertByBaseModel(String tableName,Map<String,String> columnMap,List<Map<String,String>> mapList); + /** * 浼犲叆琛ㄥ悕锛宮ap锛宭ist<map>瀹屾垚鎵归噺鏇存柊鎿嶄綔 * @param tableName 琛ㄥ悕 diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IMdmCountService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IMdmCountService.java index 5d250e3..04785d5 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IMdmCountService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IMdmCountService.java @@ -1,6 +1,7 @@ package com.vci.ubcs.code.service; import com.vci.ubcs.code.entity.MdmCount; +import org.springblade.core.log.exception.ServiceException; import java.util.List; @@ -15,7 +16,6 @@ * 缁熻涓绘暟鎹�绘暟 * @return */ - List<MdmCount> getMdmCounts(); - + List<MdmCount> getMdmCounts(String userId) throws ServiceException; } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmCountServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmCountServiceImpl.java index 92c6569..d877d1b 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmCountServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmCountServiceImpl.java @@ -4,15 +4,26 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.vci.ubcs.code.entity.CodeClassify; import com.vci.ubcs.code.entity.MdmCount; +import com.vci.ubcs.code.mapper.CommonsMapper; import com.vci.ubcs.code.service.ICodeClassifyService; import com.vci.ubcs.code.service.IMdmCountService; +import com.vci.ubcs.system.entity.MdmCountConfig; +import com.vci.ubcs.system.entity.Menu; import com.vci.ubcs.system.feign.ISysClient; import lombok.extern.slf4j.Slf4j; +import org.springblade.core.log.exception.ServiceException; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; -import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; + +import static com.vci.ubcs.starter.web.util.VciBaseUtil.getTableName; /** * 涓绘暟鎹粺璁℃湇鍔� @@ -32,18 +43,80 @@ @Resource private ICodeClassifyService codeClassifyService; + @Resource + private CommonsMapper commonsMapper; + + /** + * 鏌ヨ涓绘暟鎹�绘暟 + * @param userId + * @return + * @throws ServiceException + */ @Override - public List<MdmCount> getMdmCounts() { - // 1銆侀渶瑕佸厛鏌ヨ鍑哄垎绫讳笅椤剁骇鑺傜偣鏈夊摢浜涗富鏁版嵁,鎷垮埌涓氬姟绫诲瀷鍚嶇О + public List<MdmCount> getMdmCounts(String userId) throws ServiceException{ + /** 1銆佸厛鏌ヨ鍑哄悇鍒嗙被椤跺眰鑺傜偣鏈夊摢浜涗富鏁版嵁,鎷垮埌涓氬姟绫诲瀷鍚嶇О锛岀浉褰撲簬鎷垮埌涓绘暟鎹〃鍚� + 椤跺眰鑺傜偣鐨刡tmtypeid杩橀渶瑕佺敤浣滄煡璇㈡潯浠跺搴旂殑鑿滃崟琛ㄧ殑code瀛楁 + 浣嗘槸涓轰簡鍑忓皯鏌ヨ娆℃暟锛屽氨闇�鍦ㄦ煡璇㈡槸浣跨敤btmtypeid瀛楁杩涜鎺掑簭 + */ LambdaQueryWrapper<CodeClassify> wrapper = Wrappers.<CodeClassify>query() .lambda() - .isNull(CodeClassify::getParentCodeClassifyOid).select(CodeClassify::getBtmTypeId); - Map<String, Object> map = codeClassifyService.getMap(wrapper); - // 2銆佺劧鍚庨渶瑕佹煡璇㈠嚭鑿滃崟璺敱鍜屽浘鏍� + .isNull(CodeClassify::getParentCodeClassifyOid).select(CodeClassify::getBtmTypeId) + .orderByAsc(CodeClassify::getBtmTypeId); + List<CodeClassify> codeClassifies = codeClassifyService.list(wrapper); + List<String> btyTypeIds = codeClassifies.stream().map(CodeClassify::getBtmTypeId).collect(Collectors.toList()); + // 2銆佺劧鍚巉eign璋冪敤闇�瑕佹煡璇㈠嚭鑿滃崟璺敱鍜屽浘鏍� + R<List<Menu>> menuList = sysClient.getMenuByCodes(btyTypeIds); + if(!menuList.isSuccess() && menuList.getData().isEmpty()){ + throw new ServiceException("鑾峰彇涓绘暟鎹粺璁℃椂锛屼富鏁版嵁鑿滃崟鏌ヨ涓虹┖锛屽師鍥狅細"+menuList.getMsg()); + } + List<MdmCount> mdmCountList = new ArrayList<>(); + // 3銆佹煡璇㈠綋鍓嶇櫥褰曠殑鐢ㄦ埛閰嶇疆浜嗛偅浜涗富鏁版嵁缁熻椤� + R<MdmCountConfig> mdmCountConfig = sysClient.getMdmCountConfig(userId); + if(!mdmCountConfig.isSuccess()){ + throw new ServiceException("鑾峰彇涓绘暟鎹粺璁¢」閰嶇疆鏃跺嚭鐜伴敊璇紝鍘熷洜锛�"+mdmCountConfig.getMsg()); + } + List<String> mdmNames = null; + if(Func.isBlank(mdmCountConfig.getData().getMdmName())){ + AtomicInteger count = new AtomicInteger(); + mdmNames = menuList.getData().stream().map(item->{ + if(count.getAndIncrement() <5){ + return item.getCode(); + } + return null; + }).collect(Collectors.toList()); + }else { + mdmNames = Arrays.stream(mdmCountConfig.getData().getMdmName().split(",")).collect(Collectors.toList()); + } + final List<String> mdmNamesFinal = mdmNames; + // 4銆佺劧鍚巗et杩涘璞′腑 + menuList.getData().stream().forEach(item->{ + Integer isDefault = mdmNamesFinal.contains(item.getCode()) ? 1:0; + MdmCount mdmCount = new MdmCount( + item.getName(), + getCountByTableName(item.getCode()), /*鏌ヨ涓绘暟鎹�绘暟*/ + item.getPath(), + item.getSource(), + isDefault + ); + mdmCountList.add(mdmCount); + }); + return mdmCountList; + } - // 3銆佺劧鍚庤缃繘 - - return null; + /** + * 鎷兼帴琛ㄥ悕鏌ヨ鎬绘暟 + * @param tableName + * @return + */ + private String getCountByTableName(String tableName){ + String sql = "SELECT COUNT(*) FROM " + getTableName(tableName,true) +";"; + String count = "0"; + try { + count = commonsMapper.queryCountStringBySql(sql); + }catch (Exception e){ + throw new ServiceException("涓绘暟鎹�绘暟鏌ヨ澶辫触锛屽師鍥狅細"+e.getCause()); + } + return count; } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml index 47f27e2..eb6db99 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml @@ -13,7 +13,6 @@ and w.LASTV = '1' </select> - <select id="selectById" resultType="java.lang.String"> ${inSql} </select> @@ -26,6 +25,10 @@ ${inSql} </select> + <select id="queryCountStringBySql" resultType="java.lang.String"> + ${inSql} + </select> + <select id="queryByOnlySqlForMap" resultType="java.util.Map"> ${inSql} </select> diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java index 2aafe53..1816a69 100644 --- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java @@ -59,11 +59,25 @@ private final ICombinationService combinationService; + private final IMdmCountConfigService mdmCountConfigService; + @Override @GetMapping(MENU) public R<Menu> getMenu(Long id) { return R.data(menuService.getById(id)); } + + /** + * 鏍规嵁code鏌ヨ鑿滃崟淇℃伅 + * @param codes + * @return + */ + @Override + @GetMapping(MENU_BY_CODES) + public R<List<Menu>> getMenuByCodes(List<String> codes) { + return R.data(menuService.getMenuByCodes(codes)); + } + @Override @GetMapping(MENU_BUTTON) public R<List<Menu>> getMenuButtonByType(String btmType) { @@ -241,5 +255,10 @@ return R.data(combinationService.getRegexList(combinationIds)); } + @Override + @GetMapping(MDM_COUNT_CONFIG) + public R<MdmCountConfig> getMdmCountConfig (String userId) { + return R.data(mdmCountConfigService.getMdmCountConfig(userId)); + } } diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/MdmCountConfigMapper.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/MdmCountConfigMapper.java new file mode 100644 index 0000000..516b52b --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/MdmCountConfigMapper.java @@ -0,0 +1,12 @@ +package com.vci.ubcs.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.vci.ubcs.system.entity.MdmCountConfig; + +/** + * @author ludc + * @date 2023/10/17 14:53 + */ +public interface MdmCountConfigMapper extends BaseMapper<MdmCountConfig> { + +} diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMdmCountConfigService.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMdmCountConfigService.java new file mode 100644 index 0000000..1e5ffd6 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMdmCountConfigService.java @@ -0,0 +1,28 @@ +package com.vci.ubcs.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.vci.ubcs.system.entity.MdmCountConfig; +import org.springblade.core.tool.api.R; + +/** + * 涓绘暟鎹粺璁¢椤甸厤缃湇鍔� + * @author ludc + * @date 2023/10/17 14:44 + */ +public interface IMdmCountConfigService extends IService<MdmCountConfig> { + + /** + * 淇濆瓨鐢ㄦ埛閰嶇疆鐨勪富鏁版嵁缁熻椤� + * @param mdmCountConfig + * @return + */ + boolean saveMdmCountConfig(MdmCountConfig mdmCountConfig); + + /** + * 鑾峰彇褰撳墠鐢ㄦ埛鏈夐偅浜涗富鏁版嵁缁熻閰嶇疆鍦ㄩ椤� + * @param userId + * @return + */ + MdmCountConfig getMdmCountConfig(String userId); + +} diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java index 8c799fb..c4d6ba8 100644 --- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java @@ -175,6 +175,13 @@ List<Menu> getMenuButtonByType(String btmType); /** + * 鏍规嵁code鏌ヨ鑿滃崟淇℃伅 + * @param codes + * @return + */ + List<Menu> getMenuByCodes(List<String> codes); + + /** * 瀵筀eepAlive鍊艰浆鎹㈡垚甯冨皵绫诲瀷杩涜灏佽 * * @param childMenu diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MdmCountConfigServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MdmCountConfigServiceImpl.java new file mode 100644 index 0000000..cf22c3e --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MdmCountConfigServiceImpl.java @@ -0,0 +1,55 @@ +package com.vci.ubcs.system.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.vci.ubcs.system.entity.MdmCountConfig; +import com.vci.ubcs.system.mapper.MdmCountConfigMapper; +import com.vci.ubcs.system.service.IMdmCountConfigService; +import org.springblade.core.log.exception.ServiceException; +import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.core.tool.utils.Func; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.sql.Wrapper; +import java.util.Date; + +/** + * 涓绘暟鎹粺璁¢椤甸厤缃湇鍔� + * @author ludc + * @date 2023/10/17 14:45 + */ +@Service +public class MdmCountConfigServiceImpl extends ServiceImpl<MdmCountConfigMapper, MdmCountConfig> implements IMdmCountConfigService { + + @Override + public boolean saveMdmCountConfig(MdmCountConfig mdmCountConfig) throws ServiceException{ + if(Func.isEmpty(mdmCountConfig) || Func.isBlank(mdmCountConfig.getUserId().toString())){ + throw new ServiceException("涓绘暟鎹粺璁¢厤缃繚瀛樻椂缂哄皯蹇呭~鍙傛暟!"); + } + boolean res = false; + try { + MdmCountConfig mdmCountConfigDB = getMdmCountConfig(mdmCountConfig.getUserId().toString()); + //鏂板 + if(Func.isBlank(mdmCountConfig.getId().toString())){ + Func.copy(mdmCountConfig,mdmCountConfigDB); + }else { + //淇敼 + mdmCountConfigDB.setMdmName(mdmCountConfig.getMdmName()); + } + res = this.saveOrUpdate(mdmCountConfigDB); + }catch (Exception e){ + throw new ServiceException("閰嶇疆淇濆瓨澶辫触,鍘熷洜锛�"+e.getCause()); + } + return res; + } + + @Override + public MdmCountConfig getMdmCountConfig(String userId) { + LambdaQueryWrapper<MdmCountConfig> wrapper = Wrappers.<MdmCountConfig>query(). + lambda().eq(MdmCountConfig::getUserId, userId); + return this.getOne(wrapper); + } + +} diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java index 344a9ef..cc258f7 100644 --- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java @@ -312,6 +312,22 @@ } /** + * 鏍规嵁code鏌ヨ鑿滃崟淇℃伅 + * @param codes + * @return + */ + @Override + public List<Menu> getMenuByCodes(List<String> codes) { + LambdaQueryWrapper<Menu> wrapper = Wrappers.<Menu>query() + .lambda() + .in(Menu::getCode, codes) + .eq(Menu::getIsDeleted,0) /*鏈鍒犻櫎*/ + .eq(Menu::getCategory,1) /*鑿滃崟绫诲瀷涓嶈兘涓烘寜閽�*/ + .orderByAsc(Menu::getCode); /*鏍规嵁code鎺掑簭涓巆lassify鐨刡tmtypeid瀵瑰簲*/ + return this.list(wrapper); + } + + /** * 瀵筀eepAlive鍊艰浆鎹㈡垚甯冨皵绫诲瀷杩涜灏佽 * * @param childMenu diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MdmCountConfigMapper.xml b/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MdmCountConfigMapper.xml new file mode 100644 index 0000000..58b17ca --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MdmCountConfigMapper.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.vci.ubcs.system.mapper.MdmCountConfigMapper"> + + + +</mapper> -- Gitblit v1.9.3