yanxuan_special.go 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962
  1. package controllers
  2. import (
  3. "encoding/json"
  4. "hongze/hongze_cygx/models"
  5. "hongze/hongze_cygx/utils"
  6. "time"
  7. )
  8. type YanxuanSpecialController struct {
  9. BaseAuthController
  10. }
  11. // @Title 专栏列表
  12. // @Description 专栏列表
  13. // @Param request body help_doc.AddHelpDocReq true "type json string"
  14. // @Success 200 {object} models.AddEnglishReportResp
  15. // @router /list [get]
  16. func (this *YanxuanSpecialController) List() {
  17. br := new(models.BaseResponse).Init()
  18. defer func() {
  19. this.Data["json"] = br
  20. this.ServeJSON()
  21. }()
  22. sysUser := this.User
  23. if sysUser == nil {
  24. br.Msg = "请登录"
  25. br.ErrMsg = "请登录,SysUser Is Empty"
  26. br.Ret = 408
  27. return
  28. }
  29. userId, _ := this.GetInt("UserId", 0)
  30. var condition string
  31. var pars []interface{}
  32. var specialUser *models.CygxYanxuanSpecialAuthorItem
  33. var err error
  34. if userId > 0 {
  35. condition += ` AND a.user_id = ? `
  36. pars = append(pars, userId)
  37. }
  38. specialUser, err = models.GetYanxuanSpecialAuthor(sysUser.UserId, sysUser.UserId)
  39. if err != nil && err.Error() != utils.ErrNoRow() {
  40. br.Msg = "获取失败"
  41. br.ErrMsg = "获取失败, Err:" + err.Error()
  42. return
  43. }
  44. condition += ` AND a.status = 2 `
  45. list, tmpErr := models.GetYanxuanSpecialList(sysUser.UserId, condition, pars)
  46. if tmpErr != nil {
  47. br.Msg = "获取失败"
  48. br.ErrMsg = "获取失败, Err:" + tmpErr.Error()
  49. return
  50. }
  51. for _, v := range list {
  52. hasImg, err := utils.ArticleHasImgUrl(v.Content)
  53. if err != nil {
  54. return
  55. }
  56. if hasImg {
  57. v.ContentHasImg = 1
  58. }
  59. }
  60. resp := new(models.SpecialListResp)
  61. if specialUser != nil {
  62. resp.IsAuthor = true
  63. }
  64. resp.List = list
  65. br.Data = resp
  66. br.Ret = 200
  67. br.Success = true
  68. br.Msg = "获取成功"
  69. }
  70. // @Title 专栏详情
  71. // @Description 专栏详情
  72. // @Param request body help_doc.AddHelpDocReq true "type json string"
  73. // @Success 200 {object} models.AddEnglishReportResp
  74. // @router /detail [get]
  75. func (this *YanxuanSpecialController) Detail() {
  76. br := new(models.BaseResponse).Init()
  77. defer func() {
  78. this.Data["json"] = br
  79. this.ServeJSON()
  80. }()
  81. sysUser := this.User
  82. if sysUser == nil {
  83. br.Msg = "请登录"
  84. br.ErrMsg = "请登录,SysUser Is Empty"
  85. br.Ret = 408
  86. return
  87. }
  88. specialId, _ := this.GetInt("Id", 0)
  89. if specialId <= 0 {
  90. br.Msg = "参数错误"
  91. br.ErrMsg = "参数错误"
  92. return
  93. }
  94. item, tmpErr := models.GetYanxuanSpecialById(specialId, sysUser.UserId)
  95. if tmpErr != nil {
  96. br.Msg = "获取失败"
  97. br.ErrMsg = "获取失败, Err:" + tmpErr.Error()
  98. return
  99. }
  100. if item.MyCollectNum > 0 {
  101. item.IsCollect = 1
  102. }
  103. br.Data = item
  104. br.Ret = 200
  105. br.Success = true
  106. br.Msg = "获取成功"
  107. }
  108. // @Title 新增保存专栏作者详情
  109. // @Description 新增保存专栏作者详情
  110. // @Param request body help_doc.AddHelpDocReq true "type json string"
  111. // @Success 200 {object} models.AddEnglishReportResp
  112. // @router /author/save [post]
  113. func (this *YanxuanSpecialController) AuthorSave() {
  114. br := new(models.BaseResponse).Init()
  115. defer func() {
  116. this.Data["json"] = br
  117. this.ServeJSON()
  118. }()
  119. sysUser := this.User
  120. if sysUser == nil {
  121. br.Msg = "请登录"
  122. br.ErrMsg = "请登录,SysUser Is Empty"
  123. br.Ret = 408
  124. return
  125. }
  126. var req models.SaveCygxYanxuanSpecialAuthorReq
  127. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  128. if err != nil {
  129. br.Msg = "参数解析异常!"
  130. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  131. return
  132. }
  133. if req.UserId <= 0 {
  134. br.Msg = "用户id有误"
  135. return
  136. }
  137. if req.SpecialName == "" {
  138. br.Msg = "请输入专栏名称"
  139. return
  140. }
  141. if req.NickName == "" {
  142. br.Msg = "请输入昵称"
  143. return
  144. }
  145. item := models.CygxYanxuanSpecialAuthor{
  146. UserId: req.UserId,
  147. SpecialName: req.SpecialName,
  148. Introduction: req.Introduction,
  149. Label: req.Label,
  150. NickName: req.NickName,
  151. CreateTime: time.Now(),
  152. ModifyTime: time.Now(),
  153. BgImg: "",
  154. Status: 1,
  155. }
  156. //if req.Id == 0{
  157. // _, err = models.AddCygxYanxuanSpecialAuthor(&item)
  158. // if err != nil {
  159. // br.Msg = "新增失败"
  160. // br.ErrMsg = "新增失败,Err:" + err.Error()
  161. // return
  162. // }
  163. //} else {
  164. // err = models.UpdateYanxuanSpecialAuthor(&item)
  165. // if err != nil {
  166. // br.Msg = "保存失败"
  167. // br.ErrMsg = "保存失败,Err:" + err.Error()
  168. // return
  169. // }
  170. //}
  171. err = models.UpdateYanxuanSpecialAuthor(&item)
  172. if err != nil {
  173. br.Msg = "保存失败"
  174. br.ErrMsg = "保存失败,Err:" + err.Error()
  175. return
  176. }
  177. br.Ret = 200
  178. br.Success = true
  179. br.Msg = "保存成功"
  180. }
  181. // @Title 新增保存专栏
  182. // @Description 新增保存专栏
  183. // @Param request body help_doc.AddHelpDocReq true "type json string"
  184. // @Success 200 {object} models.AddEnglishReportResp
  185. // @router /save [post]
  186. func (this *YanxuanSpecialController) Save() {
  187. br := new(models.BaseResponse).Init()
  188. defer func() {
  189. this.Data["json"] = br
  190. this.ServeJSON()
  191. }()
  192. sysUser := this.User
  193. if sysUser == nil {
  194. br.Msg = "请登录"
  195. br.ErrMsg = "请登录,SysUser Is Empty"
  196. br.Ret = 408
  197. return
  198. }
  199. var req models.CygxYanxuanSpecialReq
  200. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  201. if err != nil {
  202. br.Msg = "参数解析异常!"
  203. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  204. return
  205. }
  206. if req.Content == "" {
  207. br.Msg = "请输入内容"
  208. return
  209. }
  210. if req.Tags == "" {
  211. br.Msg = "请至少输入一个标签"
  212. return
  213. }
  214. item := models.CygxYanxuanSpecial{
  215. Id: req.Id,
  216. UserId: sysUser.UserId,
  217. CreateTime: time.Now(),
  218. ModifyTime: time.Now(),
  219. PublishTime: time.Now(),
  220. Content: req.Content,
  221. Tags: req.Tags,
  222. ImgUrl: req.ImgUrl,
  223. DocUrl: req.DocUrl,
  224. Title: req.Title,
  225. Type: req.Type,
  226. }
  227. if req.DoType == 1 {
  228. item.Status = 1
  229. } else {
  230. item.Status = 2
  231. }
  232. errCode := models.WxCheckContent(req.Content)
  233. if errCode != 0 {
  234. br.Msg = "文章内容含有违法违规内容"
  235. br.ErrMsg = "文章内容含有违法违规内容"
  236. return
  237. }
  238. if req.Id == 0 {
  239. _, err = models.AddCygxYanxuanSpecial(&item)
  240. if err != nil {
  241. br.Msg = "新增失败"
  242. br.ErrMsg = "新增失败,Err:" + err.Error()
  243. return
  244. }
  245. } else {
  246. err = models.UpdateYanxuanSpecial(&item)
  247. if err != nil {
  248. br.Msg = "保存失败"
  249. br.ErrMsg = "保存失败,Err:" + err.Error()
  250. return
  251. }
  252. }
  253. br.Ret = 200
  254. br.Success = true
  255. br.Msg = "保存成功"
  256. }
  257. // @Title 专栏作者详情
  258. // @Description 专栏作者详情
  259. // @Param request body help_doc.AddHelpDocReq true "type json string"
  260. // @Success 200 {object} models.AddEnglishReportResp
  261. // @router /author/detail [get]
  262. func (this *YanxuanSpecialController) AuthorDetail() {
  263. br := new(models.BaseResponse).Init()
  264. defer func() {
  265. this.Data["json"] = br
  266. this.ServeJSON()
  267. }()
  268. sysUser := this.User
  269. if sysUser == nil {
  270. br.Msg = "请登录"
  271. br.ErrMsg = "请登录,SysUser Is Empty"
  272. br.Ret = 408
  273. return
  274. }
  275. userId, _ := this.GetInt("UserId", 0)
  276. if userId == 0 {
  277. userId = sysUser.UserId
  278. }
  279. item, tmpErr := models.GetYanxuanSpecialAuthor(userId, sysUser.UserId)
  280. if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
  281. br.Msg = "获取失败"
  282. br.ErrMsg = "获取失败, Err:" + tmpErr.Error()
  283. return
  284. }
  285. br.Data = item
  286. br.Ret = 200
  287. br.Success = true
  288. br.Msg = "获取成功"
  289. }
  290. // @Title 审批研选专栏
  291. // @Description 审批研选专栏
  292. // @Param request body help_doc.AddHelpDocReq true "type json string"
  293. // @Success 200 {object} models.AddEnglishReportResp
  294. // @router /enable [post]
  295. func (this *YanxuanSpecialController) Enable() {
  296. br := new(models.BaseResponse).Init()
  297. defer func() {
  298. this.Data["json"] = br
  299. this.ServeJSON()
  300. }()
  301. sysUser := this.User
  302. if sysUser == nil {
  303. br.Msg = "请登录"
  304. br.ErrMsg = "请登录,SysUser Is Empty"
  305. br.Ret = 408
  306. return
  307. }
  308. var req models.EnableCygxYanxuanSpecialReq
  309. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  310. if err != nil {
  311. br.Msg = "参数解析异常!"
  312. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  313. return
  314. }
  315. if req.Id <= 0 {
  316. br.Msg = "文章id错误"
  317. return
  318. }
  319. if req.Status <= 0 {
  320. br.Msg = "参数错误"
  321. return
  322. }
  323. status := 0
  324. if req.Status == 1 {
  325. status = 3
  326. } else {
  327. status = 4
  328. }
  329. if tmpErr := models.EnableYanxuanSpecial(req.Id, status, req.Reason); tmpErr != nil {
  330. br.Msg = "审批失败"
  331. br.ErrMsg = "审批失败, Err:" + tmpErr.Error()
  332. return
  333. }
  334. br.Msg = "审批成功"
  335. br.Ret = 200
  336. br.Success = true
  337. }
  338. // @Title 研选专栏收藏
  339. // @Description 研选专栏收藏
  340. // @Param request body help_doc.AddHelpDocReq true "type json string"
  341. // @Success 200 {object} models.AddEnglishReportResp
  342. // @router /collect [post]
  343. func (this *YanxuanSpecialController) Collect() {
  344. br := new(models.BaseResponse).Init()
  345. defer func() {
  346. this.Data["json"] = br
  347. this.ServeJSON()
  348. }()
  349. sysUser := this.User
  350. if sysUser == nil {
  351. br.Msg = "请登录"
  352. br.ErrMsg = "请登录,SysUser Is Empty"
  353. br.Ret = 408
  354. return
  355. }
  356. var req models.CollectCygxYanxuanSpecialReq
  357. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  358. if err != nil {
  359. br.Msg = "参数解析异常!"
  360. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  361. return
  362. }
  363. if req.Id <= 0 {
  364. br.Msg = "文章id错误"
  365. return
  366. }
  367. if req.Status <= 0 {
  368. br.Msg = "参数错误"
  369. return
  370. }
  371. var sellerName string
  372. sellerName, err = models.GetCompanySellerName(sysUser.CompanyId)
  373. if err != nil {
  374. br.Msg = "报名失败!"
  375. br.ErrMsg = "获取对应销售失败,Err:" + err.Error()
  376. return
  377. }
  378. if req.Status == 1 {
  379. item := models.CygxYanxuanSpecialCollect{
  380. UserId: sysUser.UserId,
  381. Mobile: sysUser.Mobile,
  382. Email: sysUser.Email,
  383. CompanyId: sysUser.CompanyId,
  384. CompanyName: sysUser.CompanyName,
  385. RealName: sysUser.RealName,
  386. SellerName: sellerName,
  387. CreateTime: time.Now(),
  388. ModifyTime: time.Now(),
  389. RegisterPlatform: utils.REGISTER_PLATFORM,
  390. YanxuanSpecialId: req.Id,
  391. }
  392. _, err = models.AddCygxYanxuanSpecialCollect(&item)
  393. if err != nil {
  394. br.Msg = "新增失败"
  395. br.ErrMsg = "新增失败,Err:" + err.Error()
  396. return
  397. }
  398. br.Msg = "收藏成功"
  399. } else {
  400. err = models.DelCygxYanxuanSpecialCollect(sysUser.UserId, req.Id)
  401. if err != nil {
  402. br.Msg = "删除失败"
  403. br.ErrMsg = "删除失败,Err:" + err.Error()
  404. return
  405. }
  406. br.Msg = "取消收藏成功"
  407. }
  408. br.Ret = 200
  409. br.Success = true
  410. }
  411. // @Title 专栏内容中心
  412. // @Description 专栏内容中心
  413. // @Param request body help_doc.AddHelpDocReq true "type json string"
  414. // @Success 200 {object} models.AddEnglishReportResp
  415. // @router /center [get]
  416. func (this *YanxuanSpecialController) Center() {
  417. br := new(models.BaseResponse).Init()
  418. defer func() {
  419. this.Data["json"] = br
  420. this.ServeJSON()
  421. }()
  422. sysUser := this.User
  423. if sysUser == nil {
  424. br.Msg = "请登录"
  425. br.ErrMsg = "请登录,SysUser Is Empty"
  426. br.Ret = 408
  427. return
  428. }
  429. // 1:未发布,2:审核中 3:已发布 4:驳回
  430. status, _ := this.GetInt("Status", 0)
  431. if status <= 0 {
  432. br.Msg = "参数错误"
  433. br.ErrMsg = "参数错误"
  434. return
  435. }
  436. var condition string
  437. var pars []interface{}
  438. condition += ` AND a.user_id = ? `
  439. pars = append(pars, sysUser.UserId)
  440. condition += ` AND a.status = ? `
  441. pars = append(pars, status)
  442. list, tmpErr := models.GetYanxuanSpecialList(sysUser.UserId, condition, pars)
  443. if tmpErr != nil {
  444. br.Msg = "获取失败"
  445. br.ErrMsg = "获取失败, Err:" + tmpErr.Error()
  446. return
  447. }
  448. br.Data = list
  449. br.Ret = 200
  450. br.Success = true
  451. br.Msg = "获取成功"
  452. }
  453. // @Title 专栏点击记录
  454. // @Description 专栏点击记录
  455. // @Param request body models.AddCygxReportSelectionSubjectHistoryReq true "type json string"
  456. // @router /record [post]
  457. func (this *YanxuanSpecialController) Record() {
  458. br := new(models.BaseResponse).Init()
  459. defer func() {
  460. this.Data["json"] = br
  461. this.ServeJSON()
  462. }()
  463. user := this.User
  464. if user == nil {
  465. br.Msg = "请重新登录"
  466. br.Ret = 408
  467. return
  468. }
  469. var req models.AddCygxYanxuanSpecialRecordReq
  470. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  471. if err != nil {
  472. br.Msg = "参数解析异常!"
  473. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  474. return
  475. }
  476. if req.SpecialId <= 0 {
  477. br.Msg = "文章不存在"
  478. br.ErrMsg = "文章不存在,文章ID错误"
  479. return
  480. }
  481. var sellerName string
  482. sellerName, err = models.GetCompanySellerName(user.CompanyId)
  483. if err != nil {
  484. br.Msg = "报名失败!"
  485. br.ErrMsg = "获取对应销售失败,Err:" + err.Error()
  486. return
  487. }
  488. item := models.CygxYanxuanSpecialRecord{
  489. UserId: user.UserId,
  490. Mobile: user.Mobile,
  491. Email: user.Email,
  492. CompanyId: user.CompanyId,
  493. CompanyName: user.CompanyName,
  494. RealName: user.RealName,
  495. SellerName: sellerName,
  496. CreateTime: time.Now(),
  497. ModifyTime: time.Now(),
  498. RegisterPlatform: utils.REGISTER_PLATFORM,
  499. YanxuanSpecialId: req.SpecialId,
  500. }
  501. _, err = models.AddCygxYanxuanSpecialRecord(&item)
  502. if err != nil {
  503. br.Msg = "记录失败"
  504. br.ErrMsg = "记录失败,Err:" + err.Error()
  505. return
  506. }
  507. br.Ret = 200
  508. br.Success = true
  509. br.Msg = "记录成功"
  510. }
  511. // @Title 研选专栏关注
  512. // @Description 研选专栏关注
  513. // @Param request body help_doc.AddHelpDocReq true "type json string"
  514. // @Success 200 {object} models.AddEnglishReportResp
  515. // @router /follow [post]
  516. func (this *YanxuanSpecialController) Follow() {
  517. br := new(models.BaseResponse).Init()
  518. defer func() {
  519. this.Data["json"] = br
  520. this.ServeJSON()
  521. }()
  522. sysUser := this.User
  523. if sysUser == nil {
  524. br.Msg = "请登录"
  525. br.ErrMsg = "请登录,SysUser Is Empty"
  526. br.Ret = 408
  527. return
  528. }
  529. var req models.FollowCygxYanxuanSpecialReq
  530. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  531. if err != nil {
  532. br.Msg = "参数解析异常!"
  533. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  534. return
  535. }
  536. if req.FollowUserId <= 0 {
  537. br.Msg = "被关注的用户id"
  538. return
  539. }
  540. if req.Status <= 0 {
  541. br.Msg = "参数错误"
  542. return
  543. }
  544. var sellerName string
  545. sellerName, err = models.GetCompanySellerName(sysUser.CompanyId)
  546. if err != nil {
  547. br.Msg = "报名失败!"
  548. br.ErrMsg = "获取对应销售失败,Err:" + err.Error()
  549. return
  550. }
  551. if req.Status == 1 {
  552. item := models.CygxYanxuanSpecialFollow{
  553. UserId: sysUser.UserId,
  554. FollowUserId: req.FollowUserId,
  555. Mobile: sysUser.Mobile,
  556. Email: sysUser.Email,
  557. CompanyId: sysUser.CompanyId,
  558. CompanyName: sysUser.CompanyName,
  559. RealName: sysUser.RealName,
  560. SellerName: sellerName,
  561. CreateTime: time.Now(),
  562. ModifyTime: time.Now(),
  563. RegisterPlatform: utils.REGISTER_PLATFORM,
  564. YanxuanSpecialId: req.SpecialId,
  565. }
  566. err = models.AddCygxYanxuanSpecialFollow(&item)
  567. if err != nil {
  568. br.Msg = "新增失败"
  569. br.ErrMsg = "新增失败,Err:" + err.Error()
  570. return
  571. }
  572. br.Msg = "关注成功"
  573. } else {
  574. err = models.DelCygxYanxuanSpecialFollow(sysUser.UserId, req.FollowUserId)
  575. if err != nil {
  576. br.Msg = "删除失败"
  577. br.ErrMsg = "删除失败,Err:" + err.Error()
  578. return
  579. }
  580. br.Msg = "取消关注成功"
  581. }
  582. br.Ret = 200
  583. br.Success = true
  584. }
  585. // @Title 行业标签搜索
  586. // @Description 行业标签搜索
  587. // @Param request body help_doc.AddHelpDocReq true "type json string"
  588. // @Success 200 {object} models.AddEnglishReportResp
  589. // @router /industrySearch [get]
  590. func (this *YanxuanSpecialController) IndustrySearch() {
  591. br := new(models.BaseResponse).Init()
  592. defer func() {
  593. this.Data["json"] = br
  594. this.ServeJSON()
  595. }()
  596. sysUser := this.User
  597. if sysUser == nil {
  598. br.Msg = "请登录"
  599. br.ErrMsg = "请登录,SysUser Is Empty"
  600. br.Ret = 408
  601. return
  602. }
  603. keyword := this.GetString("Keyword")
  604. list, tmpErr := models.GetYanxuanSpecialIndustry(keyword)
  605. if tmpErr != nil {
  606. br.Msg = "获取失败"
  607. br.ErrMsg = "获取失败, Err:" + tmpErr.Error()
  608. return
  609. }
  610. br.Data = list
  611. br.Ret = 200
  612. br.Success = true
  613. br.Msg = "获取成功"
  614. }
  615. // @Title 公司标签搜索
  616. // @Description 公司标签搜索
  617. // @Param request body help_doc.AddHelpDocReq true "type json string"
  618. // @Success 200 {object} models.AddEnglishReportResp
  619. // @router /companySearch [get]
  620. func (this *YanxuanSpecialController) CompanySearch() {
  621. br := new(models.BaseResponse).Init()
  622. defer func() {
  623. this.Data["json"] = br
  624. this.ServeJSON()
  625. }()
  626. sysUser := this.User
  627. if sysUser == nil {
  628. br.Msg = "请登录"
  629. br.ErrMsg = "请登录,SysUser Is Empty"
  630. br.Ret = 408
  631. return
  632. }
  633. keyword := this.GetString("Keyword")
  634. if keyword == "" {
  635. br.Ret = 200
  636. return
  637. }
  638. list, tmpErr := models.GetYanxuanSpecialCompany(keyword)
  639. if tmpErr != nil {
  640. br.Msg = "获取失败"
  641. br.ErrMsg = "获取失败, Err:" + tmpErr.Error()
  642. return
  643. }
  644. br.Data = list
  645. br.Ret = 200
  646. br.Success = true
  647. br.Msg = "获取成功"
  648. }
  649. // @Title 专栏取消发布
  650. // @Description 专栏取消发布
  651. // @Param request body help_doc.AddHelpDocReq true "type json string"
  652. // @Success 200 {object} models.AddEnglishReportResp
  653. // @router /cancel [post]
  654. func (this *YanxuanSpecialController) Cancel() {
  655. br := new(models.BaseResponse).Init()
  656. defer func() {
  657. this.Data["json"] = br
  658. this.ServeJSON()
  659. }()
  660. sysUser := this.User
  661. if sysUser == nil {
  662. br.Msg = "请登录"
  663. br.ErrMsg = "请登录,SysUser Is Empty"
  664. br.Ret = 408
  665. return
  666. }
  667. var req models.CancelPublishCygxYanxuanSpecialReq
  668. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  669. if err != nil {
  670. br.Msg = "参数解析异常!"
  671. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  672. return
  673. }
  674. if req.Id <= 0 {
  675. br.Msg = "文章id错误"
  676. return
  677. }
  678. if tmpErr := models.CancelPublishYanxuanSpecial(req.Id); tmpErr != nil {
  679. br.Msg = "取消发布失败"
  680. br.ErrMsg = "取消发布失败, Err:" + tmpErr.Error()
  681. return
  682. }
  683. br.Msg = "取消发布成功"
  684. br.Ret = 200
  685. br.Success = true
  686. }
  687. // @Title 作者列表
  688. // @Description 作者列表
  689. // @Param request body help_doc.AddHelpDocReq true "type json string"
  690. // @Success 200 {object} models.AddEnglishReportResp
  691. // @router /author/list [get]
  692. func (this *YanxuanSpecialController) AuthorList() {
  693. br := new(models.BaseResponse).Init()
  694. defer func() {
  695. this.Data["json"] = br
  696. this.ServeJSON()
  697. }()
  698. sysUser := this.User
  699. if sysUser == nil {
  700. br.Msg = "请登录"
  701. br.ErrMsg = "请登录,SysUser Is Empty"
  702. br.Ret = 408
  703. return
  704. }
  705. var specialUser *models.CygxYanxuanSpecialAuthorItem
  706. var err error
  707. specialUser, err = models.GetYanxuanSpecialAuthor(sysUser.UserId, sysUser.UserId)
  708. if err != nil && err.Error() != utils.ErrNoRow() {
  709. br.Msg = "获取失败"
  710. br.ErrMsg = "获取失败, Err:" + err.Error()
  711. return
  712. }
  713. list, tmpErr := models.GetYanxuanSpecialAuthorList()
  714. if tmpErr != nil {
  715. br.Msg = "获取失败"
  716. br.ErrMsg = "获取失败, Err:" + tmpErr.Error()
  717. return
  718. }
  719. resp := new(models.SpecialAuthorListResp)
  720. if specialUser != nil {
  721. resp.IsAuthor = true
  722. }
  723. resp.List = list
  724. br.Data = resp
  725. br.Ret = 200
  726. br.Success = true
  727. br.Msg = "获取成功"
  728. }
  729. // @Title 更新作者头像
  730. // @Description 更新作者头像
  731. // @Param request body help_doc.AddHelpDocReq true "type json string"
  732. // @Success 200 {object} models.AddEnglishReportResp
  733. // @router /author/head_img [post]
  734. func (this *YanxuanSpecialController) AuthorHeadImg() {
  735. br := new(models.BaseResponse).Init()
  736. defer func() {
  737. this.Data["json"] = br
  738. this.ServeJSON()
  739. }()
  740. sysUser := this.User
  741. if sysUser == nil {
  742. br.Msg = "请登录"
  743. br.ErrMsg = "请登录,SysUser Is Empty"
  744. br.Ret = 408
  745. return
  746. }
  747. var req models.SaveCygxYanxuanSpecialAuthoHeadImgrReq
  748. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  749. if err != nil {
  750. br.Msg = "参数解析异常!"
  751. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  752. return
  753. }
  754. if req.UserId <= 0 {
  755. br.Msg = "用户id有误"
  756. return
  757. }
  758. if req.HeadImg == "" {
  759. br.Msg = "头像图片错误"
  760. return
  761. }
  762. item := models.CygxYanxuanSpecialAuthor{
  763. UserId: req.UserId,
  764. HeadImg: req.HeadImg,
  765. }
  766. err = models.UpdateYanxuanSpecialAuthorHeadImg(&item)
  767. if err != nil {
  768. br.Msg = "保存失败"
  769. br.ErrMsg = "保存失败,Err:" + err.Error()
  770. return
  771. }
  772. br.Ret = 200
  773. br.Success = true
  774. br.Msg = "保存成功"
  775. }
  776. // ResourceUpload 上传文件
  777. // @Title 上传文件
  778. // @Description 上传文件
  779. // @Param MenuId query int true "目录ID"
  780. // @Param File query file true "文件"
  781. // @Success 200 Ret=200 操作成功
  782. // @router /doc/upload [post]
  783. //func (this *YanxuanSpecialController) ResourceUpload() {
  784. // br := new(models.BaseResponse).Init()
  785. // defer func() {
  786. // this.Data["json"] = br
  787. // this.ServeJSON()
  788. // }()
  789. //
  790. // originName := this.GetString("OriginName", "")
  791. // if originName == "" {
  792. // br.Msg = "请上传文件名"
  793. // return
  794. // }
  795. // if !strings.Contains(originName, ".") {
  796. // br.Msg = "文件名有误"
  797. // return
  798. // }
  799. // f, h, e := this.GetFile("file")
  800. // if e != nil {
  801. // br.Msg = "获取资源信息失败"
  802. // br.ErrMsg = "获取资源信息失败, Err:" + e.Error()
  803. // return
  804. // }
  805. // defer func() {
  806. // _ = f.Close()
  807. // }()
  808. //
  809. // extIndex := strings.LastIndex(originName, ".")
  810. // fileName := originName[:extIndex]
  811. // ext := path.Ext(h.Filename)
  812. //
  813. // // 重名校验
  814. // existItem := new(models.CloudDiskResource)
  815. // existCond := ` AND resource_name = ? AND menu_id = ? `
  816. // existPars := make([]interface{}, 0)
  817. // existPars = append(existPars, fileName, menuId)
  818. // if e := existItem.GetItemByCondition(existCond, existPars); e != nil && e.Error() != utils.ErrNoRow() {
  819. // br.Msg = "操作失败"
  820. // br.ErrMsg = "获取重名文件失败, Err: " + e.Error()
  821. // return
  822. // }
  823. // if existItem != nil && existItem.MenuId > 0 {
  824. // br.Msg = fmt.Sprintf("文件名%s已存在", fileName)
  825. // return
  826. // }
  827. //
  828. // uploadDir := utils.STATIC_DIR + "hongze/" + time.Now().Format("20060102")
  829. // if e = os.MkdirAll(uploadDir, 766); e != nil {
  830. // br.Msg = "存储目录创建失败"
  831. // br.ErrMsg = "存储目录创建失败, Err:" + e.Error()
  832. // return
  833. // }
  834. // ossFileName := utils.GetRandStringNoSpecialChar(28) + ext
  835. // filePath := uploadDir + "/" + ossFileName
  836. // if e = this.SaveToFile("file", filePath); e != nil {
  837. // br.Msg = "文件保存失败"
  838. // br.ErrMsg = "文件保存失败, Err:" + e.Error()
  839. // return
  840. // }
  841. // defer func() {
  842. // _ = os.Remove(filePath)
  843. // }()
  844. // // 上传到阿里云
  845. // ossDir := "static/cloud_disk/"
  846. // resourceUrl, e := services.UploadAliyunToDir(ossFileName, filePath, ossDir, "")
  847. // if e != nil {
  848. // br.Msg = "文件上传失败"
  849. // br.ErrMsg = "文件上传失败, Err:" + e.Error()
  850. // return
  851. // }
  852. //
  853. // // 新增云盘资源
  854. // extMap := services.GetCloudDiskResourceFileTypeExtMap()
  855. // resourceIcon := extMap[ext]
  856. // if resourceIcon == "" {
  857. // resourceIcon = models.CloudDiskResourceFileTypeIconUnknown
  858. // }
  859. // resourceItem := &models.CloudDiskResource{
  860. // MenuId: menuId,
  861. // ResourceName: fileName,
  862. // ResourceSuffix: ext,
  863. // ResourceUrl: resourceUrl,
  864. // ResourceIcon: resourceIcon,
  865. // AdminId: this.SysUser.AdminId,
  866. // AdminName: this.SysUser.RealName,
  867. // Size: h.Size,
  868. // CreateTime: time.Now().Local(),
  869. // ModifyTime: time.Now().Local(),
  870. // }
  871. // if e = resourceItem.Create(); e != nil {
  872. // br.Msg = "上传失败"
  873. // br.ErrMsg = "新增云盘资源失败, Err: " + e.Error()
  874. // return
  875. // }
  876. //
  877. // // 更新目录大小
  878. // go func() {
  879. // if e = services.UpdateCloudDiskMenuSize(menuId); e != nil {
  880. // alarm_msg.SendAlarmMsg("更新云盘目录大小失败, Err: "+e.Error(), 3)
  881. // }
  882. // }()
  883. //
  884. // br.Msg = "上传成功"
  885. // br.Ret = 200
  886. // br.Success = true
  887. // br.Data = resourceItem
  888. //}