|
|
@@ -1,9 +1,9 @@
|
|
|
/*
|
|
|
* @Author: YKH
|
|
|
* @Date: 2021-12-08 10:26:27
|
|
|
- * @LastEditTime: 2022-09-15 23:14:10
|
|
|
+ * @LastEditTime: 2022-09-16 23:31:48
|
|
|
* @Description:
|
|
|
- * @FilePath: \cool-admin\cool-admin-midway-master\src\app\modules\shuyou\service\rent_computer.ts
|
|
|
+ * @FilePath: \cool-admin-3.x\cool-admin-midway-master\src\app\modules\shuyou\service\rent_computer.ts
|
|
|
*/
|
|
|
import { Provide } from '@midwayjs/decorator';
|
|
|
import { BaseService, CoolCommException } from 'midwayjs-cool-core';
|
|
|
@@ -28,7 +28,7 @@ export class ShuyouRentComputerService extends BaseService {
|
|
|
*/
|
|
|
async add(param) {
|
|
|
const existsTask = await this.ShuyouRentComputerEntity.findOne({
|
|
|
- pc_num: param.pc_num,
|
|
|
+ pc_num: param.pc_num
|
|
|
});
|
|
|
if (!_.isEmpty(existsTask)) {
|
|
|
throw new CoolCommException('已存在相同编号的租机');
|
|
|
@@ -54,23 +54,76 @@ export class ShuyouRentComputerService extends BaseService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- // /**
|
|
|
- // * 重写分页查询
|
|
|
- // * @param query
|
|
|
- // */
|
|
|
- // async page(query) {
|
|
|
- // const { pc_name, is_rent, shop_name, is_abnormal } = query;
|
|
|
- // const sql = `
|
|
|
- // SELECT
|
|
|
- // *
|
|
|
- // FROM
|
|
|
- // shuyou_game_computer
|
|
|
- // WHERE 1 = 1
|
|
|
- // ${this.setSql(pc_name, 'and pc_name LIKE ?', [`%${pc_name}%`])}
|
|
|
- // ${this.setSql(is_rent, 'and is_rent = ?', [is_rent])}
|
|
|
- // ${this.setSql(shop_name, 'and shop_name LIKE ?', [`%${shop_name}%`])}
|
|
|
- // ${this.setSql(is_abnormal, 'and is_abnormal = ?', [is_abnormal])}
|
|
|
- // `;
|
|
|
- // return this.sqlRenderPage(sql, query);
|
|
|
- // }
|
|
|
+
|
|
|
+ //表编码格式不一致导致报错解决办法
|
|
|
+ //SHOW CREATE TABLE shuyou_rent_computer_usage;
|
|
|
+ //ALTER TABLE shuyou_rent_computer_usage DEFAULT CHARACTER SET utf8mb4 COLLATE=utf8mb4_german2_ci;
|
|
|
+ // ALTER TABLE shuyou_rent_computer_usage CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_german2_ci;
|
|
|
+ /**
|
|
|
+ * 根据ID获得信息
|
|
|
+ * @param id
|
|
|
+ */
|
|
|
+ public async info(id) {
|
|
|
+ const info = await this.ShuyouRentComputerEntity.findOne({ id });
|
|
|
+ if (info) {
|
|
|
+ const taskIds = await this.nativeQuery(
|
|
|
+ `select
|
|
|
+ a.task_id,
|
|
|
+ b.task_name
|
|
|
+ from
|
|
|
+ shuyou_rent_computer_usage a
|
|
|
+ LEFT JOIN shuyou_game_task b ON a.task_id = b.id
|
|
|
+ where a.pc_num = ?`,
|
|
|
+ [info.pc_num]
|
|
|
+ );
|
|
|
+ if (taskIds) {
|
|
|
+ info.taskIdList = taskIds.map(e => {
|
|
|
+ // item.id+' [ '+item.task_name+' ] '
|
|
|
+ return (e.task_id);
|
|
|
+ // return (e.task_id +' [ '+e.task_name+' ] ');
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return info;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改
|
|
|
+ * @param param 数据
|
|
|
+ */
|
|
|
+ async update(param) {
|
|
|
+ // console.log(param)
|
|
|
+ const taskInfo = await this.ShuyouRentComputerEntity.findOne({ id: param.id });
|
|
|
+ if (!taskInfo) {
|
|
|
+ throw new CoolCommException('租机不存在');
|
|
|
+ }
|
|
|
+ await this.ShuyouRentComputerEntity.save(param);
|
|
|
+ await this.updateTaskGame(param);
|
|
|
+
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 重写分页查询
|
|
|
+ * @param query
|
|
|
+ */
|
|
|
+ async page(query) {
|
|
|
+ const { pc_num } = query;
|
|
|
+ const sql = `
|
|
|
+ SELECT
|
|
|
+ a.*,
|
|
|
+ b.name as shop_name,c.name as rent_person_name,
|
|
|
+ GROUP_CONCAT(d.task_id) AS taskIdList
|
|
|
+ FROM
|
|
|
+ shuyou_rent_computer a
|
|
|
+ LEFT JOIN shuyou_rent_computer_shop b ON a.shop_id = b.id
|
|
|
+ LEFT JOIN shuyou_game_director c ON a.rent_person_id = c.id
|
|
|
+ LEFT JOIN shuyou_rent_computer_usage d ON a.pc_num = d.pc_num
|
|
|
+ WHERE 1 = 1
|
|
|
+ ${this.setSql(pc_num, 'and pc_num = ?', [pc_num])}
|
|
|
+ GROUP BY a.id
|
|
|
+ `;
|
|
|
+ return this.sqlRenderPage(sql, query);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|