Jelajahi Sumber

Merge branch 'crm1.0' into debug

Roc 3 tahun lalu
induk
melakukan
b776deaeb5
1 mengubah file dengan 1 tambahan dan 489 penghapusan
  1. 1 489
      controllers/message.go

+ 1 - 489
controllers/message.go

@@ -3,22 +3,10 @@ package controllers
 import (
 	"encoding/json"
 	"fmt"
-	approval2 "hongze/hongze_mobile_admin/models/request/approval"
-	"hongze/hongze_mobile_admin/models/response/approval"
 	"hongze/hongze_mobile_admin/models/response/message"
-	"hongze/hongze_mobile_admin/models/tables/admin"
-	"hongze/hongze_mobile_admin/models/tables/company_approval"
 	"hongze/hongze_mobile_admin/models/tables/company_approval_message"
-	"hongze/hongze_mobile_admin/models/tables/company_contract"
-	"hongze/hongze_mobile_admin/models/tables/company_delay_permission"
-	"hongze/hongze_mobile_admin/models/tables/company_product"
-	"hongze/hongze_mobile_admin/models/tables/company_product_log"
-	"hongze/hongze_mobile_admin/models/tables/company_report_permission"
-	"hongze/hongze_mobile_admin/services"
 	"hongze/hongze_mobile_admin/utils"
 	"rdluck_tools/paging"
-	"strconv"
-	"time"
 )
 
 //消息模块
