123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- package worksitedesign
- import (
- "errors"
- "zhiyuan/models"
- "zhiyuan/pkg/app"
- "zhiyuan/pkg/db"
- "zhiyuan/pkg/utils"
- "zhiyuan/services/form"
- "zhiyuan/services/work/worksite"
- )
- var WorkSiteDesign models.WorkSiteDesign
- func Add(form form.WorkSiteDesignAdd, adminID int) (int64, error) {
- worksiteInfo, err := worksite.GetInfoByID(form.SiteId, nil, nil)
- if worksiteInfo == nil {
- return 0, errors.New("invalid worksite id")
- }
- if worksiteInfo.DesignerId != adminID {
- return 0, errors.New("账号权限有误")
- }
- if worksiteInfo.State == 2 {
- return 0, errors.New("项目已完工")
- }
- workSiteDesignMap := map[string]interface{}{
- "`site_id`": form.SiteId,
- "`type_id`": form.TypeId,
- "`designer_id`": adminID,
- "`name`": form.Name,
- "`pictures`": form.Pictures,
- "`mark`": form.Mark,
- }
- workSiteDesignID, err := db.InsertOne(WorkSiteDesign.TableName(), workSiteDesignMap)
- if err != nil {
- return 0, nil
- }
- return workSiteDesignID, nil
- }
- func EditByID(form form.WorkSiteDesignEdit, id int, adminID int) error {
- info, err := GetInfoByID(id, nil, nil)
- if info == nil {
- return errors.New("invalid id")
- }
- if info.DesignerId != adminID {
- return errors.New("账号权限有误")
- }
- worksiteInfo, err := worksite.GetInfoByID(info.SiteId, nil, nil)
- if worksiteInfo == nil {
- return errors.New("invalid worksite id")
- }
- if worksiteInfo.DesignerId != adminID {
- return errors.New("账号权限有误")
- }
- if worksiteInfo.State == 2 {
- return errors.New("项目已完工")
- }
- workSiteDesignMap := map[string]interface{}{
- "`type_id`": form.TypeId,
- "`name`": form.Name,
- "`pictures`": form.Pictures,
- "`mark`": form.Mark,
- }
- _, err = db.Update(WorkSiteDesign.TableName(), map[string]interface{}{"id": id}, workSiteDesignMap)
- return err
- }
- func DeleteByID(id int, adminID int) error {
- info, _ := GetInfoByID(id, nil, nil)
- if info == nil {
- return errors.New("invalid id")
- }
- if info.DesignerId != adminID {
- return errors.New("账号权限有误")
- }
- worksiteInfo, _ := worksite.GetInfoByID(info.SiteId, nil, nil)
- if worksiteInfo == nil {
- return errors.New("invalid worksite id")
- }
- if worksiteInfo.DesignerId != adminID {
- return errors.New("账号权限有误")
- }
- if worksiteInfo.State == 2 {
- return errors.New("项目已完工")
- }
- _, err := db.DeleteSoft(WorkSiteDesign.TableName(), map[string]interface{}{"id": id})
- return err
- }
- func Count(where map[string]interface{}) (int64, error) {
- return db.Count(WorkSiteDesign.TableName(), where)
- }
- func CountRaw(where string, param map[string]interface{}) (int64, error) {
- query := "`zy_work_site_design` WHERE " + where
- return db.CountRaw(query, param)
- }
- func GetList(where map[string]interface{}, fields []string, page app.Page, retVal interface{}) ([]*models.WorkSiteDesign, error) {
- if page.PageNum > 0 && page.PageSize > 0 {
- where["_limit"] = db.GetOffset(uint(page.PageNum), uint(page.PageSize))
- }
- return WorkSiteDesign.GetMulti(where, fields, retVal)
- }
- func GetWorkSiteDesignsRaw(where map[string]string, param map[string]interface{}, retVal interface{}) error {
- field := "SELECT `zy_work_site_design`.*, `zy_design_type`.`name` as `type_name`, `zy_admin`.`name` as `designer_name`, `zy_admin`.`phone` as `designer_phone` FROM `zy_work_site_design` left join `zy_admin` on `zy_admin`.`id` = `zy_work_site_design`.`designer_id` left join `zy_design_type` on `zy_design_type`.`id` = `zy_work_site_design`.`type_id` "
- return db.GetMultiRaw(field, where, param, retVal)
- }
- func GetOne(where map[string]interface{}, fields []string, retVal interface{}) (*models.WorkSiteDesign, error) {
- return WorkSiteDesign.GetOne(where, fields, retVal)
- }
- func GetWorkSiteDesignOne(where map[string]string, param map[string]interface{}, retVal interface{}) error {
- field := "SELECT `zy_work_site_design`.*, `zy_design_type`.`name` as `type_name`, `zy_admin`.`name` as `designer_name`, `zy_admin`.`phone` as `designer_phone` FROM `zy_work_site_design` left join `zy_admin` on `zy_admin`.`id` = `zy_work_site_design`.`designer_id` left join `zy_design_type` on `zy_design_type`.`id` = `zy_work_site_design`.`type_id` "
- where["_page_size"] = utils.ToStr(1)
- where["_page_num"] = utils.ToStr(1)
- return db.GetMultiRaw(field, where, param, retVal)
- }
- func GetWorkSiteDesignByID(id int, retVal interface{}) error {
- where := map[string]string{
- "where": "`zy_work_site_design`.`id` = {{id}}",
- }
- param := map[string]interface{}{"id": id}
- return GetWorkSiteDesignOne(where, param, retVal)
- }
- func GetInfoByID(id int, fields []string, retVal interface{}) (*models.WorkSiteDesign, error) {
- return GetOne(map[string]interface{}{"id": id}, fields, retVal)
- }
|