作者 唐旭辉

调整

... ... @@ -83,3 +83,33 @@ func (c *AuditController) AuditInfo() {
msg = protocol.NewReturnResponse(list, err)
return
}
//AllowForbidAudit 开启、关闭 机会
//@router /v1/audit/allow_forbid
func (c *AuditController) AllowForbidAudit() {
var msg *protocol.ResponseMessage
defer func() {
c.ResposeJson(msg)
}()
type Parameter struct {
ChanceId string `json:"chance_id"`
Status int `json:"status"` //[1:开启机会][2:关闭机会]
}
var param Parameter
if err := json.Unmarshal(c.Ctx.Input.RequestBody, &param); err != nil {
log.Error("json 解析失败", err)
msg = protocol.BadRequestParam("1")
return
}
chanceid, _ := strconv.ParseInt(param.ChanceId, 10, 64)
companyId := c.GetCompanyId()
var err error
switch param.Status {
case 1:
err = serveaudit.AllowChanceEnableStatus(chanceid, companyId)
case 2:
err = serveaudit.ForbidChanceEnableStatus(chanceid, companyId)
}
msg = protocol.NewReturnResponse(nil, err)
return
}
... ...
... ... @@ -71,13 +71,13 @@ var ChanceReviewStatusMap = map[int]string{
//有效状态 0:无效 1:有效
const (
ChanceEnableStatusYes int = 1
ChanceEnableStatusNo int = 0
ChanceEnableStatusYes int8 = 1
ChanceEnableStatusNo int8 = 0
)
var ChanceEnableStatusMap = map[int]string{
0: "无效",
1: "有效",
var ChanceEnableStatusMap = map[int8]string{
ChanceEnableStatusNo: "无效",
ChanceEnableStatusYes: "有效",
}
// AddChance insert a new Chance into database and returns
... ...
... ... @@ -239,6 +239,7 @@ type RequestAuditList struct {
CreateTimeBegin int `json:"create_time_begin"` //
CreateTimeEnd int `json:"create_time_end"` //
Code string `json:"code"` //机会编码
UserName string `json:"user_name"` //提交人姓名
}
type ResponseAuditList struct {
... ... @@ -248,8 +249,7 @@ type ResponseAuditList struct {
type RspAuditList struct {
Id string `json:"id"` //机会的id
TemplateCode string `json:"template_code"`
ChanceTypeCode string `json:"chance_type_code"`
Code string `json:"code"`
ChanceType string `json:"chance_type"` //一级分类
TemplateName string `json:"template_name"` //二级分类
UserName string `json:"user_name"` // 提交人
... ... @@ -259,7 +259,7 @@ type RspAuditList struct {
PublishStatusName string `json:"publish_status_name"` //
ReviewStatus int `json:"review_status"` //审批状态
ReviewStatusName string `json:"review_status_name"`
EnableStatus int `json:"enable_status"`
EnableStatus int8 `json:"enable_status"`
EnableStatusName string `json:"enable_status_name"`
}
... ...
... ... @@ -101,6 +101,7 @@ func init() {
beego.NSRouter("/list", &controllers.AuditController{}, "post:AuditList"),
beego.NSRouter("/list/before", &controllers.AuditController{}, "post:AuditListBefore"),
beego.NSRouter("/info", &controllers.AuditController{}, "post:AuditInfo"),
beego.NSRouter("/allow_forbid", &controllers.AuditController{}, "post:AllowForbidAudit"),
),
)
... ...
... ... @@ -20,11 +20,10 @@ type SqlData struct {
PublishStatus int `orm:"column(publish_status)"`
CreateAt time.Time `orm:"column(create_at);type(timestamp)"`
ReviewStatus int `orm:"column(review_status)"`
EnableStatus int `orm:"column(enable_status)"`
EnableStatus int8 `orm:"column(enable_status)"`
DiscoveryScore string `orm:"column(discovery_score)"`
CommentTotal string `orm:"column(comment_total)"`
Code string `orm:"column(code)"`
TemplateName string `orm:"column(template_name)"`
}
func GetAuditList(param protocol.RequestAuditList, companyid int64, userid int64) (protocol.ResponseAuditList, error) {
... ... @@ -46,13 +45,13 @@ func GetAuditList(param protocol.RequestAuditList, companyid int64, userid int64
}
datasql.WriteString(`SELECT a.id,a.user_id,a.department_id,a.audit_template_id,a.chance_type_id
,a.publish_status,a.create_at,a.review_status,a.enable_status
,a.discovery_score,a.comment_total,b.name AS template_name ,b.code
,a.discovery_score,a.comment_total ,a.code,d.nick_name
FROM chance AS a
JOIN audit_template AS b on a.audit_template_id = b.id
JOIN user_company AS c ON c.id = a.user_id
JOIN user AS d ON c.user_id = d.id
where a.company_id=? `)
countsql.WriteString(`SELECT count(*) FROM chance as a
JOIN audit_template AS b on a.audit_template_id = b.id
countsql.WriteString(`SELECT count(*) FROM chance as a
where a.company_id=? `)
cond = append(cond, companyid)
if param.ChanceTypeId > 0 {
... ... @@ -99,8 +98,14 @@ func GetAuditList(param protocol.RequestAuditList, companyid int64, userid int64
countsql.WriteString(s)
}
if len(param.Code) > 0 {
cond = append(cond, param.Code)
s := ` And b.code=? `
cond = append(cond, "%"+param.Code+"%")
s := ` And a.code like ? `
datasql.WriteString(s)
countsql.WriteString(s)
}
if len(param.UserName) > 0 {
cond = append(cond, "%"+param.UserName+"%")
s := ` And d.nick_name like ? `
datasql.WriteString(s)
countsql.WriteString(s)
}
... ... @@ -129,8 +134,7 @@ func GetAuditList(param protocol.RequestAuditList, companyid int64, userid int64
PublishStatusName: models.ChancePublishStatusMap[v.PublishStatus],
ReviewStatus: v.ReviewStatus,
ReviewStatusName: models.ChanceReviewStatusMap[v.ReviewStatus],
TemplateCode: v.Code,
TemplateName: v.TemplateName,
Code: v.Code,
}
if t < 0 {
... ... @@ -146,7 +150,9 @@ func GetAuditList(param protocol.RequestAuditList, companyid int64, userid int64
}
if ct, err := models.GetChanceTypeById(v.ChanceTypeId); err == nil {
item.ChanceType = ct.Name
item.ChanceTypeCode = ct.Code
}
if tp, err := models.GetAuditTemplateById(v.AuditTemplateId); err == nil {
item.TemplateName = tp.Name
}
returnData.List = append(returnData.List, item)
... ... @@ -268,3 +274,51 @@ func getAuditFlowLog(chanceid int64) ([]protocol.ChanceFlowLog, error) {
err = utils.ExecuteQueryAll(&flowLogs, datasql, chanceid)
return flowLogs, err
}
func AllowChanceEnableStatus(chanceid int64, companyid int64) error {
var (
err error
chanceinfo *models.Chance
)
chanceinfo, err = models.GetChanceById(chanceid)
if err != nil {
log.Error("获取机会数据失败:%s", err)
return protocol.NewErrWithMessage("1")
}
if chanceinfo.CompanyId != companyid {
log.Error("机会的公司不匹配")
return protocol.NewErrWithMessage("1")
}
chanceinfo.EnableStatus = models.ChanceEnableStatusYes
chanceinfo.UpdateAt = time.Now()
err = models.UpdateChanceById(chanceinfo, []string{"EnableStatus", "UpdateAt"})
if err != nil {
log.Error("更新机会数据失败:%s", err)
return protocol.NewErrWithMessage("1")
}
return nil
}
func ForbidChanceEnableStatus(chanceid int64, companyid int64) error {
var (
err error
chanceinfo *models.Chance
)
chanceinfo, err = models.GetChanceById(chanceid)
if err != nil {
log.Error("获取机会数据失败:%s", err)
return protocol.NewErrWithMessage("1")
}
if chanceinfo.CompanyId != companyid {
log.Error("机会的公司不匹配")
return protocol.NewErrWithMessage("1")
}
chanceinfo.EnableStatus = models.ChanceEnableStatusNo
chanceinfo.UpdateAt = time.Now()
err = models.UpdateChanceById(chanceinfo, []string{"EnableStatus", "UpdateAt"})
if err != nil {
log.Error("更新机会数据失败:%s", err)
return protocol.NewErrWithMessage("1")
}
return nil
}
... ...
... ... @@ -495,3 +495,9 @@ func SmsCodeCheck(phone string, code string) error {
redisdata.SetCaptchAuth(phone, resp.Data.CaptchaCertificate)
return nil
}
//InitPermission 登录时权限初始化
func InitPermission(usercompanyid int, userid int64) error {
// datasql = ``
return nil
}
... ...
... ... @@ -94,7 +94,7 @@ type CheckOpp struct {
//OptionOpportunity 机会管理 高级权限设置
type OptionOpportunity struct {
Check int `json:"check"`
CheckMap map[int]int `json:"-"`
CheckMap map[int]int `json:"check_map,omitempty"`
CheckOption CheckOpp `json:"check_option"`
EditSorce int `json:"edit_sorce"`
EditPublicStatus int `json:"edit_public_status"`
... ...