Browse Source

激活明细

fanzherong_v 2 tháng trước cách đây
mục cha
commit
d21dfc2206

+ 28 - 0
snowy-admin-web/src/api/biz/bizActivateDetailApi.js

@@ -0,0 +1,28 @@
+import { baseRequest } from '@/utils/request'
+
+const request = (url, ...arg) => baseRequest(`/biz/bizactivatedetail/` + url, ...arg)
+
+/**
+ * 激活明细Api接口管理器
+ *
+ * @author fanzherong
+ * @date  2025/03/05 14:33
+ **/
+export default {
+	// 获取激活明细分页
+	bizActivateDetailPage(data) {
+		return request('page', data, 'get')
+	},
+	// 提交激活明细表单 edit为true时为编辑,默认为新增
+	bizActivateDetailSubmitForm(data, edit = false) {
+		return request(edit ? 'edit' : 'add', data)
+	},
+	// 删除激活明细
+	bizActivateDetailDelete(data) {
+		return request('delete', data)
+	},
+	// 获取激活明细详情
+	bizActivateDetailDetail(data) {
+		return request('detail', data, 'get')
+	}
+}

+ 102 - 0
snowy-admin-web/src/views/biz/bizactivate/detail.vue

@@ -0,0 +1,102 @@
+<template>
+	<xn-form-container
+		title="详情"
+		:width="700"
+		:visible="visible"
+		:destroy-on-close="true"
+		@close="onClose"
+	>
+
+		<a-form ref="formRef" :model="formData" layout="vertical">
+			<s-table
+				ref="tableRef"
+				:columns="columns"
+				:data="loadData"
+				:alert="false"
+				:showPagination="true"
+				bordered
+				:row-key="(record) => record.id"
+			>
+				<template #bodyCell="{ column, record }">
+					<template v-if="column.dataIndex === 'adjustType'">
+						<a-tag
+							:color="
+							record.adjustType === '1'
+								? 'orange'
+								: record.adjustType === '2'
+								  ? 'green'
+								  : record.adjustType === '3'
+								    ? 'cyan'
+								      : 'purple'
+						"
+						>
+							{{ $TOOL.dictTypeData('adjust_type', record.adjustType) }}
+						</a-tag>
+					</template>
+				</template>
+			</s-table>
+
+		</a-form>
+	</xn-form-container>
+</template>
+
+<script setup name="messageDetail">
+	import consumptionRecordApi from '@/api/biz/consumptionRecordApi'
+	import bizUserApi from "@/api/biz/bizUserApi";
+	import bizActivateDetailApi from '@/api/biz/bizActivateDetailApi'
+	import {cloneDeep} from "lodash-es";
+	const receiveInfoList = ref([])
+	const emit = defineEmits({ successful: null })
+
+	// 默认是关闭状态
+	const visible = ref(false)
+	const formRef = ref()
+	// 表单数据
+	const formData = ref({})
+	const tableRef = ref()
+	const columns = [
+		{
+			title: '姓名',
+			dataIndex: 'userName',
+			align: 'center',
+		},
+		{
+			title: '手机号',
+			dataIndex: 'phone',
+			align: 'center',
+		},
+		{
+			title: '激活时间',
+			dataIndex: 'createTime',
+			align: 'center',
+		},
+
+	]
+	// 打开抽屉
+	const onOpen = (record) => {
+		visible.value = true
+		if (record) {
+			let recordData = cloneDeep(record)
+			formData.value = Object.assign({}, recordData)
+		}
+	}
+
+	const loadData = () => {
+		let param = {
+			activateId: formData.value.id
+		}
+		return bizActivateDetailApi.bizActivateDetailPage(param).then((res) => {
+			return res
+		})
+	}
+	// 关闭抽屉
+	const onClose = () => {
+		receiveInfoList.value = []
+		visible.value = false
+		emit('successful')
+	}
+	// 调用这个函数将子组件的一些数据和方法暴露出去
+	defineExpose({
+		onOpen
+	})
+</script>

+ 12 - 8
snowy-admin-web/src/views/biz/bizactivate/index.vue

