123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- const { models } = require('../db')
- const { validateField, handleAdd, handleUpdate, handleDelete, handleFindByField } = require('../common')
- /**
- *
- * 下载量统计 表格 调 microcode(访问下载量统计)
- *
- * 字段展示 园所 根据 售后管理表 school_id 去 学校表(wx_school)里查_id是否相同 相同取园所名称(name)
- * 课件名 —— 根据 售后管理表 file_id 去 文件表(file_manage)里查_id是否相同 相同取园所名称(name)
- * 下载量 —— download
- * 创建时间 —— createdAt
- *
- * 查询 调 microcode(访问下载量统计)
- * school_id —— 园所_id 园所是下拉 调 wx_school(园所表)
- * createdAt —— 创建时间
- *
- *
- */
- /**
- * 新增访问下载量统计
- * @param {*} file_id 课件Id
- * @param {*} school_id 学校Id
- * @returns
- */
- async function addMicrocode(parameter) {
- const { file_id, school_id } = parameter
- const v1 = validateField(school_id, 'school_id')
- if (!v1.flag) {
- return {
- success: false,
- msg: v1.msg
- }
- }
- const v2 = validateField(file_id, 'file_id')
- if (!v2.flag) {
- return {
- success: false,
- msg: v2.msg
- }
- }
- const data = {
- school_id,
- file_id,
- visits: 0,
- download: 0,
- }
- return await handleAdd(parameter, data, 'microcode')
- }
- /**
- * 根据Id删除
- * @param {*} _id Id
- */
- async function deleteMicrocode(parameter) {
- const { _id } = parameter
- return handleDelete(parameter, _id, 'microcode')
- }
- /**
- * 编辑
- * @param {*} _id 主键Id
- * @param {*} file_id 课件Id
- * @param {*} school_id 学校Id
- * @returns
- */
- async function updateMicrocode(parameter) {
- const { _id, school_id, file_id } = parameter
- const obj = {}
- const v0 = validateField(_id, '_id')
- if (!v0.flag) {
- return {
- success: false,
- msg: v0.msg
- }
- }
- const v1 = validateField(school_id, 'school_id')
- if (v1.flag) {
- obj.school_id = school_id
- }
- const v2 = validateField(file_id, 'file_id')
- if (v2.flag) {
- obj.file_id = file_id
- }
- return await handleUpdate(parameter, _id, obj, 'microcode')
- }
- /**
- * 分页查询
- * @param {*} school_id 学校Id
- * @param {*} startTime 开始时间
- * @param {*} endTime 结束时间
- * @param {*} pageNum 当前页面
- * @param {*} pageSize 每页展示数量
- * @returns 分页数据
- */
- async function findMicrocodePage(parameter) {
- const { school_id, startTime, endTime, pageNum, pageSize } = parameter
- const v1 = validateField(pageNum)
- if (!v1.flag) {
- return {
- success: false,
- records: [],
- msg: v1.msg
- }
- }
- const v2 = validateField(pageSize)
- if (!v2.flag) {
- return {
- success: false,
- records: [],
- msg: v2.msg
- }
- }
- // 查询参数
- const params = {
- pageNum,
- pageSize
- }
- // 拼接查询条件
- let condition = ""
- if (school_id != null) {
- condition += " where s._id = {{school_id}} "
- params.school_id = school_id
- }
- if (startTime != null && endTime != null) {
- if (condition) {
- condition += " and fm.createdAt >= {{startTime}} and fm.createdAt <= {{endTime}} "
- } else {
- condition += " where fm.createdAt >= {{startTime}} and fm.createdAt <= {{endTime}} "
- }
- params.startTime = startTime
- params.endTime = endTime
- }
- const skip = (pageNum - 1) * pageSize
- // 查询sql
- const sql = "select " +
- "s.name as schoolName, " +
- "fm.name as fileName, " +
- "m.download as download, " +
- "m.visits as visits, " +
- "fm.createdAt as createdAt " +
- "from microcode m " +
- "left join wx_school s on m.school_id = s._id " +
- "left join file_manage fm on m.file_id = fm._id " +
- condition +
- " order by fm.createdAt desc " + "limit " + skip + ", " + pageSize
- const countSql = "select count(*) as total from microcode m " +
- "left join wx_school s on m.school_id = s._id " +
- "left join file_manage fm on m.file_id = fm._id " +
- condition
- try {
- // 查询数据sql
- const records = await models.$runSQL(sql, params)
- const count = await models.$runSQL(countSql, params)
- return {
- sql,
- countSql,
- params,
- success: true,
- msg: '查询成功',
- records: records.data.executeResultList,
- total: count.data.executeResultList[0].total
- }
- } catch (error) {
- return {
- success: false,
- msg: '查询失败',
- params,
- sql,
- countSql,
- error: error
- }
- }
- }
- /**
- * 根据Id查询
- * @param {*} _id Id
- */
- async function findMicrocodeById(parameter) {
- const { _id } = parameter
- return handleFindByField(parameter, _id, 'microcode')
- }
- module.exports = {
- addMicrocode,
- deleteMicrocode,
- updateMicrocode,
- findMicrocodePage,
- findMicrocodeById,
- }
|