From 2b53e9d86a358dcf2553e810cab46cba4aee161e Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期五, 17 九月 2021 11:12:43 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev --- ruoyi-common/src/main/java/com/ruoyi/common/annotation/Log.java | 5 + ruoyi-ui/src/components/DictTag/index.vue | 103 +++++++++++++------------ ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java | 20 ++-- ruoyi-generator/src/main/resources/vm/java/mapper.java.vm | 66 ++++++++++++++++ 4 files changed, 134 insertions(+), 60 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Log.java b/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Log.java index eb05dc7..ca02c6c 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Log.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Log.java @@ -38,4 +38,9 @@ * 鏄惁淇濆瓨璇锋眰鐨勫弬鏁� */ public boolean isSaveRequestData() default true; + + /** + * 鏄惁淇濆瓨鍝嶅簲鐨勫弬鏁� + */ + public boolean isSaveResponseData() default true; } diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java index e8c47a3..78a7b3a 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java @@ -33,7 +33,7 @@ /** * 鎿嶄綔鏃ュ織璁板綍澶勭悊 - * + * * @author ruoyi */ @Aspect @@ -61,7 +61,7 @@ /** * 鎷︽埅寮傚父鎿嶄綔 - * + * * @param joinPoint 鍒囩偣 * @param e 寮傚父 */ @@ -91,9 +91,6 @@ // 璇锋眰鐨勫湴鍧� String ip = ServletUtils.getClientIP(); operLog.setOperIp(ip); - // 杩斿洖鍙傛暟 - operLog.setJsonResult(JsonUtils.toJsonString(jsonResult)); - operLog.setOperUrl(ServletUtils.getRequest().getRequestURI()); if (loginUser != null) { @@ -112,7 +109,7 @@ // 璁剧疆璇锋眰鏂瑰紡 operLog.setRequestMethod(ServletUtils.getRequest().getMethod()); // 澶勭悊璁剧疆娉ㄨВ涓婄殑鍙傛暟 - getControllerMethodDescription(joinPoint, controllerLog, operLog); + getControllerMethodDescription(joinPoint, controllerLog, operLog, jsonResult); // 淇濆瓨鏁版嵁搴� SpringUtils.getBean(AsyncService.class).recordOper(operLog); } @@ -127,12 +124,12 @@ /** * 鑾峰彇娉ㄨВ涓鏂规硶鐨勬弿杩颁俊鎭� 鐢ㄤ簬Controller灞傛敞瑙� - * + * * @param log 鏃ュ織 * @param operLog 鎿嶄綔鏃ュ織 * @throws Exception */ - public void getControllerMethodDescription(JoinPoint joinPoint, Log log, SysOperLog operLog) throws Exception + public void getControllerMethodDescription(JoinPoint joinPoint, Log log, SysOperLog operLog, Object jsonResult) throws Exception { // 璁剧疆action鍔ㄤ綔 operLog.setBusinessType(log.businessType().ordinal()); @@ -146,11 +143,16 @@ // 鑾峰彇鍙傛暟鐨勪俊鎭紝浼犲叆鍒版暟鎹簱涓�� setRequestValue(joinPoint, operLog); } + // 鏄惁闇�瑕佷繚瀛榬esponse锛屽弬鏁板拰鍊� + if (log.isSaveResponseData() && StringUtils.isNotNull(jsonResult)) + { + operLog.setJsonResult(StringUtils.substring(JsonUtils.toJsonString(jsonResult), 0, 2000)); + } } /** * 鑾峰彇璇锋眰鐨勫弬鏁帮紝鏀惧埌log涓� - * + * * @param operLog 鎿嶄綔鏃ュ織 * @throws Exception 寮傚父 */ diff --git a/ruoyi-generator/src/main/resources/vm/java/mapper.java.vm b/ruoyi-generator/src/main/resources/vm/java/mapper.java.vm index 6f8ff7b..aa1e27d 100644 --- a/ruoyi-generator/src/main/resources/vm/java/mapper.java.vm +++ b/ruoyi-generator/src/main/resources/vm/java/mapper.java.vm @@ -13,4 +13,70 @@ */ public interface ${ClassName}Mapper extends BaseMapperPlus<${ClassName}> { + /** + * 鏌ヨ${functionName}鍒楄〃 + * + * @param ${className} ${functionName} + * @return ${functionName}闆嗗悎 + */ + public List<${ClassName}> select${ClassName}List(${ClassName} ${className}); + + /** + * 鏂板${functionName} + * + * @param ${className} ${functionName} + * @return 缁撴灉 + */ + public int insert${ClassName}(${ClassName} ${className}); + + /** + * 淇敼${functionName} + * + * @param ${className} ${functionName} + * @return 缁撴灉 + */ + public int update${ClassName}(${ClassName} ${className}); + + /** + * 鍒犻櫎${functionName} + * + * @param ${pkColumn.javaField} ${functionName}涓婚敭 + * @return 缁撴灉 + */ + public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}); + + /** + * 鎵归噺鍒犻櫎${functionName} + * + * @param ${pkColumn.javaField}s 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎 + * @return 缁撴灉 + */ + public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s); +#if($table.sub) + + /** + * 鎵归噺鍒犻櫎${subTable.functionName} + * + * @param ${pkColumn.javaField}s 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎 + * @return 缁撴灉 + */ + public int delete${subClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s); + + /** + * 鎵归噺鏂板${subTable.functionName} + * + * @param ${subclassName}List ${subTable.functionName}鍒楄〃 + * @return 缁撴灉 + */ + public int batch${subClassName}(List<${subClassName}> ${subclassName}List); + + + /** + * 閫氳繃${functionName}涓婚敭鍒犻櫎${subTable.functionName}淇℃伅 + * + * @param ${pkColumn.javaField} ${functionName}ID + * @return 缁撴灉 + */ + public int delete${subClassName}By${subTableFkClassName}(${pkColumn.javaType} ${pkColumn.javaField}); +#end } diff --git a/ruoyi-ui/src/components/DictTag/index.vue b/ruoyi-ui/src/components/DictTag/index.vue index 542c6ed..b0484bc 100644 --- a/ruoyi-ui/src/components/DictTag/index.vue +++ b/ruoyi-ui/src/components/DictTag/index.vue @@ -1,51 +1,52 @@ -<template> - <div> - <template v-for="(item, index) in options"> - <template v-if="values.includes(item.dictValue)"> - <span - v-if="item.listClass == 'default' || item.listClass == ''" - :key="item.dictValue" - :index="index" - :class="item.cssClass" - >{{ item.dictLabel }}</span - > - <el-tag - v-else - :key="item.dictValue" - :index="index" - :type="item.listClass == 'primary' ? '' : item.listClass" - :class="item.cssClass" - > - {{ item.dictLabel }} - </el-tag> - </template> - </template> - </div> -</template> - -<script> -export default { - name: "DictTag", - props: { - options: { - type: Array, - default: null, - }, - value: [Number, String, Array], - }, - computed: { - values() { - if (this.value !== null && typeof this.value !== 'undefined') { - return Array.isArray(this.value) ? this.value : [String(this.value)]; - } else { - return []; - } - }, - }, -}; -</script> -<style scoped> -.el-tag + .el-tag { - margin-left: 10px; -} -</style> \ No newline at end of file +<template> + <div> + <template v-for="(item, index) in options"> + <template v-if="values.includes(item.dictValue)"> + <span + v-if="item.listClass == 'default' || item.listClass == ''" + :key="item.dictValue" + :index="index" + :class="item.cssClass" + >{{ item.dictLabel }}</span + > + <el-tag + v-else + :disable-transitions="true" + :key="item.dictValue" + :index="index" + :type="item.listClass == 'primary' ? '' : item.listClass" + :class="item.cssClass" + > + {{ item.dictLabel }} + </el-tag> + </template> + </template> + </div> +</template> + +<script> +export default { + name: "DictTag", + props: { + options: { + type: Array, + default: null, + }, + value: [Number, String, Array], + }, + computed: { + values() { + if (this.value !== null && typeof this.value !== 'undefined') { + return Array.isArray(this.value) ? this.value : [String(this.value)]; + } else { + return []; + } + }, + }, +}; +</script> +<style scoped> +.el-tag + .el-tag { + margin-left: 10px; +} +</style> -- Gitblit v1.9.3