@@ -41,6 +41,8 @@
 			<template #bodyCell="{ column, record }">
 				<template v-if="column.dataIndex === 'action'">
 					<a-space>
+						<a @click="detailRef.onOpen(record)" v-if="hasPerm('bizActivateDetail')">明细</a>
+						<a-divider type="vertical" v-if="hasPerm(['bizActivateDetail','bizActivateEdit'],'and')" />
 						<a @click="formRef.onOpen(record)" v-if="hasPerm('bizActivateEdit')">编辑</a>
 						<a-divider type="vertical" v-if="hasPerm(['bizActivateEdit', 'bizActivateDelete'], 'and')" />
 						<a-popconfirm title="确定要删除吗?" @confirm="deleteBizActivate(record)">
@@ -65,15 +67,18 @@
 		</s-table>
 	</a-card>
 	<Form ref="formRef" @successful="tableRef.refresh()" />
+	<Detail ref="detailRef" @successful="tableRef.refresh()" />
 </template>
 
 <script setup name="bizactivate">
 	import { cloneDeep } from 'lodash-es'
 	import Form from './form.vue'
+	import Detail from './detail.vue'
 	import bizActivateApi from '@/api/biz/bizActivateApi'
 	import tool from '@/utils/tool'
 	const tableRef = ref()
 	const formRef = ref()
+	const detailRef = ref()
 	const toolConfig = { refresh: true, height: true, columnSetting: true, striped: false }
 	const searchFormRef = ref()
 	let searchFormState = reactive({})
@@ -111,14 +116,13 @@
 		},
 	]
 	// 操作栏通过权限判断是否显示
