@@ -183,6 +183,24 @@ func (self GithubLogic) translating(filesResult gjson.Result, _prInfo *prInfo) e
183
183
filename := val .Get ("filename" ).String ()
184
184
// 是否对原文的改动
185
185
if ! strings .HasPrefix (filename , "sources" ) {
186
+
187
+ // 目前改为采用 issue 的方式选题,不再有 sources
188
+ if strings .HasPrefix (filename , "translated" ) {
189
+ filenames := strings .SplitN (filename , "/" , 3 )
190
+ if len (filenames ) < 3 {
191
+ return true
192
+ }
193
+ title := filenames [2 ]
194
+ if title == "" {
195
+ return true
196
+ }
197
+
198
+ err := self .issueTranslated (_prInfo , title )
199
+ if err != nil {
200
+ outErr = err
201
+ }
202
+ }
203
+
186
204
return true
187
205
}
188
206
@@ -209,6 +227,53 @@ func (self GithubLogic) translating(filesResult gjson.Result, _prInfo *prInfo) e
209
227
return outErr
210
228
}
211
229
230
+ func (self GithubLogic ) issueTranslated (_prInfo * prInfo , title string ) error {
231
+ md5 := goutils .Md5 (title )
232
+ gcttGit := & model.GCTTGit {}
233
+ _ , err := MasterDB .Where ("md5=?" , md5 ).Get (gcttGit )
234
+ if err != nil {
235
+ logger .Errorln ("GithubLogic insertOrUpdateGCCT get error:" , err )
236
+ return err
237
+ }
238
+
239
+ if gcttGit .Id > 0 {
240
+ return nil
241
+ }
242
+
243
+ gcttUser := DefaultGCTT .FindOne (nil , _prInfo .username )
244
+
245
+ session := MasterDB .NewSession ()
246
+ defer session .Close ()
247
+ session .Begin ()
248
+
249
+ if gcttUser .Id == 0 {
250
+ gcttUser .Username = _prInfo .username
251
+ gcttUser .Avatar = _prInfo .avatar
252
+ gcttUser .JoinedAt = _prInfo .prTime .Unix ()
253
+ _ , err = session .Insert (gcttUser )
254
+ if err != nil {
255
+ session .Rollback ()
256
+ logger .Errorln ("GithubLogic issueTranslated insert gctt_user error:" , err )
257
+ return err
258
+ }
259
+ }
260
+
261
+ gcttGit .Username = _prInfo .username
262
+ gcttGit .Title = title
263
+ gcttGit .Md5 = md5
264
+ gcttGit .PR = _prInfo .number
265
+ gcttGit .TranslatedAt = _prInfo .prTime .Unix ()
266
+ _ , err = MasterDB .Insert (gcttGit )
267
+ if err != nil {
268
+ session .Rollback ()
269
+ logger .Errorln ("GithubLogic issueTranslated insert error:" , err )
270
+ return err
271
+ }
272
+
273
+ session .Commit ()
274
+ return nil
275
+ }
276
+
212
277
func (self GithubLogic ) translated (filesResult gjson.Result , _prInfo * prInfo ) error {
213
278
var (
214
279
sourceTitle string
0 commit comments