123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- const express = require('express')
- const router = express.Router()
- const utils = require('../../utils/index.js')
- const pools = require('../../utils/pools.js')
- // 增加实体
- router.post('/addRelationship', async (req, res) => {
- let sql = 'INSERT INTO relationship_t(`name`) VALUES (?)',
- obj = req.body
- await utils.existName({
- sql: 'SELECT name FROM relationship_t WHERE name=?',
- name: obj.name,
- res,
- msg: '该实体关系已存在!',
- req
- })
- await pools({
- sql,
- val: [obj.name],
- run: false,
- res,
- req
- })
- })
- //查询测试账号
- router.post('/getRelationshipList', async (req, res) => {
- let user = await utils.getUserInfo({ req, res }),
- obj = req.body
- let sql = `SELECT id AS relationshipId,name FROM relationship_t WHERE 1=1`
- sql = utils.setLike(sql, 'name', obj.name)
- sql = utils.setMoreId(sql, user)
- let { total } = await utils.getSum({ sql, name: 'relationship_t', res, req })
- sql += ` ORDER BY id ASC`
- sql = utils.pageSize(sql, obj.page, obj.size)
- let { result } = await pools({ sql, res, req })
- res.send(utils.returnData({ data: result, total }))
- })
- //删除
- router.post('/delRelationship', async (req, res) => {
- obj = req.body
- let placeholders = obj.map(() => '?').join(',')
- let sql = `DELETE FROM relationship_t WHERE id in (${placeholders})`
- await pools({ sql, val: obj, run: false, res, req }) // 注意这里直接传递obj数组作为参数
- })
- //修改
- router.post('/updataRelationship', async (req, res) => {
- let sql = 'UPDATE relationship_t SET name=? WHERE id=?',
- obj = req.body
- await pools({ sql, val: [obj.name, obj.relationshipId], run: false, res, req })
- })
- // 获取ERList
- router.post('/getERList', async (req, res) => {
- let user = await utils.getUserInfo({ req, res }),
- obj = req.body
- // let sql = `SELECT relationship_id AS relationshipId,name FROM relationship WHERE 1=1`
- let sql = `(SELECT
- r.NAME AS relationshipName,
- r.id AS relationshipId,
- t.object_id AS objectId,
- t.is_show,
- t.id AS ERId,
- (SELECT name from entity_t e where e.id = t.object_id) as objectName,
- t.subject_id AS subjectId,
- (SELECT name from entity_t e where e.id = t.subject_id) as subjectName
- FROM
- entity_relationship_t t JOIN relationship_t r ON r.id = t.relationship_id
- WHERE r.id = ? )`
- let sqlCount = 'select count(1) from ' + sql + ' z'
- if (obj.entityName) {
- sql = `select z.* from ${sql} z where z.objectName like '%${obj.entityName}%' OR z.subjectName like '%${obj.entityName}%'`
- sqlCount = 'select count(1) from (' + sql + ') z'
- }
- let sss = await pools({ sql: sqlCount, val: [obj.relationshipId], req })
- let total = sss.result[0]['count(1)']
- let { result } = await pools({ sql, val: [obj.relationshipId], req })
- result = result.map((item) => ({
- ...item,
- isShow: item.is_show === 1
- }))
- res.send(utils.returnData({ data: result, total }))
- })
- //删除ER
- router.post('/delER', async (req, res) => {
- obj = req.body
- let placeholders = obj.map(() => '?').join(',')
- let sql = `DELETE FROM entity_relationship_t WHERE id in (${placeholders})`
- await pools({ sql, val: obj, run: false, res, req }) // 注意这里直接传递obj数组作为参数
- })
- // 增加ER
- router.post('/addER', async (req, res) => {
- let sql = 'INSERT INTO entity_relationship_t(subject_id,object_id,relationship_id,is_show) VALUES (?,?,?,?)',
- obj = req.body
- let { result } = await pools({
- sql,
- val: [obj.subjectId, obj.objectId, obj.relationshipId, obj.isShow],
- run: false,
- res,
- req
- })
- console.log('result', result)
- })
- module.exports = router
|