-	/*if (hasPerm(['bizActivateEdit', 'bizActivateDelete'])) {
-		columns.push({
-			title: '操作',
-			dataIndex: 'action',
-			align: 'center',
-			width: 150
-		})
-	}*/
+	columns.push({
+		title: '操作',
+		dataIndex: 'action',
+		align: 'center',
+		width: 150
+	})
+
 
 	const loadData = (parameter) => {
 		const searchFormParam = JSON.parse(JSON.stringify(searchFormState))

+ 3 - 0
snowy-plugin-api/snowy-plugin-auth-api/src/main/java/vip/xiaonuo/auth/core/pojo/SaBaseLoginUser.java

@@ -159,6 +159,9 @@ public abstract class SaBaseLoginUser {
     @Schema(description = "组织名称")
     private String orgName;
 
+    /** 门店地址*/
+    private String orgAddress;
+
     /** 职位id */
     @Schema(description = "职位id")
     private String positionId;

+ 1 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivate/mapper/mapping/BizActivateMapper.xml

@@ -4,6 +4,7 @@
 
     <select id="getPageList" resultType="vip.xiaonuo.biz.modular.bizactivate.entity.BizActivate">
         select
+            ba.id,
             su.name userName,
             ba.account_balance,
             ba.status,

+ 6 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/entity/BizActivateDetail.java

@@ -45,4 +45,10 @@ public class BizActivateDetail extends CommonEntity {
     @Schema(description = "帮助激活用户id")
     private String helpUserId;
 
+    @TableField(exist = false)
+    private String userName;
+
+    @TableField(exist = false)
+    private String phone;
+
 }

+ 4 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/mapper/BizActivateDetailMapper.java

@@ -12,7 +12,10 @@
  */
 package vip.xiaonuo.biz.modular.bizactivatedetail.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
 import vip.xiaonuo.biz.modular.bizactivatedetail.entity.BizActivateDetail;
 
 /**
@@ -22,4 +25,5 @@ import vip.xiaonuo.biz.modular.bizactivatedetail.entity.BizActivateDetail;
  * @date  2025/03/05 14:33
  **/
 public interface BizActivateDetailMapper extends BaseMapper<BizActivateDetail> {
+    Page<BizActivateDetail> getPageList(@Param("page") Page<BizActivateDetail> page, @Param("ew") QueryWrapper<BizActivateDetail> ew);
 }

+ 10 - 1
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/mapper/mapping/BizActivateDetailMapper.xml

@@ -2,4 +2,13 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="vip.xiaonuo.biz.modular.bizactivatedetail.mapper.BizActivateDetailMapper">
 
-</mapper>
+    <select id="getPageList" resultType="vip.xiaonuo.biz.modular.bizactivatedetail.entity.BizActivateDetail">
+        select
+            su.name userName,
+            su.PHONE,
+            bad.create_time
+        from biz_activate_detail bad
+        left join SYS_USER su on su.id = bad.help_user_id
+        ${ew.customSqlSegment}
+    </select>
+</mapper>

+ 2 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/param/BizActivateDetailPageParam.java

@@ -48,4 +48,6 @@ public class BizActivateDetailPageParam {
     @Schema(description = "关键词")
     private String searchKey;
 
+    private String activateId;
+
 }

+ 8 - 7
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/service/impl/BizActivateDetailServiceImpl.java

@@ -31,6 +31,7 @@ import vip.xiaonuo.biz.modular.bizactivatedetail.param.BizActivateDetailEditPara
 import vip.xiaonuo.biz.modular.bizactivatedetail.param.BizActivateDetailIdParam;
 import vip.xiaonuo.biz.modular.bizactivatedetail.param.BizActivateDetailPageParam;
 import vip.xiaonuo.biz.modular.bizactivatedetail.service.BizActivateDetailService;
+import vip.xiaonuo.common.util.CommonCryptogramUtil;
 
 import java.util.List;
 
@@ -46,14 +47,14 @@ public class BizActivateDetailServiceImpl extends ServiceImpl<BizActivateDetailM
     @Override
     public Page<BizActivateDetail> page(BizActivateDetailPageParam bizActivateDetailPageParam) {
         QueryWrapper<BizActivateDetail> queryWrapper = new QueryWrapper<BizActivateDetail>().checkSqlInjection();
-        if(ObjectUtil.isAllNotEmpty(bizActivateDetailPageParam.getSortField(), bizActivateDetailPageParam.getSortOrder())) {
-            CommonSortOrderEnum.validate(bizActivateDetailPageParam.getSortOrder());
-            queryWrapper.orderBy(true, bizActivateDetailPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
-                    StrUtil.toUnderlineCase(bizActivateDetailPageParam.getSortField()));
-        } else {
-            queryWrapper.lambda().orderByAsc(BizActivateDetail::getId);
+        if(ObjectUtil.isNotEmpty(bizActivateDetailPageParam.getActivateId())){
+            queryWrapper.eq("bad.activate_id",bizActivateDetailPageParam.getActivateId());
         }
-        return this.page(CommonPageRequest.defaultPage(), queryWrapper);
+        Page<BizActivateDetail> pageList = this.getBaseMapper().getPageList(CommonPageRequest.defaultPage(), queryWrapper);
+        for(BizActivateDetail bizActivateDetail: pageList.getRecords()){
+            bizActivateDetail.setPhone(CommonCryptogramUtil.doSm4CbcDecrypt(bizActivateDetail.getPhone()));
+        }
+        return pageList;
     }
 
     @Transactional(rollbackFor = Exception.class)

+ 7 - 1
snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/entity/SysUser.java

@@ -222,9 +222,10 @@ public class SysUser extends CommonEntity {
     /** 组织id */
     @Schema(description = "组织id")
     @TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
-    @Trans(type = TransType.SIMPLE, target = SysOrg.class, fields = "name", alias = "org", ref = "orgName")
+    @Trans(type = TransType.SIMPLE, target = SysOrg.class, fields = {"name","address"}, alias = "org", refs = {"orgName","orgAddress"})
     private String orgId;
 
+
     /** 职位id */
     @Schema(description = "职位id")
     @TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
@@ -297,6 +298,11 @@ public class SysUser extends CommonEntity {
     @TableField(exist = false)
     private String orgName;
 
+    /** 组织名称 */
+    @Schema(description = "门店名称")
+    @TableField(exist = false)
+    private String orgAddress;
+
     /** 职位名称 */
     @Schema(description = "职位名称")
     @TableField(exist = false)