@@ -119,7 +107,7 @@ func (this *MessageCommon) MessageList() {
 // @Description 消息已读接口
 // @Param	request	body company.CompanyApprovalMessageReadReq true "type json string"
 // @Success Ret=200 申请成功
-// @router /message/read [post]
+// @router /read [post]
 func (this *MessageCommon) MessageRead() {
 	//sysUser := this.AdminWx
 	var req company_approval_message.CompanyApprovalMessageReadReq
@@ -140,479 +128,3 @@ func (this *MessageCommon) MessageRead() {
 	}
 	this.OkWithMessage("已读成功")
 }
-
-// @Title 获取审批列表接口
-// @Description 获取审批列表接口
-// @Param   PageSize   query   int  true       "每页数据条数"
-// @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
-// @Param   Status   query   string  true       "状态:'全部','待审批','已审批','驳回','已撤回'"
-// @Param   KeyWord   query   string  true       "搜索关键词"
-// @Success 200 {object} approval.CompanyApprovalListResp
-// @router /list [get]
-func (this *MessageCommon) List() {
-	sysUser := this.AdminWx
-	roleTypeCode := sysUser.RoleTypeCode
-
-	pageSize, _ := this.GetInt("PageSize")
-	currentIndex, _ := this.GetInt("CurrentIndex")
-	status := this.GetString("Status")
-	keyWord := this.GetString("KeyWord")
-
-	var startSize int
-	if pageSize <= 0 {
-		pageSize = utils.PageSize20
-	}
-	if currentIndex <= 0 {
-		currentIndex = 1
-	}
-	startSize = paging.StartIndex(currentIndex, pageSize)
-
-	var condition string
-	var pars []interface{}
-
-	if status != "" {
-		if status == "已审批" {
-			condition += ` AND c.approve_status IN('已审批','驳回') `
-		} else {
-			condition += ` AND c.approve_status=? `
-			pars = append(pars, status)
-		}
-	}
-
-	if roleTypeCode == utils.ROLE_TYPE_CODE_FICC_ADMIN || roleTypeCode == utils.ROLE_TYPE_CODE_RAI_ADMIN { //审批
-		condition += ` AND c.approve_role_type_code=? `
-		pars = append(pars, roleTypeCode)
-	} else if roleTypeCode == utils.ROLE_TYPE_CODE_FICC_SELLER || roleTypeCode == utils.ROLE_TYPE_CODE_RAI_SELLER { //销售
-		condition += ` AND c.apply_user_id=? `
-		pars = append(pars, sysUser.AdminId)
-	}
-
-	if keyWord != "" {
-		condition += ` AND (a.company_name LIKE '%` + keyWord + `%' OR a.credit_code LIKE '%` + keyWord + `%') `
-	}
-
-	total, err := company_approval.GetApprovalCount(condition, pars)
-	if err != nil {
-		this.FailWithMessage("获取失败", "获取数据总数失败,Err:"+err.Error())
-		return
-	}
-
-	list, err := company_approval.GetApprovalList(condition, pars, startSize, pageSize)
-	if err != nil {
-		this.FailWithMessage("获取失败", "获取数据失败,Err:"+err.Error())
-		return
-	}
-	listLen := len(list)
-	for i := 0; i < listLen; i++ {
-		item := list[i]
-		if item.FreezeStartDate != "" && item.FreezeEndDate != "" && item.Status == utils.COMPANY_STATUS_FREEZE {
-			freezeEndDate, _ := time.Parse(utils.FormatDate, item.FreezeEndDate)
-			if time.Now().Before(freezeEndDate) {
-				expireDays := freezeEndDate.Sub(time.Now()).Hours() / 24
-				list[i].FreezeExpireDays = int(expireDays)
-			}
-		}
-		if item.StartDate != "" && item.EndDate != "" {
-			endDate, _ := time.Parse(utils.FormatDate, item.EndDate)
-			if time.Now().Before(endDate) {
-				expireDays := endDate.Sub(time.Now()).Hours() / 24
-				list[i].ExpireDay = int(expireDays)
-			}
-		}
-
-		approvalCount, err := company_approval.GetCompanyApprovalCount(item.CompanyId, item.ProductId)
-		if err != nil && err.Error() != utils.ErrNoRow() {
-			this.FailWithMessage("获取失败", "获取延期审批次数失败,Err:"+err.Error())
-			return
-		}
-		list[i].ApprovalCount = approvalCount
-
-		if item.ApplyMethod == 3 {
-			delayPermission, err := company_delay_permission.GetApplyDelayPermission(item.CompanyApprovalId)
-			if err != nil && err.Error() != utils.ErrNoRow() {
-				this.FailWithMessage("获取失败", "获取延期审批权限失败,Err:"+err.Error())
-				return
-			}
-			list[i].DelayPermission = delayPermission
-		}
-		if item.ApproveRoleTypeCode == roleTypeCode {
-			list[i].OpButton = true
-		}
-	}
-
-	page := paging.GetPaging(currentIndex, pageSize, total)
-	resp := approval.CompanyApprovalListResp{
-		Paging: page,
-		List:   list,
-	}
-	this.OkDetailed(resp, "获取成功")
-}
-
-// @Title 获取审批单详情接口
-// @Description 获取审批单详情接口
-// @Param   ApprovalId   query   int  true       "审批单id"
-// @Success 200 {object} approval.CompanyApprovalDetailResp
-// @router /detail [get]
-func (this *MessageCommon) Detail() {
-	sysUser := this.AdminWx
-	roleTypeCode := sysUser.RoleTypeCode
-
-	companyApprovalId, _ := this.GetInt("ApprovalId")
-	var condition string
-	var pars []interface{}
-
-	if roleTypeCode == utils.ROLE_TYPE_CODE_FICC_ADMIN || roleTypeCode == utils.ROLE_TYPE_CODE_RAI_ADMIN { //审批
-		condition += ` AND c.approve_role_type_code=? `
-		pars = append(pars, roleTypeCode)
-	} else if roleTypeCode == utils.ROLE_TYPE_CODE_FICC_SELLER || roleTypeCode == utils.ROLE_TYPE_CODE_RAI_SELLER { //销售
-		condition += ` AND c.apply_user_id=? `
-		pars = append(pars, sysUser.AdminId)
-	}
-
-	item, err := company_approval.GetApprovalListByApprovalId(condition, pars, companyApprovalId)
-	if err != nil {
-		this.FailWithMessage("获取失败", "获取数据失败,Err:"+err.Error())
-		return
-	}
-	if item.FreezeStartDate != "" && item.FreezeEndDate != "" && item.Status == utils.COMPANY_STATUS_FREEZE {
-		freezeEndDate, _ := time.Parse(utils.FormatDate, item.FreezeEndDate)
-		if time.Now().Before(freezeEndDate) {
-			expireDays := freezeEndDate.Sub(time.Now()).Hours() / 24
-			item.FreezeExpireDays = int(expireDays)
-		}
-	}
-	if item.StartDate != "" && item.EndDate != "" {
-		endDate, _ := time.Parse(utils.FormatDate, item.EndDate)
-		if time.Now().Before(endDate) {
-			expireDays := endDate.Sub(time.Now()).Hours() / 24
-			item.ExpireDay = int(expireDays)
-		}
-	}
-
-	approvalCount, err := company_approval.GetCompanyApprovalCount(item.CompanyId, item.ProductId)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		this.FailWithMessage("获取失败", "获取延期审批次数失败,Err:"+err.Error())
-		return
-	}
-	item.ApprovalCount = approvalCount
-
-	//if item.ApplyMethod == 3 {
-	//	delayPermission, err := company_delay_permission.GetApplyDelayPermission(item.CompanyApprovalId)
-	//	if err != nil && err.Error() != utils.ErrNoRow() {
-	//		this.FailWithMessage("获取失败", "获取延期审批权限失败,Err:"+err.Error())
-	//		return
-	//	}
-	//	item.DelayPermission = delayPermission
-	//}
-
-	resp := approval.CompanyApprovalDetailResp{
-		CompanyApprovalDetail: item,
-	}
-
-	//获取权限列表
-
-	//子权限切片集合
-	var permissionClassifyArr []string
-	if item.ProductId == 1 {
-		for _, v := range utils.PermissionFiccClassifyArr {
-			permissionClassifyArr = append(permissionClassifyArr, v)
-		}
-	} else {
-		permissionClassifyArr = append(permissionClassifyArr, "权益")
-	}
-
-	//获取需要审批的权限
-	delayPermissionList, err := company_delay_permission.GetDelayPermissionItems(item.CompanyId, item.CompanyApprovalId)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		this.FailWithMessage("获取失败", "获取审批权限失败,Err:"+err.Error())
-		return
-	}
-
-	delayPermissionIdMap := make(map[int]int)
-	for _, delayPermission := range delayPermissionList {
-		delayPermissionIdMap[delayPermission.ChartPermissionId] = 0
-	}
-
-	//遍历获取
-	for _, v := range permissionClassifyArr {
-		checkList := make([]int, 0)
-		plist := new(company_report_permission.PermissionLookList)
-		items, err := company_report_permission.GetPermissionLookItems(item.ProductId, v)
-		if err != nil {
-			this.FailWithMessage("获取失败", "获取权限信息失败,Err:"+err.Error())
-			return
-		}
-		for _, n := range items {
-			if _, ok := delayPermissionIdMap[n.ChartPermissionId]; ok {
-				checkList = append(checkList, n.ChartPermissionId)
-			}
-		}
-		plist.Items = items
-		plist.ClassifyName = v
-		plist.CheckList = checkList
-
-		if item.ProductId == 1 {
-			resp.FiccPermissionList = append(resp.FiccPermissionList, plist)
-		} else {
-			resp.PermissionList = append(resp.PermissionList, plist)
-		}
-
-	}
-
-	this.OkDetailed(resp, "获取成功")
-}
-
-// @Title 获取审批单中的权限列表
-// @Description 获取审批单中的权限列表接口
-// @Param   ApprovalId   query   int  true       "审批单id"
-// @Success 200 {object} approval.CompanyPermissionResp
-// @router /getApprovalPermissionList [get]
-func (this *MessageCommon) GetApprovalPermissionList() {
-	//this.FailWithMessage("获取失败", "获取数据总数失败,Err:"+err.Error())
-	//返回基础参数
-	resp := new(approval.CompanyPermissionResp)
-
-	//获取审批单信息
-	approvalId, _ := this.GetInt("ApprovalId")
-	if approvalId <= 0 {
-		this.FailWithMessage("审批单参数异常", "提交审批单参数异常")
-		return
-	}
-	approvalInfo, err := company_approval.GetCompanyApprovalByApprovalId(approvalId)
-	if err != nil {
-		this.FailWithMessage("获取失败", "获取审批单数据失败,Err:"+err.Error())
-		return
-	}
-
-	//子权限切片集合
-	var permissionClassifyArr []string
-	if approvalInfo.ProductId == 1 {
-		for _, v := range utils.PermissionFiccClassifyArr {
-			permissionClassifyArr = append(permissionClassifyArr, v)
-		}
-	} else {
-		permissionClassifyArr = append(permissionClassifyArr, "权益")
-	}
-
-	//获取需要审批的权限
-	delayPermissionList, err := company_delay_permission.GetDelayPermissionItems(approvalInfo.CompanyId, approvalInfo.CompanyApprovalId)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		this.FailWithMessage("获取失败", "获取审批权限失败,Err:"+err.Error())
-		return
-	}
-
-	delayPermissionIdMap := make(map[int]int)
-	for _, delayPermission := range delayPermissionList {
-		delayPermissionIdMap[delayPermission.ChartPermissionId] = 0
-	}
-
-	//遍历获取
-	for _, v := range permissionClassifyArr {
-		checkList := make([]int, 0)
-		plist := new(company_report_permission.PermissionLookList)
-		items, err := company_report_permission.GetPermissionLookItems(approvalInfo.ProductId, v)
-		if err != nil {
-			this.FailWithMessage("获取失败", "获取权限信息失败,Err:"+err.Error())
-			return
-		}
-		for _, n := range items {
-			if _, ok := delayPermissionIdMap[n.ChartPermissionId]; ok {
-				checkList = append(checkList, n.ChartPermissionId)
-			}
-		}
-		plist.Items = items
-		plist.ClassifyName = v
-		plist.CheckList = checkList
-
-		if approvalInfo.ProductId == 1 {
-			resp.FiccPermissionList = append(resp.FiccPermissionList, plist)
-		} else {
-			resp.PermissionList = append(resp.PermissionList, plist)
-		}
-
-	}
-
-	this.OkDetailed(resp, "获取成功")
-}
-
-// @Title 审批
-// @Description 审批接口
-// @Param	request	body approval.CompanyApplyApproveReq true "type json string"
-// @Success Ret=200 审批成功
-// @router /approve [post]
-func (this *MessageCommon) ApplyApprove() {
-	sysUser := this.AdminWx
-	var req approval2.CompanyApplyApproveReq
-	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
-	if err != nil {
-		this.FailWithMessage("参数解析异常!", "参数解析失败,Err:"+err.Error())
-		return
-	}
-	roleTypeCode := sysUser.RoleTypeCode
-	productId := services.GetProductId(roleTypeCode)
-	if productId == 0 {
-		this.FailWithMessage("参数错误", "参数解析失败,Err:"+"客户类型为:"+roleTypeCode)
-		return
-	}
-	if req.CompanyId <= 0 {
-		this.FailWithMessage("参数错误", "客户Id小于等于0")
-		return
-	}
-	if req.Status != 1 && req.Status != 2 {
-		this.FailWithMessage("参数错误", "审批状态Id小于等于0")
-		return
-	}
-	companyProduct, err := company_product.GetCompanyProductByCompanyIdAndProductId(req.CompanyId, productId)
-	if err != nil {
-		this.FailWithMessage("获取信息失败", "获取信息失败,Err:"+err.Error())
-		return
-	}
-	if companyProduct == nil {
-		this.FailWithMessage("获取审批信息失败", "获取信息失败,Err:"+err.Error())
-		return
-	}
-
-	approvalItem, err := company_approval.GetCompanyApprovalByCompanyId(req.CompanyId, productId)
-	if err != nil {
-		if err.Error() == utils.ErrNoRow() {
-			this.FailWithMessage("订单已审批,请刷新页面查看最新状态", "待审批信息不存在,CompanyId:"+strconv.Itoa(req.CompanyId)+";productId:"+strconv.Itoa(productId))
-		} else {
-			this.FailWithMessage("获取信息失败", "获取信息失败,Err:"+err.Error())
-		}
-		return
-	}
-	if approvalItem == nil {
-		this.FailWithMessage("订单已审批,请刷新页面查看最新状态", "待审批信息不存在,CompanyId:"+strconv.Itoa(req.CompanyId)+";productId:"+strconv.Itoa(productId))
-		return
-	}
-
-	if approvalItem.ApproveRoleTypeCode != roleTypeCode {
-		this.FailWithMessage("您无权审批", "ApproveRoleTypeCode:"+approvalItem.ApproveRoleTypeCode+";roleTypeCode:"+roleTypeCode)
-		return
-	}
-
-	var approveStatus, approveContent string
-
-	if req.Status == 1 { //通过
-		//申请类型:1:试用->正式,2:冻结—>试用,3:试用延期,4:原销售申请领取流失客户,5:正式客户申请服务更新
-		if approvalItem.ApplyMethod == 1 { //试用转正式
-			//获取合同信息
-			contract, err := company_contract.GetCompanyContractDetail(req.CompanyId, productId, req.CompanyContractId)
-			if err != nil {
-				this.FailWithMessage("待审批信息不存在", "待审批信息不存在,CompanyId:"+strconv.Itoa(req.CompanyId)+";productId:"+strconv.Itoa(productId)+";Err:"+err.Error())
-				return
-			}
-			if contract == nil {
-				this.FailWithMessage("待审批信息不存在", "待审批信息不存在,CompanyId:"+strconv.Itoa(req.CompanyId)+";productId:"+strconv.Itoa(productId))
-				return
-			}
-			err = company_approval.TryOutToFormal(req.CompanyId, productId, sysUser.AdminId, approvalItem.CompanyApprovalId, contract.CompanyContractId, contract.StartDate, contract.EndDate, sysUser.RealName, companyProduct.ProductName)
-			if err != nil {
-				this.FailWithMessage("审批失败", "审批失败,Err:"+err.Error())
-				return
-			}
-		} else if approvalItem.ApplyMethod == 2 { //冻结->试用
-			err = company_approval.FreezeToTryOut(req.CompanyId, productId, sysUser.AdminId, approvalItem.CompanyApprovalId, approvalItem.ApplyUserId, sysUser.RealName, companyProduct.ProductName)
-			if err != nil {
-				this.FailWithMessage("审批失败", "审批失败,Err:"+err.Error())
-				return
-			}
-		} else if approvalItem.ApplyMethod == 3 { //试用延期
-			err = company_approval.TryOutDelay(req.CompanyId, productId, sysUser.AdminId, approvalItem.CompanyApprovalId, sysUser.RealName, companyProduct.EndDate, companyProduct.ProductName)
-			if err != nil {
-				this.FailWithMessage("审批失败", "审批失败,Err:"+err.Error())
-				return
-			}
-		} else if approvalItem.ApplyMethod == 4 { //原销售申请领取流失客户
-			err = company_approval.ApplyReceive(req.CompanyId, productId, sysUser.AdminId, approvalItem.CompanyApprovalId, approvalItem.ApplyUserId, sysUser.RealName, companyProduct.ProductName)
-			if err != nil {
-				this.FailWithMessage("审批失败", "审批失败,Err:"+err.Error())
-				return
-			}
-		} else if approvalItem.ApplyMethod == 5 { //正式客户申请服务更新
-			//获取合同信息
-			contract, err := company_contract.GetCompanyContractDetail(req.CompanyId, productId, req.CompanyContractId)
-			if err != nil {
-				this.FailWithMessage("审批失败", "审批失败,Err:"+err.Error())
-				return
-			}
-			if contract == nil {
-				this.FailWithMessage("审批失败", "审批失败,Err:"+err.Error())
-				return
-			}
-			err = company_approval.ApplyServiceUpdate(req.CompanyId, productId, sysUser.AdminId, approvalItem.CompanyApprovalId, contract.CompanyContractId, companyProduct.StartDate, contract.EndDate, sysUser.RealName, companyProduct.ProductName)
-			if err != nil {
-				this.FailWithMessage("审批失败", "审批失败,Err:"+err.Error())
-				return
-			}
-		} else {
-			this.FailWithMessage("审批失败", "无效的审批状态,CompanyId:"+strconv.Itoa(req.CompanyId)+";productId:"+
-				strconv.Itoa(productId)+";ApplyMethod:"+strconv.Itoa(approvalItem.ApplyMethod)+" ApproveStatus;"+approvalItem.ApproveStatus)
-			return
-		}
-		approveContent = "审批通过"
-	} else { //拒绝
-		if req.Remark == "" {
-			this.FailWithMessage("请填写驳回理由", "请填写驳回理由")
-			return
-		}
-		approveStatus = "驳回"
-		err = company_approval.ApproveRefuse(req.CompanyId, productId, approveStatus, req.Remark)
-		approveContent = "审批驳回"
-		if err != nil {
-			this.FailWithMessage("审批失败", "审批失败,Err:"+err.Error())
-			return
-		}
-	}
-
-	//新增客户产品日志
-	{
-		productLog := new(company_product_log.CompanyProductLog)
-		productLog.CompanyProductId = companyProduct.CompanyProductId
-		productLog.CompanyId = companyProduct.CompanyId
-		productLog.ProductId = companyProduct.ProductId
-		productLog.ProductName = companyProduct.ProductName
-		productLog.CompanyName = companyProduct.CompanyName
-		productLog.CompanyName = companyProduct.CompanyName
-		productLog.Source = companyProduct.Source
-		productLog.Reasons = companyProduct.Reasons
-		productLog.Status = companyProduct.Status
-		productLog.IndustryId = companyProduct.IndustryId
-		productLog.IndustryName = companyProduct.IndustryName
-		productLog.SellerId = companyProduct.SellerId
-		productLog.SellerName = companyProduct.SellerName
-		productLog.GroupId = companyProduct.GroupId
-		productLog.DepartmentId = companyProduct.DepartmentId
-		productLog.IsSuspend = companyProduct.IsSuspend
-		productLog.SuspendTime = companyProduct.SuspendTime
-		productLog.ApproveStatus = companyProduct.ApproveStatus
-		productLog.FreezeTime = companyProduct.FreezeTime
-		productLog.Remark = companyProduct.Remark
-		productLog.StartDate = companyProduct.StartDate
-		productLog.EndDate = companyProduct.EndDate
-		productLog.CreateTime = companyProduct.CreateTime
-		productLog.ModifyTime = companyProduct.ModifyTime
-		productLog.LoseReason = companyProduct.LoseReason
-		productLog.LossTime = companyProduct.LossTime
-		productLog.LogType = "modify"
-		productLog.LogCreateTime = time.Now()
-		productLog.AdminId = this.AdminWx.AdminId
-		go company_product_log.AddCompanyProductLog(productLog)
-	}
-	//新增操作记录
-	{
-		remark := "审批"
-		operation := "approve"
-		services.AddCompanyOperationRecord(req.CompanyId, companyProduct.SellerId, sysUser.AdminId, productId, sysUser.AdminId, companyProduct.CompanyName,
-			companyProduct.ProductName, sysUser.RealName, remark, operation, approveContent, sysUser.RealName, req.Remark, companyProduct.Status)
-	}
-	//待办通知
-	{
-		content := companyProduct.CompanyName + " " + approvalItem.ApproveContent + approveContent
-		approvalSysUser, _ := admin.GetAdminById(approvalItem.ApplyUserId)
-		if sysUser != nil {
-			go services.AddCompanyApprovalMessage(sysUser.AdminId, approvalItem.ApplyUserId, req.CompanyId, approvalItem.CompanyApprovalId, 2, companyProduct.CompanyName, content, content, approvalSysUser.Mobile)
-		}
-	}
-	this.OkWithMessage("审批操作成功")
-}