123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327 |
- const { models } = require('../db')
- const { validateField, handleAdd, handleUpdate, handleDelete } = require('../common')
- /**
- *
- * 售后管理 表格 调 wx_afterservice(售后管理)
- *
- * 字段展示 用户名 根据 售后管理表 user_id 去 家长表(wx_user)里查_id是否相同 相同取园所名称(name)
- * 手机号 phone
- * 园所 根据 售后管理表 school_id 去 学校表(wx_school)里查_id是否相同 相同取园所名称(name)
- * 订单号 order_id
- * 图片 —— url
- * 描述 —— des
- * 售后状态(0-未处理 1-处理中 2-已处理) —— state
- * 创建时间 —— createdAt
- *
- * 查询 调 wx_afterservice(售后管理)
- * user_id —— 用户名
- * phone —— 手机号
- * school_id —— 园所_id 园所是下拉 调 wx_school(园所表)
- * state —— 售后状态(0-未处理 1-处理中 2-已处理)
- *
- * 修改 调 wx_afterservice(售后管理)
- * state —— 售后状态
- * 加传 _id
- *
- *
- */
- /**
- * 查询所有学校
- * @param {*} parameter
- */
- async function findSchoolAll(parameter) {
- const result = await models.wx_school.list({
- select: {
- _id: true,
- name: true,
- phone: true,
- remark: true,
- adress: true,
- contacts: true,
- },
- filter: {
- where: {}
- },
- getCount: true,
- pageSize: 100,
- pageNumber: 1,
- envType: "prod"
- })
- return result
- }
- /**
- * 新增售后
- * @param {*} school_id 学校Id
- * @param {*} user_id 用户Id
- * @param {*} order_id 订单Id
- * @param {*} phone 手机号码
- * @param {*} des 描述
- * @param {*} url 图片路径(数组)
- * @param {*} goods_id 商品Id
- * @returns
- */
- async function addAfterService(parameter) {
- const { school_id, user_id, order_id, phone, des, url, goods_id } = parameter
- const v1 = validateField(school_id, 'school_id')
- if (!v1.flag) {
- return {
- success: false,
- msg: v1.msg
- }
- }
- const v2 = validateField(user_id, 'user_id')
- if (!v2.flag) {
- return {
- success: false,
- msg: v2.msg
- }
- }
- const v3 = validateField(order_id, 'order_id')
- if (!v3.flag) {
- return {
- success: false,
- msg: v3.msg
- }
- }
- const v4 = validateField(phone, 'phone')
- if (!v4.flag) {
- return {
- flag: false,
- msg: v4.msg
- }
- }
- const v5 = validateField(des, 'des')
- if (!v5.flag) {
- return {
- flag: false,
- msg: v5.msg
- }
- }
- const v6 = validateField(url, 'url')
- if (!v6.flag) {
- return {
- flag: false,
- msg: v6.msg
- }
- }
- const v7 = validateField(goods_id, 'goods_id')
- if (!v7.flag) {
- return {
- flag: false,
- msg: v7.msg
- }
- }
- const data = {
- school_id,
- user_id,
- order_id,
- phone,
- des,
- url,
- goods_id,
- state: 0,
- createdAt: new Date().getTime(),
- }
- return await handleAdd(parameter, data, 'wx_afterservice')
- }
- /**
- * 根据Id删除售后
- * @param {*} _id 规格Id
- */
- async function deleteAfterService(parameter) {
- const { _id } = parameter
- return handleDelete(parameter, _id, 'wx_afterservice')
- }
- /**
- * 编辑售后管理
- * @param {*} _id 主键Id
- * @param {*} school_id 学校Id
- * @param {*} user_id 用户Id
- * @param {*} order_id 订单Id
- * @param {*} phone 手机号码
- * @param {*} des 描述
- * @param {*} url 图片路径(数组)
- * @param {*} goods_id 商品Id
- * @returns
- */
- async function updateAfterService(parameter) {
- const { _id, school_id, user_id, order_id, phone, des, url, goods_id, state } = 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(user_id, 'user_id')
- if (v2.flag) {
- obj.user_id = user_id
- }
- const v3 = validateField(order_id, 'order_id')
- if (v3.flag) {
- obj.order_id = order_id
- }
- const v4 = validateField(phone, 'phone')
- if (v4.flag) {
- obj.phone = phone
- }
- const v5 = validateField(des, 'des')
- if (v5.flag) {
- obj.des = des
- }
- const v6 = validateField(url, 'url')
- if (v6.flag) {
- obj.url = url
- }
- const v7 = validateField(goods_id, 'goods_id')
- if (v7.flag) {
- obj.goods_id = goods_id
- }
- const v8 = validateField(state, 'state')
- if (v8.flag) {
- obj.state = state
- }
- return await handleUpdate(parameter, _id, obj, 'wx_afterservice')
- }
- /**
- * 分页查询售后管理
- * @param {*} startTime 开始时间
- * @param {*} endTime 结束时间
- * @param {*} pageNum 当前页面
- * @param {*} pageSize 每页展示数量
- * @returns 分页数据
- */
- async function findAfterServicePage(parameter) {
- const { username, phone, school_id, state, 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 (username != null) {
- condition += " where u.user_name like '%{{username}}%' "
- params.username = username
- }
- if (phone != null) {
- if (condition) {
- condition += " and u.phone like '%{{phone}}%' "
- } else {
- condition += " where u.phone like '%{{phone}}%' "
- }
- params.phone = phone
- }
- if (school_id != null) {
- if (condition) {
- condition += " and s._id = {{school_id}} "
- } else {
- condition += " where s._id = {{school_id}} "
- }
- params.school_id = school_id
- }
- if (state != null) {
- if (condition) {
- condition += " and a.state = {{state}} "
- } else {
- condition += " where a.state = {{state}} "
- }
- params.state = state
- }
- if (startTime != null && endTime != null) {
- if (condition) {
- condition += " and a.createdAt >= {{startTime}} and a.createdAt <= {{endTime}} "
- } else {
- condition += " where a.createdAt >= {{startTime}} and a.createdAt <= {{endTime}} "
- }
- params.startTime = startTime
- params.endTime = endTime
- }
- const skip = (pageNum - 1) * pageSize
- // 查询sql
- const sql = "select " +
- "a._id as _id, " +
- "u.name as username, " +
- "u.phone as phone, " +
- "s.name as schoolName, " +
- "o.order_id as orderId, " +
- "a.url as url, " +
- "a.des as description, " +
- "a.state as state, " +
- "a.createdAt as createdAt " +
- "from wx_afterservice a " +
- "left join wx_user u on a.user_id = u._id " +
- "left join wx_school s on a.school_id = s._id " +
- "left join orders o on a.order_id = o._id" +
- condition +
- " order by createdAt desc " + "limit " + skip + ", " + pageSize
- const countSql = "select count(*) as total from wx_afterservice a " +
- "left join wx_user u on a.user_id = u._id " +
- "left join wx_school s on a.school_id = s._id " +
- "left join orders o on a.order_id = o._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 findAfterServiceById(parameter) {
- const { _id } = parameter
- return handleFindByField(parameter, _id, 'wx_afterservice')
- }
- module.exports = {
- findSchoolAll,
- addAfterService,
- deleteAfterService,
- updateAfterService,
- findAfterServicePage,
- findAfterServiceById,
- }
|