123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- import { Provide } from '@midwayjs/decorator';
- import { InjectEntityModel } from '@midwayjs/typegoose';
- import { ReturnModelType } from '@typegoose/typegoose';
- import { FrameworkErrorEnum, ServiceError } from 'free-midway-component';
- import { User } from '../../entity/User.entity';
- import {
- CheckUpdateCardAndPid,
- checkPhoneAndPid,
- checkOffice,
- checkUpkeep,
- } from '../../interface/util/user.util.interface';
- import { ShopSetting } from '../../entity/ShopSetting.entity';
- import { Upkeep } from '../../entity/Upkeep.entity';
- @Provide()
- export class UserUtilService {
- @InjectEntityModel(User)
- UserModel: ReturnModelType<typeof User>;
- @InjectEntityModel(ShopSetting)
- shopModel: ReturnModelType<typeof ShopSetting>;
- @InjectEntityModel(Upkeep)
- keepModel: ReturnModelType<typeof Upkeep>;
- /**
- * 检查创建时,是否创建改街道/社区设置
- * @param data 参数
- */
- async checkOffice(data: checkOffice) {
- if (data.office) {
- // 检查街道/社区
- const useran = await this.shopModel.count({ office: data.office });
- if (useran > 0) {
- throw new ServiceError(
- '已有该街道/社区 采购设置!',
- FrameworkErrorEnum.BAD_BODY
- );
- }
- }
- }
- /**
- * 检查修改时,是否创建改街道/社区设置
- * @param data 参数
- */
- async checkUpdateOffice(id, data: checkOffice) {
- const { office } = data;
- if (office) {
- // 检查街道/社区
- const useran = await this.shopModel.count({
- _id: { $ne: id },
- office,
- });
- if (useran > 0) {
- throw new ServiceError(
- '已有该街道/社区 采购设置!',
- FrameworkErrorEnum.BAD_BODY
- );
- }
- }
- }
- /**
- * 检查创建时,检查手机号和姓名
- * @param data 参数
- */
- async checkPhoneAndPid(data: checkPhoneAndPid) {
- if (data.tel) {
- // 检查手机号
- const useran = await this.UserModel.count({ tel: data.tel });
- if (useran > 0) {
- throw new ServiceError(
- '已有用户 使用该手机号!',
- FrameworkErrorEnum.BAD_BODY
- );
- }
- }
- if (data.name) {
- // 检查姓名
- const username = await this.UserModel.count({ name: data.name });
- if (username > 0) {
- throw new ServiceError(
- '已有用户 使用该名称!',
- FrameworkErrorEnum.BAD_BODY
- );
- }
- }
- if (data.openid) {
- // 检查opneid
- let openidan;
- openidan = await this.UserModel.count({
- openid: data.openid,
- status: '0',
- });
- if (openidan > 0) {
- throw new ServiceError(
- '注册成功 管理员审核中!',
- FrameworkErrorEnum.BAD_BODY
- );
- }
- openidan = await this.UserModel.count({
- openid: data.openid,
- status: '1',
- });
- if (openidan > 0) {
- throw new ServiceError(
- '已有用户信息 请直接登录!',
- FrameworkErrorEnum.BAD_BODY
- );
- }
- }
- }
- /**
- * 检查创建时,检查手机号和姓名
- * @param id 当前要修改的数据
- * @param data 参数
- */
- async checkUpdateCardAndPid(id, data: CheckUpdateCardAndPid) {
- const { tel, name } = data;
- if (tel) {
- const useran = await this.UserModel.count({
- _id: { $ne: id },
- tel,
- });
- if (useran > 0) {
- throw new ServiceError(
- '已有用户 使用该手机号!',
- FrameworkErrorEnum.BAD_BODY
- );
- }
- }
- if (name) {
- const username = await this.UserModel.count({
- _id: { $ne: id },
- name,
- });
- if (username > 0) {
- throw new ServiceError(
- '已有用户 使用该名称!',
- FrameworkErrorEnum.BAD_BODY
- );
- }
- }
- }
- // 创建维修检查
- async checkUpkeep(data: checkUpkeep) {
- // 检查街道/社区
- const keepan = await this.keepModel.count({
- user: data.user,
- supplier: data.supplier,
- good: data.good,
- spec: data.spec,
- order_id: data.order_id,
- status: '0',
- });
- if (keepan > 0) {
- throw new ServiceError(
- '已有维修申请 请等待维修人员上门或联系您!',
- FrameworkErrorEnum.BAD_BODY
- );
- }
- }
- }
|