| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527 |
- package models
- import (
- "encoding/hex"
- "fmt"
- "mtp2_if/db"
- "mtp2_if/mtpcache"
- "mtp2_if/utils"
- "strconv"
- "strings"
- "time"
- )
- // Warehouseinfo 仓库信息表
- type GZWarehouseinfo struct {
- AUTOID int64 `json:"autoid" xorm:"AUTOID"` // 自增ID
- WAREHOUSECODE string `json:"warehousecode" xorm:"WAREHOUSECODE"` // 仓库代码
- WAREHOUSENAME string `json:"warehousename" xorm:"WAREHOUSENAME"` // 仓库名称
- WAREHOUSETYPE int32 `json:"warehousetype" xorm:"WAREHOUSETYPE"` // 仓库类型 - 1 厂库 2 自有库 3 合作库
- AREAUSERID int64 `json:"areauserid" xorm:"AREAUSERID"` // 所属机构
- WAREHOUSESTATUS int32 `json:"warehousestatus" xorm:"WAREHOUSESTATUS"` // 仓库状态 - 1:正常 2:注销 3:待审核 4:审核拒绝
- COUNTRYID int32 `json:"countryid" xorm:"COUNTRYID"` // 国家
- PROVINCEID int32 `json:"provinceid" xorm:"PROVINCEID"` // 省
- CITYID int32 `json:"cityid" xorm:"CITYID"` // 市
- DISTRICTID int32 `json:"districtid" xorm:"DISTRICTID"` // 区
- ADDRESS string `json:"address" xorm:"ADDRESS"` // 详细地址
- REMARK string `json:"remark" xorm:"REMARK"` // 审核备注
- CREATETIME string `json:"createtime" xorm:"CREATETIME"` // 创建时间
- HASVIDEO int32 `json:"hasvideo" xorm:"HASVIDEO"` // 是否有视频 - 0:无 1:有
- VIDEOURL string `json:"videourl" xorm:"VIDEOURL"` // 视频地址
- CONTACTNAME string `json:"contactname" xorm:"CONTACTNAME"` // 联系人
- CONTACTNUM string `json:"contactnum" xorm:"CONTACTNUM"` // 联系电话
- COUNTRYNAME string `json:"countryname"` // 国家名称
- CITYNAME string `json:"cityname"` // 城市名称
- PROVINCENAME string `json:"provincename"` // 省名称
- DISTRICTNAME string `json:"districtname"` // 地区名称
- PageEx `xorm:"extends"` // 页码信息
- UserId int64 `json:"-" form:"userid" binding:"required"` // 用户ID
- Status string `json:"-" form:"status"` // 仓库状态(可多项,逗号隔开) 1:正常 2:注销 3:待审核 4:审核拒绝
- IsIncludeExchange bool `json:"-" form:"isincludeexchange"` // 是返回交易所仓库
- }
- // TableName is WAREHOUSEINFO
- func (r *GZWarehouseinfo) TableName() string {
- return "WAREHOUSEINFO"
- }
- func (r *GZWarehouseinfo) calc() {
- r.COUNTRYNAME = mtpcache.GetDivisionName(r.COUNTRYID)
- r.CITYNAME = mtpcache.GetDivisionName(r.CITYID)
- r.PROVINCENAME = mtpcache.GetDivisionName(r.PROVINCEID)
- r.DISTRICTNAME = mtpcache.GetDivisionName(r.DISTRICTID)
- }
- func (r *GZWarehouseinfo) buildSql() string {
- var sqlId utils.SQLVal = `SELECT t.AUTOID,
- t.WAREHOUSECODE,
- t.WAREHOUSENAME,
- t.WAREHOUSETYPE,
- t.AREAUSERID,
- t.WAREHOUSESTATUS,
- t.COUNTRYID,
- t.PROVINCEID,
- t.CITYID,
- t.DISTRICTID,
- t.ADDRESS,
- t.REMARK,
- to_char(t.CREATETIME,'yyyy-mm-dd hh24:mi:ss') CREATETIME,
- t.HASVIDEO,
- t.VIDEOURL,
- t.CONTACTNAME,
- t.CONTACTNUM
- FROM WAREHOUSEINFO t
- WHERE (t.AREAUSERID = %v) `
- sqlId.FormatParam(r.UserId)
- if r.IsIncludeExchange {
- sqlId.Join(" OR (t.AREAUSERID IS NULL) OR (t.AREAUSERID = 1)")
- }
- if len(r.Status) > 0 {
- sqlId.JoinFormat(" and (t.WAREHOUSESTATUS in (%v))", r.Status)
- }
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- // GetDataByPage 获取团队订单
- func (r *GZWarehouseinfo) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]GZWarehouseinfo, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // MyWRPosition 我的库存
- type MyWRPosition struct {
- ZSALLPROPERTIES string `json:"-" xorm:"ZSALLPROPERTIES" form:"zsallproperties"` // 商品(查询字段-模糊查询)
- SELLUSERNAME string `json:"sellusername" xorm:"SELLUSERNAME"` // 账户名称(机构名称)
- SELLMOBILE string `json:"sellmobile" xorm:"SELLMOBILE"` // 手机号码(加密存储)
- ZSCATEGORYDISPLAY string `json:"zscategorydisplay" xorm:"ZSCATEGORYDISPLAY"` //
- ZSCURRENCYTYPEDISPLAY string `json:"zscurrencytypedisplay" xorm:"ZSCURRENCYTYPEDISPLAY"` //
- ZSCURRENCYTYPEDISPLAYUNIT string `json:"zscurrencytypedisplayunit" xorm:"ZSCURRENCYTYPEDISPLAYUNIT"` //
- WAREHOUSENAMEDISPLAY string `json:"warehousenamedisplay" xorm:"WAREHOUSENAMEDISPLAY"` //
- ZSSHAPETYPEDISPLAY string `json:"zsshapetypedisplay" xorm:"ZSSHAPETYPEDISPLAY"` //
- ZSCOLORTYPE1DISPLAY string `json:"zscolortype1display" xorm:"ZSCOLORTYPE1DISPLAY"` //
- ZSCOLORTYPE2DISPLAY string `json:"zscolortype2display" xorm:"ZSCOLORTYPE2DISPLAY"` //
- ZSCLARITYTYPE1DISPLAY string `json:"zsclaritytype1display" xorm:"ZSCLARITYTYPE1DISPLAY"` //
- ZSCLARITYTYPE2DISPLAY string `json:"zsclaritytype2display" xorm:"ZSCLARITYTYPE2DISPLAY"` //
- ZSCUTTYPE1DISPLAY string `json:"zscuttype1display" xorm:"ZSCUTTYPE1DISPLAY"` //
- ZSCUTTYPE2DISPLAY string `json:"zscuttype2display" xorm:"ZSCUTTYPE2DISPLAY"` //
- ZSSYMMETRYTYPE1DISPLAY string `json:"zssymmetrytype1display" xorm:"ZSSYMMETRYTYPE1DISPLAY"` //
- ZSSYMMETRYTYPE2DISPLAY string `json:"zssymmetrytype2display" xorm:"ZSSYMMETRYTYPE2DISPLAY"` //
- ZSPOLISHTYPE1DISPLAY string `json:"zspolishtype1display" xorm:"ZSPOLISHTYPE1DISPLAY"` //
- ZSPOLISHTYPE2DISPLAY string `json:"zspolishtype2display" xorm:"ZSPOLISHTYPE2DISPLAY"` //
- ZSFLUORESCENCETYPE1DISPLAY string `json:"zsfluorescencetype1display" xorm:"ZSFLUORESCENCETYPE1DISPLAY"` //
- ZSFLUORESCENCETYPE2DISPLAY string `json:"zsfluorescencetype2display" xorm:"ZSFLUORESCENCETYPE2DISPLAY"` //
- ZSCERTTYPEDISPLAY string `json:"zscerttypedisplay" xorm:"ZSCERTTYPEDISPLAY"` //
- ZSCRYSTALTYPEDISPLAY string `json:"zscrystaltypedisplay" xorm:"ZSCRYSTALTYPEDISPLAY"` //
- ZSSTYLETYPEDISPLAY string `json:"zsstyletypedisplay" xorm:"ZSSTYLETYPEDISPLAY"` //
- ZSCZCOLOR1TYPEDISPLAY string `json:"zsczcolor1typedisplay" xorm:"ZSCZCOLOR1TYPEDISPLAY"` //
- ZSCZCOLOR2TYPEDISPLAY string `json:"zsczcolor2typedisplay" xorm:"ZSCZCOLOR2TYPEDISPLAY"` //
- ZSCZCOLOR3TYPEDISPLAY string `json:"zsczcolor3typedisplay" xorm:"ZSCZCOLOR3TYPEDISPLAY"` //
- WRSTANDARDID int64 `json:"wrstandardid" xorm:"WRSTANDARDID"` // 现货商品ID
- USERID int64 `json:"userid" xorm:"USERID"` // 用户ID
- ZSCATEGORY int32 `json:"zscategory" xorm:"ZSCATEGORY"` // 钻石分类 - 枚举”ZSCategory“
- ZSCATEGORYS string `json:"-" form:"zscategorys"` // 钻石分类
- ZSCURRENCYTYPE int32 `json:"zscurrencytype" xorm:"ZSCURRENCYTYPE"` // 货币类型 - 枚举“ZSCurrencyType”
- GOODSNO string `json:"goodsno" xorm:"GOODSNO"` // 商品编号
- WAREHOUSEID int64 `json:"warehouseid" xorm:"WAREHOUSEID" form:"warehouseid"` // 仓库ID
- MARKETPRICE string `json:"marketprice" xorm:"MARKETPRICE"` // 市场价
- IMAGEPATH string `json:"imagepath" xorm:"IMAGEPATH"` // 商品照片(相对地址)
- WRPATH string `json:"wrpath" xorm:"WRPATH"` // 仓单扫描件(相对地址)
- REMARK string `json:"remark" xorm:"REMARK"` // 备注
- PRICE float64 `json:"price" xorm:"PRICE"` // 总价(价格) - 类型:1,2,3,4,5
- WEIGHT float64 `json:"weight" xorm:"WEIGHT"` // 总重量(克拉重量) - 类型:1,2,3,4,5
- WEIGHTAVG float64 `json:"weightavg" xorm:"WEIGHTAVG"` // 平均单颗重量 - 类型:1,3
- PRICEPER string `json:"priceper" xorm:"PRICEPER"` // 克拉单价 - 类型:1,2,3,5
- ZSSHAPETYPE string `json:"zsshapetype" xorm:"ZSSHAPETYPE"` // 形状 - 枚举”ZSShapeType“ - 类型:1,2,4,5 ;(1为多个,逗号分隔)
- ZSCOLORTYPE1 int32 `json:"zscolortype1" xorm:"ZSCOLORTYPE1"` // 颜色1 - 枚举”ZSColorType“ - 类型:1,2,3,4
- ZSCOLORTYPE2 int32 `json:"zscolortype2" xorm:"ZSCOLORTYPE2"` // 颜色2 - 枚举”ZSColorType“ - 类型:1,3
- ZSCLARITYTYPE1 int32 `json:"zsclaritytype1" xorm:"ZSCLARITYTYPE1"` // 净度1 - 枚举”ZSClarityType“ - 类型:1,2,3,4,5
- ZSCLARITYTYPE2 int32 `json:"zsclaritytype2" xorm:"ZSCLARITYTYPE2"` // 净度2 - 枚举”ZSClarityType“ - 类型:1,3
- ZSCUTTYPE1 int32 `json:"zscuttype1" xorm:"ZSCUTTYPE1"` // 切工1 - 枚举”ZSCutType“ - 类型:1,2,4,5
- ZSCUTTYPE2 int32 `json:"zscuttype2" xorm:"ZSCUTTYPE2"` // 切工2 - 枚举”ZSCutType“ - 类型:1
- ZSSYMMETRYTYPE1 int32 `json:"zssymmetrytype1" xorm:"ZSSYMMETRYTYPE1"` // 对称度1 - 枚举”ZSSymmetryType“ - 类型:1,2,4,5
- ZSSYMMETRYTYPE2 int32 `json:"zssymmetrytype2" xorm:"ZSSYMMETRYTYPE2"` // 对称度2 - 枚举”ZSSymmetryType“ - 类型:1
- ZSPOLISHTYPE1 int32 `json:"zspolishtype1" xorm:"ZSPOLISHTYPE1"` // 抛光度1 - 枚举”ZSPolishType“ - 类型:1,2,4,5
- ZSPOLISHTYPE2 int32 `json:"zspolishtype2" xorm:"ZSPOLISHTYPE2"` // 抛光度2 - 枚举”ZSPolishType“ - 类型:1
- ZSFLUORESCENCETYPE1 int32 `json:"zsfluorescencetype1" xorm:"ZSFLUORESCENCETYPE1"` // 荧光1 - 枚举”ZSFluorescenceType“ - 类型:1,2,3,4,5
- ZSFLUORESCENCETYPE2 int32 `json:"zsfluorescencetype2" xorm:"ZSFLUORESCENCETYPE2"` // 荧光2 - 枚举”ZSFluorescenceType” - 类型:1,3
- SIZE1 string `json:"size1" xorm:"SIZE1"` // 尺寸1 - 类型:2,4,5
- SIZE2 string `json:"size2" xorm:"SIZE2"` // 尺寸2 - 类型:2,4,5
- SIZE3 string `json:"size3" xorm:"SIZE3"` // 尺寸3 - 类型:2,4,5
- ZSCERTTYPE int32 `json:"zscerttype" xorm:"ZSCERTTYPE"` // 证书类型 - 枚举”ZSCertType“ - 类型:2,4,5
- CERNO string `json:"cerno" xorm:"CERNO"` // 证书编号 - 类型:2,4,5
- ZSCRYSTALTYPE string `json:"zscrystaltype" xorm:"ZSCRYSTALTYPE"` // 晶型范围 - 枚举“ZSCrystalType“ - 类型:3, 多个,逗号分隔
- CPCERTNO string `json:"cpcertno" xorm:"CPCERTNO"` // 金伯利证书编号 - 类型:3
- ORIGIN string `json:"origin" xorm:"ORIGIN"` // 原产地 - 类型:3
- KPWEIGHT string `json:"kpweight" xorm:"KPWEIGHT"` // 金伯利证书重量 - 类型:3
- KPPATH string `json:"kppath" xorm:"KPPATH"` // 金伯利证书图片(相对地址) - 类型:3
- ZSSTYLETYPE int32 `json:"zsstyletype" xorm:"ZSSTYLETYPE"` // 款式 - 类型:4
- STONEDESC string `json:"stonedesc" xorm:"STONEDESC"` // 配石描述 - 类型:4
- SETTINGMATERIAL string `json:"settingmaterial" xorm:"SETTINGMATERIAL"` // 镶嵌材料 - 类型:4
- ZSCZCOLOR1TYPE int32 `json:"zsczcolor1type" xorm:"ZSCZCOLOR1TYPE"` // 彩钻颜色1 - 枚举”ZSCZColor1Type“ - 类型:5
- ZSCZCOLOR2TYPE int32 `json:"zsczcolor2type" xorm:"ZSCZCOLOR2TYPE"` // 彩钻颜色2 - 枚举”ZSCZColor2Type“ - 类型:5
- ZSCZCOLOR3TYPE int32 `json:"zsczcolor3type" xorm:"ZSCZCOLOR3TYPE"` // 彩钻颜色3 - 枚举”ZSCZColor3Type“ - 类型:5
- ISVALID int32 `json:"isvalid" xorm:"ISVALID"` // 是否有效 - 0:无效 1:有效
- SIZEDISPLAY string `json:"sizedisplay" xorm:"SIZEDISPLAY"` // 尺寸
- QTY int64 `json:"-" xorm:"QTY"`
- FREEZERQTY int64 `json:"-" xorm:"FREEZERQTY"`
- FTOTALQTY float64 `json:"ftotalqty"` // 库存数量:WRPosition表:TOTALQTY /100 , 保留两位小数
- FFREEZEQTY float64 `json:"ffreezeqty"` // 冻结数量:WRPosition表:FREEZEQTY/100 , 保留两位小数
- LADINGBILLID string `json:"ladingbillid" xorm:"LADINGBILLID"` // 提单ID(208+Unix秒时间戳(10位)+xxxxxx)
- SUBNUM int32 `json:"subnum" xorm:"SUBNUM"` // 提单子单号
- WRTRADEORDERID string `json:"wrtradeorderid" xorm:"WRTRADEORDERID1" form:"wrtradeorderid"` // 仓单贸易委托单ID(320+Unix秒时间戳(10位)+xxxxxx)
- PageEx `xorm:"extends"` // 页码信息
- WRUSERID int64 `json:"wruserid" xorm:"WRUSERID" form:"wruserid" binding:"required"` // 登录用户ID
- MARKETFLAG int `json:"marketflag" form:"marketflag"` // 是否上架,0-全部 1-是 2-否
- }
- func (r *MyWRPosition) calc() {
- if r.QTY != 0 {
- a := SFLOAT64(float64(r.QTY) / 100)
- a.Round(2)
- r.FTOTALQTY = a.Float64()
- }
- if r.FREEZERQTY != 0 {
- a := SFLOAT64(float64(r.FREEZERQTY) / 100)
- a.Round(2)
- r.FFREEZEQTY = a.Float64()
- }
- if r.FREEZERQTY > 0 {
- r.MARKETFLAG = 1
- } else {
- r.MARKETFLAG = 2
- }
- }
- func (r *MyWRPosition) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- t.QTY,
- t.FREEZERQTY,
- to_char(t.LADINGBILLID) LADINGBILLID,
- t.SUBNUM,
- to_char(od.WRTRADEORDERID) WRTRADEORDERID1,
- wr.*,
- CASE WHEN
- wr.SIZE1 IS NOT NULL AND wr.SIZE2 IS NOT NULL AND wr.SIZE2 IS NOT NULL THEN wr.SIZE1 || '*' || wr.SIZE2 || '*' || wr.SIZE3
- ELSE wr.SIZE1
- END AS SIZEDISPLAY
- FROM WRHoldLB t
- INNER JOIN WRFactorType ft ON t.wrfactortypeid = ft.wrfactortypeid
- INNER JOIN View_GZ_WRStandard_Ex_Query wr ON ft.wrstandardid = wr.wrstandardid
- LEFT JOIN WRTrade_OrderDetail od ON od.wrstandardid = wr.wrstandardid and od.wrtradeorderstatus in (3,7)
- WHERE t.qty > 0 AND t.userid = %v
- `
- sqlId.FormatParam(r.WRUSERID)
- if r.ZSCATEGORYS != "" {
- sqlId.JoinFormat(" AND wr.ZSCATEGORY in (%v)", r.ZSCATEGORYS)
- }
- sqlId.AndLike("wr.ZSALLPROPERTIES", r.ZSALLPROPERTIES)
- sqlId.AndEx("wr.WAREHOUSEID", r.WAREHOUSEID, r.WAREHOUSEID > 0)
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *MyWRPosition) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]MyWRPosition, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // BuyOrder 求购大厅委托单
- type BuyOrder struct {
- ZSALLPROPERTIES string `json:"-" xorm:"ZSALLPROPERTIES" form:"zsallproperties"` // 商品(查询字段-模糊查询)
- ZSTABLEDISPLAY string `json:"zstabledisplay" xorm:"ZSTABLEDISPLAY"` // 求购信息
- BUYUSERNAME string `json:"buyusername" xorm:"BUYUSERNAME" form:"buyusername"` // 买方
- ZSCATEGORYDISPLAY string `json:"zscategorydisplay" xorm:"ZSCATEGORYDISPLAY"` //
- ZSCURRENCYTYPEDISPLAY string `json:"zscurrencytypedisplay" xorm:"ZSCURRENCYTYPEDISPLAY"` //
- ZSSHAPETYPEDISPLAY string `json:"zsshapetypedisplay" xorm:"ZSSHAPETYPEDISPLAY"` //
- ZSCOLORTYPEDISPLAY string `json:"zscolortypedisplay" xorm:"ZSCOLORTYPEDISPLAY"` //
- ZSCLARITYTYPEDISPLAY string `json:"zsclaritytypedisplay" xorm:"ZSCLARITYTYPEDISPLAY"` //
- ZSCUTTYPEDISPLAY string `json:"zscuttypedisplay" xorm:"ZSCUTTYPEDISPLAY"` //
- ZSSYMMETRYTYPEDISPLAY string `json:"zssymmetrytypedisplay" xorm:"ZSSYMMETRYTYPEDISPLAY"` //
- ZSPOLISHTYPEDISPLAY string `json:"zspolishtypedisplay" xorm:"ZSPOLISHTYPEDISPLAY"` //
- ZSFLUORESCENCETYPEDISPLAY string `json:"zsfluorescencetypedisplay" xorm:"ZSFLUORESCENCETYPEDISPLAY"` //
- ZSCRYSTALTYPEDISPLAY string `json:"zscrystaltypedisplay" xorm:"ZSCRYSTALTYPEDISPLAY"` //
- ZSSTYLETYPEDISPLAY string `json:"zsstyletypedisplay" xorm:"ZSSTYLETYPEDISPLAY"` //
- ZSCZCOLOR1TYPEDISPLAY string `json:"zsczcolor1typedisplay" xorm:"ZSCZCOLOR1TYPEDISPLAY"` //
- ZSCZCOLOR2TYPEDISPLAY string `json:"zsczcolor2typedisplay" xorm:"ZSCZCOLOR2TYPEDISPLAY"` //
- ZSCZCOLOR3TYPEDISPLAY string `json:"zsczcolor3typedisplay" xorm:"ZSCZCOLOR3TYPEDISPLAY"` //
- WAREHOUSEINFOSDISPLAY string `json:"warehouseinfosdisplay" xorm:"WAREHOUSEINFOSDISPLAY"` //
- ZSSIZEDISPLAY string `json:"zssizedisplay" xorm:"ZSSIZEDISPLAY"` // 颜色
- WRTRADEORDERID string `json:"wrtradeorderid" xorm:"WRTRADEORDERID1" form:"wrtradeorderid"` // [委托单号]买委托单ID(320+Unix秒时间戳(10位)+xxxxxx)
- USERID int64 `json:"userid" xorm:"USERID"` // 用户ID
- ACCOUNTID int64 `json:"accountid" xorm:"ACCOUNTID"` // 资金账户ID
- WRTRADEORDERSTATUS int32 `json:"wrtradeorderstatus" xorm:"WRTRADEORDERSTATUS"` // 委托状态 - 参考枚举'WRTradeOrderStatus' - 1:委托请求 2:待冻结 3:委托成功 4:委托失败 5:配对成功 6:已撤 7:部成 8:已成 9:部成部撤 10:成交失败 11:委托拒绝 12:经过摘牌(先摘后挂专用) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤 16:成交失败违约(荷兰式竞拍专用) 17:冻结PD成功 18:冻结PD失败 19:冻结能量成功 20:冻结能量失败 21:预约已报价 22:过期未付 23:优惠券处理中 24:仓单生成失败 25:首付扣款失败 26:履约失败 27:撤单解冻贷款失败WRTrade_OrderDetail、
- VALIDTIME string `json:"validtime" xorm:"VALIDTIME"` // 有效期限
- ORDERTIME string `json:"ordertime" xorm:"ORDERTIME"` // 委托时间
- PERFORMANCETEMPLATEID int64 `json:"performancetemplateid" xorm:"PERFORMANCETEMPLATEID"` // 履约计划模板ID
- ZSCATEGORY int32 `json:"zscategory" xorm:"ZSCATEGORY"` // 钻石分类 - 枚举”ZSCategory“
- ZSCATEGORYS string `json:"-" form:"zscategorys"` // 钻石分类
- ZSCURRENCYTYPE string `json:"zscurrencytype" xorm:"ZSCURRENCYTYPE"` // 货币类型 - 多个, 逗号分隔
- ZSSHAPETYPE string `json:"zsshapetype" xorm:"ZSSHAPETYPE"` // 形状 - 多个, 逗号分隔
- ZSCOLORTYPE string `json:"zscolortype" xorm:"ZSCOLORTYPE"` // 颜色 - 两个, 逗号分隔
- ZSCLARITYTYPE string `json:"zsclaritytype" xorm:"ZSCLARITYTYPE"` // 净度 - 两个, 逗号分隔
- ZSCUTTYPE string `json:"zscuttype" xorm:"ZSCUTTYPE"` // 切工 - 两个, 逗号分隔
- ZSSYMMETRYTYPE string `json:"zssymmetrytype" xorm:"ZSSYMMETRYTYPE"` // 对称度 - 两个, 逗号分隔
- ZSPOLISHTYPE string `json:"zspolishtype" xorm:"ZSPOLISHTYPE"` // 抛光度 - 两个, 逗号分隔
- ZSFLUORESCENCETYPE string `json:"zsfluorescencetype" xorm:"ZSFLUORESCENCETYPE"` // 荧光 - 多个, 逗号分隔
- ZSSIZE string `json:"zssize" xorm:"ZSSIZE"` // 尺寸 - 两个小数, 逗号分隔
- ZSCRYSTALTYPE string `json:"zscrystaltype" xorm:"ZSCRYSTALTYPE"` // 晶型 - 多个,逗号分隔
- ORIGIN string `json:"origin" xorm:"ORIGIN"` // 原产地
- ZSSTYLETYPE string `json:"zsstyletype" xorm:"ZSSTYLETYPE"` // 款式 - 多个, 逗号分隔
- ZSCZCOLOR1TYPE string `json:"zsczcolor1type" xorm:"ZSCZCOLOR1TYPE"` // 彩钻颜色1, 逗号分隔
- ZSCZCOLOR2TYPE string `json:"zsczcolor2type" xorm:"ZSCZCOLOR2TYPE"` // 彩钻颜色2, 逗号分隔
- ZSCZCOLOR3TYPE string `json:"zsczcolor3type" xorm:"ZSCZCOLOR3TYPE"` // 彩钻颜色3, 逗号分隔
- REMARK string `json:"remark" xorm:"REMARK"` // 备注
- WAREHOUSEIDS string `json:"warehouseids" xorm:"WAREHOUSEIDS"` // 仓库ID - 多个, 逗号分隔
- MARKETID int32 `json:"marketid" xorm:"MARKETID"` // 市场ID
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *BuyOrder) calc() {
- }
- func (r *BuyOrder) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- to_char(t.WRTRADEORDERID) WRTRADEORDERID1,
- t.WRTRADEORDERSTATUS,
- to_char(t.VALIDTIME, 'yyyy-mm-dd') VALIDTIME,
- to_char(t.ORDERTIME, 'yyyy-mm-dd hh24:mi:ss') ORDERTIME,
- t.PERFORMANCETEMPLATEID,
- q.*
- FROM WRTrade_OrderDetail t
- INNER JOIN View_GZ_BuyOrderDetail_Query q ON t.wrtradeorderid = q.wrtradeorderid
- WHERE t.marketid=67201 AND t.BuyOrSell = 0 AND t.WRTradeOrderStatus IN (3,7)
- `
- if r.ZSCATEGORYS != "" {
- sqlId.JoinFormat(" AND q.ZSCATEGORY in (%v)", r.ZSCATEGORYS)
- }
- sqlId.AndLike("q.ZSALLPROPERTIES", r.ZSALLPROPERTIES)
- sqlId.AndEx("q.WRTRADEORDERID", r.WRTRADEORDERID, r.WRTRADEORDERID != "")
- sqlId.AndLike("q.BUYUSERNAME", r.BUYUSERNAME)
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *BuyOrder) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]BuyOrder, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // SellOrderQueryReq 钻石搜索入参
- type SellOrderQueryReq struct {
- ZSCATEGORY int32 `json:"zscategory" binding:"required"` // 钻石分类 - 枚举”ZSCategory“
- ZSCURRENCYTYPE []string `json:"zscurrencytype"` // 货币类型 - 枚举“ZSCurrencyType”
- WAREHOUSEID int64 `json:"warehouseid"` // 仓库ID
- WEIGHT1 float64 `json:"weight1"` // 总重量(克拉重量)-从
- WEIGHT2 float64 `json:"weight2"` // 总重量(克拉重量)-至
- WEIGHTAVG1 float64 `json:"weightavg1"` // 平均单颗重量-从
- WEIGHTAVG2 float64 `json:"weightavg2"` // 平均单颗重量-至
- ZSSHAPETYPE []string `json:"zsshapetype"` // 形状 - 枚举”ZSShapeType“ - 类型:1,2,4,5 ;(1为多个,逗号分隔)
- ZSCOLORTYPE []int32 `json:"zscolortype"` // 颜色
- ZSCLARITYTYPE []int32 `json:"zsclaritytype"` // 净度
- ZSCUTTYPE []int32 `json:"zscuttype"` // 切工
- ZSSYMMETRYTYPE []int32 `json:"zssymmetrytype"` // 对称度
- ZSPOLISHTYPE []int32 `json:"zspolishtype"` // 抛光度
- ZSFLUORESCENCETYPE []int32 `json:"zsfluorescencetype"` // 荧光
- ZSCERTTYPE []string `json:"zscerttype"` // 证书类型
- ORIGIN string `json:"origin"` // 原产地
- ZSSTYLETYPE []string `json:"zsstyletype"` // 款式
- ZSCZCOLOR1TYPE []string `json:"zsczcolor1type"` // 彩钻颜色1
- PageJosn // 分页
- }
- // SellOrder 出售大厅委托单
- type SellOrder struct {
- ZSALLPROPERTIES string `json:"-" xorm:"ZSALLPROPERTIES" form:"zsallproperties"` // 商品(查询字段-模糊查询)
- SELLUSERNAME string `json:"sellusername" xorm:"SELLUSERNAME" form:"sellusername"` // 卖方(查询字段-模糊查询)
- ZSCATEGORYDISPLAY string `json:"zscategorydisplay" xorm:"ZSCATEGORYDISPLAY"` // 钻石分类 - 描述
- ZSCURRENCYTYPEDISPLAY string `json:"zscurrencytypedisplay" xorm:"ZSCURRENCYTYPEDISPLAY"` //
- ZSCURRENCYTYPEDISPLAYUNIT string `json:"zscurrencytypedisplayunit" xorm:"ZSCURRENCYTYPEDISPLAYUNIT"` //
- WAREHOUSENAMEDISPLAY string `json:"warehousenamedisplay" xorm:"WAREHOUSENAMEDISPLAY"` //
- ZSSHAPETYPEDISPLAY string `json:"zsshapetypedisplay" xorm:"ZSSHAPETYPEDISPLAY"` //
- ZSCOLORTYPE1DISPLAY string `json:"zscolortype1display" xorm:"ZSCOLORTYPE1DISPLAY"` //
- ZSCOLORTYPE2DISPLAY string `json:"zscolortype2display" xorm:"ZSCOLORTYPE2DISPLAY"` //
- ZSCLARITYTYPE1DISPLAY string `json:"zsclaritytype1display" xorm:"ZSCLARITYTYPE1DISPLAY"` //
- ZSCLARITYTYPE2DISPLAY string `json:"zsclaritytype2display" xorm:"ZSCLARITYTYPE2DISPLAY"` //
- ZSCUTTYPE1DISPLAY string `json:"zscuttype1display" xorm:"ZSCUTTYPE1DISPLAY"` //
- ZSCUTTYPE2DISPLAY string `json:"zscuttype2display" xorm:"ZSCUTTYPE2DISPLAY"` //
- ZSSYMMETRYTYPE1DISPLAY string `json:"zssymmetrytype1display" xorm:"ZSSYMMETRYTYPE1DISPLAY"` //
- ZSSYMMETRYTYPE2DISPLAY string `json:"zssymmetrytype2display" xorm:"ZSSYMMETRYTYPE2DISPLAY"` //
- ZSPOLISHTYPE1DISPLAY string `json:"zspolishtype1display" xorm:"ZSPOLISHTYPE1DISPLAY"` //
- ZSPOLISHTYPE2DISPLAY string `json:"zspolishtype2display" xorm:"ZSPOLISHTYPE2DISPLAY"` //
- ZSFLUORESCENCETYPE1DISPLAY string `json:"zsfluorescencetype1display" xorm:"ZSFLUORESCENCETYPE1DISPLAY"` //
- ZSFLUORESCENCETYPE2DISPLAY string `json:"zsfluorescencetype2display" xorm:"ZSFLUORESCENCETYPE2DISPLAY"` //
- ZSCERTTYPEDISPLAY string `json:"zscerttypedisplay" xorm:"ZSCERTTYPEDISPLAY"` //
- ZSCRYSTALTYPEDISPLAY string `json:"zscrystaltypedisplay" xorm:"ZSCRYSTALTYPEDISPLAY"` //
- ZSSTYLETYPEDISPLAY string `json:"zsstyletypedisplay" xorm:"ZSSTYLETYPEDISPLAY"` //
- ZSCZCOLOR1TYPEDISPLAY string `json:"zsczcolor1typedisplay" xorm:"ZSCZCOLOR1TYPEDISPLAY"` //
- ZSCZCOLOR2TYPEDISPLAY string `json:"zsczcolor2typedisplay" xorm:"ZSCZCOLOR2TYPEDISPLAY"` //
- ZSCZCOLOR3TYPEDISPLAY string `json:"zsczcolor3typedisplay" xorm:"ZSCZCOLOR3TYPEDISPLAY"` //
- MARKETPRICE string `json:"marketprice" xorm:"MARKETPRICE"` //
- IMAGEPATH string `json:"imagepath" xorm:"IMAGEPATH"` //
- WRPATH string `json:"wrpath" xorm:"WRPATH"` //
- REMARK string `json:"remark" xorm:"REMARK"` //
- PRICEPER string `json:"priceper" xorm:"PRICEPER"` //
- SIZE1 string `json:"size1" xorm:"SIZE1"` //
- SIZE2 string `json:"size2" xorm:"SIZE2"` //
- SIZE3 string `json:"size3" xorm:"SIZE3"` //
- CERNO string `json:"cerno" xorm:"CERNO"` //
- ZSCRYSTALTYPE string `json:"zscrystaltype" xorm:"ZSCRYSTALTYPE"` //
- CPCERTNO string `json:"cpcertno" xorm:"CPCERTNO"` //
- KPWEIGHT string `json:"kpweight" xorm:"KPWEIGHT"` //
- KPPATH string `json:"kppath" xorm:"KPPATH"` //
- STONEDESC string `json:"stonedesc" xorm:"STONEDESC"` // 配石描述
- SETTINGMATERIAL string `json:"settingmaterial" xorm:"SETTINGMATERIAL"` // 镶嵌材料
- PRICE float64 `json:"price" xorm:"PRICE"` // 价格
- SIZEDISPLAY string `json:"sizedisplay" xorm:"SIZEDISPLAY"` // 尺寸
- WRSTANDARDID int64 `json:"wrstandardid" xorm:"WRSTANDARDID"` // 现货商品ID
- USERID int64 `json:"userid" xorm:"USERID"` // 用户ID
- ZSCATEGORY int32 `json:"zscategory" xorm:"ZSCATEGORY"` // 钻石分类 - 枚举”ZSCategory“
- ZSCATEGORYS string `json:"-" form:"zscategorys"` // 钻石分类
- ZSCURRENCYTYPE int32 `json:"zscurrencytype" xorm:"ZSCURRENCYTYPE"` // 货币类型 - 枚举“ZSCurrencyType”
- GOODSNO string `json:"goodsno" xorm:"GOODSNO"` // 商品编号
- IsQueryDiamond bool // 是否钻石查询
- ZSCURRENCYTYPE_S []string `json:"-"` // 货币类型 - 枚举“ZSCurrencyType”
- WAREHOUSEID int64 `json:"-"` // 仓库ID
- WEIGHT float64 `json:"-"` // 总重量(克拉重量) - 类型:1,2,3,4,5
- WEIGHT_END float64 `json:"-"` // 总重量(克拉重量) - 类型:1,2,3,4,5
- WEIGHTAVG float64 `json:"-"` // 平均单颗重量 - 类型:1,3
- WEIGHTAVG_END float64 `json:"-"` // 平均单颗重量 - 类型:1,3
- ZSSHAPETYPE []string `json:"-"` // 形状 - 枚举”ZSShapeType“ - 类型:1,2,4,5 ;(1为多个,逗号分隔)
- ZSCOLORTYPE1 int32 `json:"-"` // 颜色1 - 枚举”ZSColorType“ - 类型:1,2,3,4
- ZSCOLORTYPE2 int32 `json:"-"` // 颜色2 - 枚举”ZSColorType“ - 类型:1,3
- ZSCOLORTYPE []int32 `json:"-"` // 颜色
- ZSCLARITYTYPE1 int32 `json:"-"` // 净度1 - 枚举”ZSClarityType“ - 类型:1,2,3,4,5
- ZSCLARITYTYPE2 int32 `json:"-"` // 净度2 - 枚举”ZSClarityType“ - 类型:1,3
- ZSCLARITYTYPE []int32 `json:"-"` // 净度
- ZSCUTTYPE1 int32 `json:"-"` // 切工1 - 枚举”ZSCutType“ - 类型:1,2,4,5
- ZSCUTTYPE2 int32 `json:"-"` // 切工2 - 枚举”ZSCutType“ - 类型:1
- ZSCUTTYPE []int32 `json:"-"` // 切工
- ZSSYMMETRYTYPE1 int32 `json:"-"` // 对称度1 - 枚举”ZSSymmetryType“ - 类型:1,2,4,5
- ZSSYMMETRYTYPE2 int32 `json:"-"` // 对称度2 - 枚举”ZSSymmetryType“ - 类型:1
- ZSSYMMETRYTYPE []int32 `json:"-"` // 对称度
- ZSPOLISHTYPE1 int32 `json:"-"` // 抛光度1 - 枚举”ZSPolishType“ - 类型:1,2,4,5
- ZSPOLISHTYPE2 int32 `json:"-"` // 抛光度2 - 枚举”ZSPolishType“ - 类型:1
- ZSPOLISHTYPE []int32 `json:"-"` // 抛光度
- ZSFLUORESCENCETYPE1 int32 `json:"-"` // 荧光1 - 枚举”ZSFluorescenceType“ - 类型:1,2,3,4,5
- ZSFLUORESCENCETYPE2 int32 `json:"-"` // 荧光2 - 枚举”ZSFluorescenceType” - 类型:1,3
- ZSFLUORESCENCETYPE []int32 `json:"-"` // 荧光
- ZSCERTTYPE []string `json:"-"` // 证书类型
- ORIGIN string `json:"-"` // 原产地 - 类型:3
- ZSSTYLETYPE []string `json:"-"` // 款式 - 类型:4
- ZSCZCOLOR1TYPE []string `json:"-" xorm:"ZSCZCOLOR1TYPE"` // 彩钻颜色1 - 枚举”ZSCZColor1Type“ - 类型:5
- WRTRADEORDERID string `json:"wrtradeorderid" xorm:"WRTRADEORDERID1" form:"wrtradeorderid"` // 仓单贸易委托单ID(320+Unix秒时间戳(10位)+xxxxxx)
- TRADEDATE string `json:"tradedate" xorm:"TRADEDATE"` // 交易日(yyyyMMdd)
- WRTRADETYPE int32 `json:"wrtradetype" xorm:"WRTRADETYPE"` // 仓单贸易类型 - 1:挂牌 2:摘牌 3:提货卖(文化中国) 4:提货买(文化中国)
- BUYORSELL int32 `json:"buyorsell" xorm:"BUYORSELL"` // 买卖 - 0:买 1:卖
- RELATEDWRTRADEORDERID int64 `json:"relatedwrtradeorderid" xorm:"RELATEDWRTRADEORDERID"` // 关联委托单号(摘牌委托关联挂牌委托单ID)
- MARKETID int64 `json:"marketid" xorm:"MARKETID"` // 市场ID
- ACCOUNTID int64 `json:"accountid" xorm:"ACCOUNTID"` // 资金账号
- WRFACTORTYPEID int64 `json:"wrfactortypeid" xorm:"WRFACTORTYPEID"` // 仓单要素类型ID/商品ID(77)
- ORDERQTY int64 `json:"-" xorm:"ORDERQTY"` // 委托数量
- TRADEQTY int64 `json:"-" xorm:"TRADEQTY"` // 成交数量
- CANCELQTY int64 `json:"cancelqty" xorm:"CANCELQTY"` // 撤销数量
- WRPRICETYPE int32 `json:"wrpricetype" xorm:"WRPRICETYPE"` // 价格方式 - 1:固定价 2-浮动价 - [挂牌]
- FIXEDPRICE float64 `json:"fixedprice" xorm:"FIXEDPRICE"` // [克拉单价]固定价格 - [挂牌]
- ISSPECIFIED int32 `json:"isspecified" xorm:"ISSPECIFIED"` // 是否指定对手 - 0:不指定 1:指定好友(贸易圈) 2:指定对手 - [挂牌]
- PRICEFACTOR float64 `json:"pricefactor" xorm:"PRICEFACTOR"` // 价格系数(浮动价时填写) - [挂牌]
- PRICEMOVE float64 `json:"pricemove" xorm:"PRICEMOVE"` // 升贴水(浮动价时填写) - [挂牌]
- FIRSTRATIO float64 `json:"firstratio" xorm:"FIRSTRATIO"` // 首付比率 - [挂牌时指定,摘牌时使用]
- WRTRANSFERUSERID int64 `json:"wrtransferuserid" xorm:"WRTRANSFERUSERID"` // 仓单受让用户 - [摘牌]
- TRADEPRICE float64 `json:"tradeprice" xorm:"TRADEPRICE"` // 成交价格 - [摘牌] (浮动价 ((商品1价格*商品1价格系数+升贴水)* 商品1重量系数 + 商品2价格*商品2价格系数+商品2升贴水)* 商品2重量系数 ...)* 委托单价格系数 + 委托单升贴水)
- FREEZEFIRSTAMOUNT float64 `json:"freezefirstamount" xorm:"FREEZEFIRSTAMOUNT"` // 冻结首付金额 - [摘牌]
- UNFREEZEFIRSTAMOUNT float64 `json:"unfreezefirstamount" xorm:"UNFREEZEFIRSTAMOUNT"` // 解冻首付金额 - [摘牌]
- PERFORMANCETEMPLATEID int64 `json:"performancetemplateid" xorm:"PERFORMANCETEMPLATEID"` // 履约计划模板ID
- VALIDTYPE int32 `json:"validtype" xorm:"VALIDTYPE"` // 有效类型 - 1当日有效 2本周有效 3指定日期有效 4一直有效
- VALIDTIME time.Time `json:"validtime" xorm:"VALIDTIME"` // 有效期限
- ORDERTIME string `json:"ordertime" xorm:"ORDERTIME1"` // 委托时间
- CANCELTIME time.Time `json:"canceltime" xorm:"CANCELTIME"` // 撤销时间
- WRTRADEORDERSTATUS int32 `json:"wrtradeorderstatus" xorm:"WRTRADEORDERSTATUS"` // 委托状态 - 参考枚举'WRTradeOrderStatus' - 1:委托请求 2:待冻结 3:委托成功 4:委托失败 5:配对成功 6:已撤 7:部成 8:已成 9:部成部撤 10:成交失败 11:委托拒绝 12:经过摘牌(先摘后挂专用) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤 16:成交失败违约(荷兰式竞拍专用) 17:冻结PD成功 18:冻结PD失败 19:冻结能量成功 20:冻结能量失败 21:预约已报价 22:过期未付 23:优惠券处理中 24:仓单生成失败 25:首付扣款失败 26:履约失败 27:撤单解冻贷款失败
- CLIENTTICKET string `json:"-" xorm:"CLIENTTICKET"` // 客户端流水号
- ORDERSRC int32 `json:"-" xorm:"ORDERSRC"` // 委托来源 - 1:客户端 2:管理端 3:风控服务 4:交割服务 5:交易服务 6:交易日结
- CLIENTTYPE int32 `json:"-" xorm:"CLIENTTYPE"` // 客户端类型 - 0:保留为未填终端类型 1:PC管理端 2:PC交易端 3:手机客户端_安卓 4:网页客户端 5:微信客户端 6:手机客户端_苹果 7:网上开户客户端 8:无效终端编号 9:报价终端(中江)
- UUID string `json:"uuid" xorm:"UUID"` // 发起端唯一id
- CLIENTORDERTIME time.Time `json:"clientordertime" xorm:"CLIENTORDERTIME"` // 客户端委托时间
- RETCODE int32 `json:"retcode" xorm:"RETCODE"` // 错误代码
- OPERATORID int64 `json:"-" xorm:"OPERATORID"` // 操作员ID
- PRICEDISPLAYMODE int32 `json:"-" xorm:"PRICEDISPLAYMODE"` // 浮动价显示方式 - 1:合并显示 2:分开显示1: 价格显示一个值 :(商品拟合价*价格系统+升贴水)2: 价格显示两个值:(商品拟合价*价格系统) 、 升贴水
- FREEZEMARGIN float64 `json:"freezemargin" xorm:"FREEZEMARGIN"` // 冻结保证金
- UNFREEZEMARGIN float64 `json:"unfreezemargin" xorm:"UNFREEZEMARGIN"` // 解冻保证金
- FREEZECHARGE float64 `json:"freezecharge" xorm:"FREEZECHARGE"` // 冻结手续费
- UNFREEZECHARGE float64 `json:"unfreezecharge" xorm:"UNFREEZECHARGE"` // 解冻手续费
- MARGINALGORITHM int32 `json:"marginalgorithm" xorm:"MARGINALGORITHM"` // 保证金方式 - 1:比率 2:固定
- MARGINVALUE float64 `json:"marginvalue" xorm:"MARGINVALUE"` // 保证金设置值
- CHARGEALGORITHM int32 `json:"chargealgorithm" xorm:"CHARGEALGORITHM"` // 手续费收取方式 1:比率 2:固定
- CHARGEALGORITHMVALUE float64 `json:"chargealgorithmvalue" xorm:"CHARGEALGORITHMVALUE"` // 手续费设置值(交易所部分)
- CHARGEALGORITHMVALUE2 float64 `json:"chargealgorithmvalue2" xorm:"CHARGEALGORITHMVALUE2"` // 手续费设置值(会员部分)
- CANBARGAIN int32 `json:"canbargain" xorm:"CANBARGAIN"` // 是否可议价 - 0:不可 1:可
- WRBARGAINID int64 `json:"wrbargainid" xorm:"WRBARGAINID"` // 议价申请单ID
- ATTACHMENT1 string `json:"attachment1" xorm:"ATTACHMENT1"` // 附件1
- ATTACHMENT2 string `json:"attachment2" xorm:"ATTACHMENT2"` // 附件2
- APPLYID int64 `json:"applyid" xorm:"APPLYID"` // 申请单ID
- EXCHANGERATE float64 `json:"exchangerate" xorm:"EXCHANGERATE"` // 汇率[67]
- ORDERAMOUNT float64 `json:"orderamount" xorm:"ORDERAMOUNT"` // 挂牌金额[账户] [67]= OrderQty * FixedPrice * ExchangeRate /100
- TOTALQTY float64 `json:"totalqty" xorm:"TOTALQTY"` // 总重量
- REMAINQTY float64 `json:"remainqty" xorm:"REMAINQTY"` // 剩余重量
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *SellOrder) calc() {
- }
- // buildSql 出售大厅
- func (r *SellOrder) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- (t.ORDERQTY / 100) TOTALQTY,
- ((t.ORDERQTY - t.TRADEQTY) / 100) REMAINQTY,
- q.ZSCATEGORYDISPLAY,
- q.SELLUSERNAME,
- q.ZSCATEGORY,
- q.ZSCURRENCYTYPE,
- q.GOODSNO,
- q.ZSCURRENCYTYPEDISPLAY ,
- q.ZSCURRENCYTYPEDISPLAYUNIT ,
- q.WAREHOUSENAMEDISPLAY ,
- q.ZSSHAPETYPEDISPLAY ,
- q.ZSCOLORTYPE1DISPLAY ,
- q.ZSCOLORTYPE2DISPLAY ,
- q.ZSCLARITYTYPE1DISPLAY ,
- q.ZSCLARITYTYPE2DISPLAY ,
- q.ZSCUTTYPE1DISPLAY ,
- q.ZSCUTTYPE2DISPLAY ,
- q.ZSSYMMETRYTYPE1DISPLAY ,
- q.ZSSYMMETRYTYPE2DISPLAY ,
- q.ZSPOLISHTYPE1DISPLAY ,
- q.ZSPOLISHTYPE2DISPLAY ,
- q.ZSFLUORESCENCETYPE1DISPLAY,
- q.ZSFLUORESCENCETYPE2DISPLAY,
- q.ZSCERTTYPEDISPLAY ,
- q.ZSCRYSTALTYPEDISPLAY ,
- q.ZSSTYLETYPEDISPLAY ,
- q.ZSCZCOLOR1TYPEDISPLAY ,
- q.ZSCZCOLOR2TYPEDISPLAY ,
- q.ZSCZCOLOR3TYPEDISPLAY ,
- q.MARKETPRICE ,
- q.IMAGEPATH ,
- q.WRPATH ,
- q.REMARK ,
- q.PRICEPER ,
- q.SIZE1 ,
- q.SIZE2 ,
- q.SIZE3 ,
- q.CERNO ,
- q.ZSCRYSTALTYPE ,
- q.CPCERTNO ,
- q.KPWEIGHT ,
- q.KPPATH ,
- q.STONEDESC ,
- q.SETTINGMATERIAL ,
- q.PRICE,
- CASE WHEN
- q.SIZE1 IS NOT NULL AND q.SIZE2 IS NOT NULL AND q.SIZE2 IS NOT NULL THEN q.SIZE1 || '*' || q.SIZE2 || '*' || q.SIZE3
- ELSE q.SIZE1
- END AS SIZEDISPLAY,
- to_char(t.ORDERTIME, 'yyyy-mm-dd hh24:mi:ss') ORDERTIME1,
- to_char(t.WRTRADEORDERID) WRTRADEORDERID1,
- t.WRTRADEORDERID ,
- t.TRADEDATE ,
- t.WRTRADETYPE ,
- t.BUYORSELL ,
- t.RELATEDWRTRADEORDERID,
- t.MARKETID ,
- t.ACCOUNTID ,
- t.WRFACTORTYPEID ,
- t.ORDERQTY ,
- t.TRADEQTY ,
- t.CANCELQTY ,
- t.WRPRICETYPE ,
- t.FIXEDPRICE ,
- t.ISSPECIFIED ,
- t.PRICEFACTOR ,
- t.PRICEMOVE ,
- t.FIRSTRATIO ,
- t.WRTRANSFERUSERID ,
- t.TRADEPRICE ,
- t.FREEZEFIRSTAMOUNT ,
- t.UNFREEZEFIRSTAMOUNT ,
- t.PERFORMANCETEMPLATEID,
- t.VALIDTYPE ,
- t.VALIDTIME ,
- t.ORDERTIME ,
- t.CANCELTIME ,
- t.WRTRADEORDERSTATUS ,
- t.CLIENTTICKET ,
- t.ORDERSRC ,
- t.CLIENTTYPE ,
- t.UUID ,
- t.CLIENTORDERTIME ,
- t.RETCODE ,
- t.OPERATORID ,
- t.PRICEDISPLAYMODE ,
- t.FREEZEMARGIN ,
- t.UNFREEZEMARGIN ,
- t.FREEZECHARGE ,
- t.UNFREEZECHARGE ,
- t.MARGINALGORITHM ,
- t.MARGINVALUE ,
- t.CHARGEALGORITHM ,
- t.CHARGEALGORITHMVALUE ,
- t.CHARGEALGORITHMVALUE2,
- t.CANBARGAIN ,
- t.WRBARGAINID ,
- t.ATTACHMENT1 ,
- t.ATTACHMENT2 ,
- t.APPLYID ,
- t.EXCHANGERATE ,
- t.ORDERAMOUNT ,
- t.USERID
- FROM WRTrade_OrderDetail t
- INNER JOIN View_GZ_WRStandard_Ex_Query q ON t.wrstandardid = q.wrstandardid
- WHERE t.marketid=67201 AND t.BuyOrSell = 1 AND t.WRTradeOrderStatus IN (3,7)
- `
- if r.ZSCATEGORYS != "" {
- sqlId.JoinFormat(" AND q.ZSCATEGORY in (%v)", r.ZSCATEGORYS)
- }
- sqlId.AndLike("q.ZSALLPROPERTIES", r.ZSALLPROPERTIES)
- sqlId.AndEx("t.WRTRADEORDERID", r.WRTRADEORDERID, r.WRTRADEORDERID != "")
- sqlId.AndLike("q.SELLUSERNAME", r.SELLUSERNAME)
- sqlId.OrderByDesc("t.WRTRADEORDERID")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- // buildQueryDiamond 钻石搜索
- func (r *SellOrder) buildQueryDiamond() string {
- var sqlId utils.SQLVal = `
- SELECT
- (t.ORDERQTY / 100) TOTALQTY,
- ((t.ORDERQTY - t.TRADEQTY) / 100) REMAINQTY,
- q.ZSCATEGORYDISPLAY,
- q.SELLUSERNAME,
- q.ZSCATEGORY,
- q.ZSCURRENCYTYPE,
- q.GOODSNO,
- q.ZSCURRENCYTYPEDISPLAY ,
- q.ZSCURRENCYTYPEDISPLAYUNIT ,
- q.WAREHOUSENAMEDISPLAY ,
- q.ZSSHAPETYPEDISPLAY ,
- q.ZSCOLORTYPE1DISPLAY ,
- q.ZSCOLORTYPE2DISPLAY ,
- q.ZSCLARITYTYPE1DISPLAY ,
- q.ZSCLARITYTYPE2DISPLAY ,
- q.ZSCUTTYPE1DISPLAY ,
- q.ZSCUTTYPE2DISPLAY ,
- q.ZSSYMMETRYTYPE1DISPLAY ,
- q.ZSSYMMETRYTYPE2DISPLAY ,
- q.ZSPOLISHTYPE1DISPLAY ,
- q.ZSPOLISHTYPE2DISPLAY ,
- q.ZSFLUORESCENCETYPE1DISPLAY,
- q.ZSFLUORESCENCETYPE2DISPLAY,
- q.ZSCERTTYPEDISPLAY ,
- q.ZSCRYSTALTYPEDISPLAY ,
- q.ZSSTYLETYPEDISPLAY ,
- q.ZSCZCOLOR1TYPEDISPLAY ,
- q.ZSCZCOLOR2TYPEDISPLAY ,
- q.ZSCZCOLOR3TYPEDISPLAY ,
- q.MARKETPRICE ,
- q.IMAGEPATH ,
- q.WRPATH ,
- q.REMARK ,
- q.PRICEPER ,
- q.SIZE1 ,
- q.SIZE2 ,
- q.SIZE3 ,
- q.CERNO ,
- q.ZSCRYSTALTYPE ,
- q.CPCERTNO ,
- q.KPWEIGHT ,
- q.KPPATH ,
- q.STONEDESC ,
- q.SETTINGMATERIAL ,
- q.PRICE,
- CASE WHEN
- q.SIZE1 IS NOT NULL AND q.SIZE2 IS NOT NULL AND q.SIZE2 IS NOT NULL THEN q.SIZE1 || '*' || q.SIZE2 || '*' || q.SIZE3
- ELSE q.SIZE1
- END AS SIZEDISPLAY,
- to_char(t.ORDERTIME, 'yyyy-mm-dd hh24:mi:ss') ORDERTIME1,
- to_char(t.WRTRADEORDERID) WRTRADEORDERID1,
- t.TRADEDATE ,
- t.WRTRADETYPE ,
- t.BUYORSELL ,
- t.RELATEDWRTRADEORDERID,
- t.MARKETID ,
- t.ACCOUNTID ,
- t.WRFACTORTYPEID ,
- t.ORDERQTY ,
- t.TRADEQTY ,
- t.CANCELQTY ,
- t.WRPRICETYPE ,
- t.FIXEDPRICE ,
- t.ISSPECIFIED ,
- t.PRICEFACTOR ,
- t.PRICEMOVE ,
- t.FIRSTRATIO ,
- t.WRTRANSFERUSERID ,
- t.TRADEPRICE ,
- t.FREEZEFIRSTAMOUNT ,
- t.UNFREEZEFIRSTAMOUNT ,
- t.PERFORMANCETEMPLATEID,
- t.VALIDTYPE ,
- t.VALIDTIME ,
- t.ORDERTIME ,
- t.CANCELTIME ,
- t.WRTRADEORDERSTATUS ,
- t.CLIENTTICKET ,
- t.ORDERSRC ,
- t.CLIENTTYPE ,
- t.UUID ,
- t.CLIENTORDERTIME ,
- t.RETCODE ,
- t.OPERATORID ,
- t.PRICEDISPLAYMODE ,
- t.FREEZEMARGIN ,
- t.UNFREEZEMARGIN ,
- t.FREEZECHARGE ,
- t.UNFREEZECHARGE ,
- t.MARGINALGORITHM ,
- t.MARGINVALUE ,
- t.CHARGEALGORITHM ,
- t.CHARGEALGORITHMVALUE ,
- t.CHARGEALGORITHMVALUE2,
- t.CANBARGAIN ,
- t.WRBARGAINID ,
- t.ATTACHMENT1 ,
- t.ATTACHMENT2 ,
- t.APPLYID ,
- t.EXCHANGERATE ,
- t.ORDERAMOUNT,
- t.USERID
- FROM WRTrade_OrderDetail t
- INNER JOIN View_GZ_WRStandard_Ex_Query q ON t.wrstandardid = q.wrstandardid
- WHERE t.marketid=67201 AND t.BuyOrSell = 1 AND t.WRTradeOrderStatus IN (3,7)
- `
- sqlId.And("q.ZSCATEGORY", r.ZSCATEGORY)
- if len(r.ZSCURRENCYTYPE_S) > 0 {
- sqlId.JoinFormat(" AND q.ZSCURRENCYTYPE IN (%v)", strings.Join(r.ZSCURRENCYTYPE_S, ","))
- }
- sqlId.AndEx("q.WAREHOUSEID", r.WAREHOUSEID, r.WAREHOUSEID > 0)
- utils.AndBetween(&sqlId, "q.WEIGHT", r.WEIGHT, r.WEIGHT_END)
- utils.AndBetween(&sqlId, "q.WEIGHTAVG", r.WEIGHTAVG, r.WEIGHTAVG_END)
- zsshapetype := make([]string, 0)
- for _, item := range r.ZSSHAPETYPE {
- zsshapetype = append(zsshapetype, fmt.Sprintf(",%v,", item))
- }
- sqlId.OrLikes("q.ZSSHAPETYPE", zsshapetype...)
- // for _, t := range r.ZSCOLORTYPE {
- // sqlId.LessOrEq("q.ZSCOLORTYPE1", t)
- // sqlId.BiggerOrEq("q.ZSCOLORTYPE2", t)
- // }
- if len(r.ZSCOLORTYPE) > 0 {
- zscolortype := make([]string, 0)
- for _, item := range r.ZSCOLORTYPE {
- zscolortype = append(zscolortype, strconv.Itoa(int(item)))
- }
- sqlId.JoinFormat(" AND q.ZSCOLORTYPE1 IN (%v)", strings.Join(zscolortype, ","))
- }
- // for _, t := range r.ZSCLARITYTYPE {
- // sqlId.LessOrEq("q.ZSCLARITYTYPE1", t)
- // sqlId.BiggerOrEq("q.ZSCLARITYTYPE2", t)
- // }
- if len(r.ZSCLARITYTYPE) > 0 {
- zsclaritytype := make([]string, 0)
- for _, item := range r.ZSCLARITYTYPE {
- zsclaritytype = append(zsclaritytype, strconv.Itoa(int(item)))
- }
- sqlId.JoinFormat(" AND q.ZSCLARITYTYPE1 IN (%v)", strings.Join(zsclaritytype, ","))
- }
- // for _, t := range r.ZSCUTTYPE {
- // sqlId.LessOrEq("q.ZSCUTTYPE1", t)
- // sqlId.BiggerOrEq("q.ZSCUTTYPE2", t)
- // }
- if len(r.ZSCUTTYPE) > 0 {
- zscuttype := make([]string, 0)
- for _, item := range r.ZSCUTTYPE {
- zscuttype = append(zscuttype, strconv.Itoa(int(item)))
- }
- sqlId.JoinFormat(" AND q.ZSCUTTYPE1 IN (%v)", strings.Join(zscuttype, ","))
- }
- // for _, t := range r.ZSSYMMETRYTYPE {
- // sqlId.LessOrEq("q.ZSSYMMETRYTYPE1", t)
- // sqlId.BiggerOrEq("q.ZSSYMMETRYTYPE2", t)
- // }
- if len(r.ZSSYMMETRYTYPE) > 0 {
- zssymmetrytype := make([]string, 0)
- for _, item := range r.ZSSYMMETRYTYPE {
- zssymmetrytype = append(zssymmetrytype, strconv.Itoa(int(item)))
- }
- sqlId.JoinFormat(" AND q.ZSSYMMETRYTYPE1 IN (%v)", strings.Join(zssymmetrytype, ","))
- }
- // for _, t := range r.ZSPOLISHTYPE {
- // sqlId.LessOrEq("q.ZSPOLISHTYPE1", t)
- // sqlId.BiggerOrEq("q.ZSPOLISHTYPE2", t)
- // }
- if len(r.ZSPOLISHTYPE) > 0 {
- zspolishtype := make([]string, 0)
- for _, item := range r.ZSPOLISHTYPE {
- zspolishtype = append(zspolishtype, strconv.Itoa(int(item)))
- }
- sqlId.JoinFormat(" AND q.ZSPOLISHTYPE1 IN (%v)", strings.Join(zspolishtype, ","))
- }
- // for _, t := range r.ZSFLUORESCENCETYPE {
- // sqlId.LessOrEq("q.ZSFLUORESCENCETYPE1", t)
- // sqlId.BiggerOrEq("q.ZSFLUORESCENCETYPE2", t)
- // }
- if len(r.ZSFLUORESCENCETYPE) > 0 {
- zsfluorescencetype := make([]string, 0)
- for _, item := range r.ZSFLUORESCENCETYPE {
- zsfluorescencetype = append(zsfluorescencetype, strconv.Itoa(int(item)))
- }
- sqlId.JoinFormat(" AND q.ZSFLUORESCENCETYPE1 IN (%v)", strings.Join(zsfluorescencetype, ","))
- }
- if len(r.ZSCERTTYPE) > 0 {
- sqlId.JoinFormat(" AND q.ZSCERTTYPE IN (%v)", strings.Join(r.ZSCERTTYPE, ","))
- }
- sqlId.AndLike("q.ORIGIN", r.ORIGIN)
- if len(r.ZSSTYLETYPE) > 0 {
- sqlId.JoinFormat(" AND q.ZSSTYLETYPE IN (%v)", strings.Join(r.ZSSTYLETYPE, ","))
- }
- if len(r.ZSCZCOLOR1TYPE) > 0 {
- sqlId.JoinFormat(" AND q.ZSCZCOLOR1TYPE IN (%v)", strings.Join(r.ZSCZCOLOR1TYPE, ","))
- }
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *SellOrder) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]SellOrder, 0)
- sql := ""
- if !r.IsQueryDiamond {
- // 出售大厅查询
- sql = r.buildSql()
- } else {
- // 钻石搜索
- sql = r.buildQueryDiamond()
- }
- err := db.GetEngine().SQL(sql).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // MyBuyOrder 我的求购
- type MyBuyOrder struct {
- ZSALLPROPERTIES string `json:"-" xorm:"ZSALLPROPERTIES" form:"zsallproperties"` // 商品(查询字段-模糊查询)
- ZSTABLEDISPLAY string `json:"zstabledisplay" xorm:"ZSTABLEDISPLAY"` // 求购信息
- ZSCATEGORYDISPLAY string `json:"zscategorydisplay" xorm:"ZSCATEGORYDISPLAY"` //
- ZSCURRENCYTYPEDISPLAY string `json:"zscurrencytypedisplay" xorm:"ZSCURRENCYTYPEDISPLAY"` //
- ZSSHAPETYPEDISPLAY string `json:"zsshapetypedisplay" xorm:"ZSSHAPETYPEDISPLAY"` //
- ZSCOLORTYPEDISPLAY string `json:"zscolortypedisplay" xorm:"ZSCOLORTYPEDISPLAY"` //
- ZSCLARITYTYPEDISPLAY string `json:"zsclaritytypedisplay" xorm:"ZSCLARITYTYPEDISPLAY"` //
- ZSCUTTYPEDISPLAY string `json:"zscuttypedisplay" xorm:"ZSCUTTYPEDISPLAY"` //
- ZSSYMMETRYTYPEDISPLAY string `json:"zssymmetrytypedisplay" xorm:"ZSSYMMETRYTYPEDISPLAY"` //
- ZSPOLISHTYPEDISPLAY string `json:"zspolishtypedisplay" xorm:"ZSPOLISHTYPEDISPLAY"` //
- ZSFLUORESCENCETYPEDISPLAY string `json:"zsfluorescencetypedisplay" xorm:"ZSFLUORESCENCETYPEDISPLAY"` //
- ZSCRYSTALTYPEDISPLAY string `json:"zscrystaltypedisplay" xorm:"ZSCRYSTALTYPEDISPLAY"` //
- ZSSTYLETYPEDISPLAY string `json:"zsstyletypedisplay" xorm:"ZSSTYLETYPEDISPLAY"` //
- ZSCZCOLOR1TYPEDISPLAY string `json:"zsczcolor1typedisplay" xorm:"ZSCZCOLOR1TYPEDISPLAY"` //
- ZSCZCOLOR2TYPEDISPLAY string `json:"zsczcolor2typedisplay" xorm:"ZSCZCOLOR2TYPEDISPLAY"` //
- ZSCZCOLOR3TYPEDISPLAY string `json:"zsczcolor3typedisplay" xorm:"ZSCZCOLOR3TYPEDISPLAY"` //
- WAREHOUSEINFOSDISPLAY string `json:"warehouseinfosdisplay" xorm:"WAREHOUSEINFOSDISPLAY"` //
- ZSSIZEDISPLAY string `json:"zssizedisplay" xorm:"ZSSIZEDISPLAY"` // 颜色
- WRTRADEORDERID string `json:"wrtradeorderid" xorm:"WRTRADEORDERID1" form:"wrtradeorderid"` // [委托单号]买委托单ID(320+Unix秒时间戳(10位)+xxxxxx)
- USERID int64 `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 用户ID
- ACCOUNTID int64 `json:"accountid" xorm:"ACCOUNTID"` // 资金账户ID
- WRTRADEORDERSTATUS int32 `json:"wrtradeorderstatus" xorm:"WRTRADEORDERSTATUS"` // 委托状态 - 参考枚举'WRTradeOrderStatus' - 1:委托请求 2:待冻结 3:委托成功 4:委托失败 5:配对成功 6:已撤 7:部成 8:已成 9:部成部撤 10:成交失败 11:委托拒绝 12:经过摘牌(先摘后挂专用) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤 16:成交失败违约(荷兰式竞拍专用) 17:冻结PD成功 18:冻结PD失败 19:冻结能量成功 20:冻结能量失败 21:预约已报价 22:过期未付 23:优惠券处理中 24:仓单生成失败 25:首付扣款失败 26:履约失败 27:撤单解冻贷款失败WRTrade_OrderDetail、
- VALIDTIME string `json:"validtime" xorm:"VALIDTIME"` // 有效期限
- ORDERTIME string `json:"ordertime" xorm:"ORDERTIME"` // 委托时间
- PERFORMANCETEMPLATEID int64 `json:"performancetemplateid" xorm:"PERFORMANCETEMPLATEID"` // 履约计划模板ID
- ZSCATEGORY int32 `json:"zscategory" xorm:"ZSCATEGORY"` // 钻石分类 - 枚举”ZSCategory“
- ZSCATEGORYS string `json:"-" form:"zscategorys"` // 钻石分类
- ZSCURRENCYTYPE string `json:"zscurrencytype" xorm:"ZSCURRENCYTYPE"` // 货币类型 - 多个, 逗号分隔
- ZSSHAPETYPE string `json:"zsshapetype" xorm:"ZSSHAPETYPE"` // 形状 - 多个, 逗号分隔
- ZSCOLORTYPE string `json:"zscolortype" xorm:"ZSCOLORTYPE"` // 颜色 - 两个, 逗号分隔
- ZSCLARITYTYPE string `json:"zsclaritytype" xorm:"ZSCLARITYTYPE"` // 净度 - 两个, 逗号分隔
- ZSCUTTYPE string `json:"zscuttype" xorm:"ZSCUTTYPE"` // 切工 - 两个, 逗号分隔
- ZSSYMMETRYTYPE string `json:"zssymmetrytype" xorm:"ZSSYMMETRYTYPE"` // 对称度 - 两个, 逗号分隔
- ZSPOLISHTYPE string `json:"zspolishtype" xorm:"ZSPOLISHTYPE"` // 抛光度 - 两个, 逗号分隔
- ZSFLUORESCENCETYPE string `json:"zsfluorescencetype" xorm:"ZSFLUORESCENCETYPE"` // 荧光 - 多个, 逗号分隔
- ZSSIZE string `json:"zssize" xorm:"ZSSIZE"` // 尺寸 - 两个小数, 逗号分隔
- ZSCRYSTALTYPE string `json:"zscrystaltype" xorm:"ZSCRYSTALTYPE"` // 晶型 - 多个,逗号分隔
- ORIGIN string `json:"origin" xorm:"ORIGIN"` // 原产地
- ZSSTYLETYPE string `json:"zsstyletype" xorm:"ZSSTYLETYPE"` // 款式 - 多个, 逗号分隔
- ZSCZCOLOR1TYPE string `json:"zsczcolor1type" xorm:"ZSCZCOLOR1TYPE"` // 彩钻颜色1, 逗号分隔
- ZSCZCOLOR2TYPE string `json:"zsczcolor2type" xorm:"ZSCZCOLOR2TYPE"` // 彩钻颜色2, 逗号分隔
- ZSCZCOLOR3TYPE string `json:"zsczcolor3type" xorm:"ZSCZCOLOR3TYPE"` // 彩钻颜色3, 逗号分隔
- REMARK string `json:"remark" xorm:"REMARK"` // 备注
- WAREHOUSEIDS string `json:"warehouseids" xorm:"WAREHOUSEIDS"` // 仓库ID - 多个, 逗号分隔
- MARKETID int32 `json:"marketid" xorm:"MARKETID"` // 市场ID
- IsHis bool `json:"-" form:"ishis"` // 是否历史查询
- BeginDate string `json:"-" form:"begindate"` // 开始交易日
- EndDate string `json:"-" form:"enddate"` // 结束交易日
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *MyBuyOrder) calc() {
- }
- func (r *MyBuyOrder) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- to_char(t.WRTRADEORDERID) WRTRADEORDERID1,
- t.WRTRADEORDERSTATUS,
- to_char(t.VALIDTIME, 'yyyy-mm-dd') VALIDTIME,
- to_char(t.ORDERTIME, 'yyyy-mm-dd hh24:mi:ss') ORDERTIME,
- t.PERFORMANCETEMPLATEID,
- q.*
- FROM WRTrade_OrderDetail t
- INNER JOIN View_GZ_BuyOrderDetail_Query q ON t.wrtradeorderid = q.wrtradeorderid
- WHERE t.marketid=67201 AND t.BuyOrSell = 0 AND t.WRTradeOrderStatus IN (3,7)
- `
- sqlId.And("t.USERID", r.USERID)
- if r.ZSCATEGORYS != "" {
- sqlId.JoinFormat(" AND q.ZSCATEGORY in (%v)", r.ZSCATEGORYS)
- }
- sqlId.AndLike("q.ZSALLPROPERTIES", r.ZSALLPROPERTIES)
- sqlId.AndEx("t.WRTRADEORDERID", r.WRTRADEORDERID, r.WRTRADEORDERID != "")
- sqlId.OrderByDesc("t.WRTRADEORDERID")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *MyBuyOrder) buildSql_His() string {
- var sqlId utils.SQLVal = `
- SELECT
- to_char(t.WRTRADEORDERID) WRTRADEORDERID1,
- t.WRTRADEORDERSTATUS,
- to_char(t.VALIDTIME, 'yyyy-mm-dd') VALIDTIME,
- to_char(t.ORDERTIME, 'yyyy-mm-dd hh24:mi:ss') ORDERTIME,
- t.PERFORMANCETEMPLATEID,
- q.*
- FROM HIS_WRTrade_OrderDetail t
- INNER JOIN View_GZ_BuyOrderDetail_Query q ON t.wrtradeorderid = q.wrtradeorderid
- WHERE t.isvaliddata =1 AND t.marketid=67201 AND t.BuyOrSell = 0 AND t.WRTradeOrderStatus IN (3,7)
- `
- sqlId.And("t.USERID", r.USERID)
- if r.ZSCATEGORYS != "" {
- sqlId.JoinFormat(" AND q.ZSCATEGORY in (%v)", r.ZSCATEGORYS)
- }
- sqlId.AndLike("q.ZSALLPROPERTIES", r.ZSALLPROPERTIES)
- sqlId.AndEx("t.WRTRADEORDERID", r.WRTRADEORDERID, r.WRTRADEORDERID != "")
- if r.BeginDate != "" && r.EndDate != "" {
- sqlId.JoinFormat(" AND (t.TRADEDATE >= '%v' AND t.TRADEDATE <= '%v')", r.BeginDate, r.EndDate)
- }
- sqlId.OrderByDesc("t.WRTRADEORDERID")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *MyBuyOrder) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]MyBuyOrder, 0)
- sql := ""
- if r.IsHis {
- sql = r.buildSql_His()
- } else {
- sql = r.buildSql()
- }
- err := db.GetEngine().SQL(sql).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // MySellOrder 我的出售
- type MySellOrder struct {
- ZSALLPROPERTIES string `json:"-" xorm:"ZSALLPROPERTIES" form:"zsallproperties"` // 商品(查询字段-模糊查询)
- WRSTANDARDID int64 `json:"wrstandardid" xorm:"WRSTANDARDID"` // 现货商品ID
- USERID int64 `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 用户ID
- ZSCATEGORY int32 `json:"zscategory" xorm:"ZSCATEGORY"` // 钻石分类 - 枚举”ZSCategory“
- ZSCATEGORYS string `json:"-" form:"zscategorys"` // 钻石分类
- ZSCURRENCYTYPE int32 `json:"zscurrencytype" xorm:"ZSCURRENCYTYPE"` // 货币类型 - 枚举“ZSCurrencyType”
- GOODSNO string `json:"goodsno" xorm:"GOODSNO"` // 商品编号
- ZSCATEGORYDISPLAY string `json:"zscategorydisplay" xorm:"ZSCATEGORYDISPLAY"` // 钻石分类 - 描述
- ZSCURRENCYTYPEDISPLAY string `json:"zscurrencytypedisplay" xorm:"ZSCURRENCYTYPEDISPLAY"` //
- ZSCURRENCYTYPEDISPLAYUNIT string `json:"zscurrencytypedisplayunit" xorm:"ZSCURRENCYTYPEDISPLAYUNIT"` //
- WAREHOUSENAMEDISPLAY string `json:"warehousenamedisplay" xorm:"WAREHOUSENAMEDISPLAY"` //
- ZSSHAPETYPEDISPLAY string `json:"zsshapetypedisplay" xorm:"ZSSHAPETYPEDISPLAY"` //
- ZSCOLORTYPE1DISPLAY string `json:"zscolortype1display" xorm:"ZSCOLORTYPE1DISPLAY"` //
- ZSCOLORTYPE2DISPLAY string `json:"zscolortype2display" xorm:"ZSCOLORTYPE2DISPLAY"` //
- ZSCLARITYTYPE1DISPLAY string `json:"zsclaritytype1display" xorm:"ZSCLARITYTYPE1DISPLAY"` //
- ZSCLARITYTYPE2DISPLAY string `json:"zsclaritytype2display" xorm:"ZSCLARITYTYPE2DISPLAY"` //
- ZSCUTTYPE1DISPLAY string `json:"zscuttype1display" xorm:"ZSCUTTYPE1DISPLAY"` //
- ZSCUTTYPE2DISPLAY string `json:"zscuttype2display" xorm:"ZSCUTTYPE2DISPLAY"` //
- ZSSYMMETRYTYPE1DISPLAY string `json:"zssymmetrytype1display" xorm:"ZSSYMMETRYTYPE1DISPLAY"` //
- ZSSYMMETRYTYPE2DISPLAY string `json:"zssymmetrytype2display" xorm:"ZSSYMMETRYTYPE2DISPLAY"` //
- ZSPOLISHTYPE1DISPLAY string `json:"zspolishtype1display" xorm:"ZSPOLISHTYPE1DISPLAY"` //
- ZSPOLISHTYPE2DISPLAY string `json:"zspolishtype2display" xorm:"ZSPOLISHTYPE2DISPLAY"` //
- ZSFLUORESCENCETYPE1DISPLAY string `json:"zsfluorescencetype1display" xorm:"ZSFLUORESCENCETYPE1DISPLAY"` //
- ZSFLUORESCENCETYPE2DISPLAY string `json:"zsfluorescencetype2display" xorm:"ZSFLUORESCENCETYPE2DISPLAY"` //
- ZSCERTTYPEDISPLAY string `json:"zscerttypedisplay" xorm:"ZSCERTTYPEDISPLAY"` //
- ZSCRYSTALTYPEDISPLAY string `json:"zscrystaltypedisplay" xorm:"ZSCRYSTALTYPEDISPLAY"` //
- ZSSTYLETYPEDISPLAY string `json:"zsstyletypedisplay" xorm:"ZSSTYLETYPEDISPLAY"` //
- ZSCZCOLOR1TYPEDISPLAY string `json:"zsczcolor1typedisplay" xorm:"ZSCZCOLOR1TYPEDISPLAY"` //
- ZSCZCOLOR2TYPEDISPLAY string `json:"zsczcolor2typedisplay" xorm:"ZSCZCOLOR2TYPEDISPLAY"` //
- ZSCZCOLOR3TYPEDISPLAY string `json:"zsczcolor3typedisplay" xorm:"ZSCZCOLOR3TYPEDISPLAY"` //
- MARKETPRICE string `json:"marketprice" xorm:"MARKETPRICE"` //
- IMAGEPATH string `json:"imagepath" xorm:"IMAGEPATH"` //
- WRPATH string `json:"wrpath" xorm:"WRPATH"` //
- REMARK string `json:"remark" xorm:"REMARK"` //
- PRICEPER string `json:"priceper" xorm:"PRICEPER"` //
- SIZE1 string `json:"size1" xorm:"SIZE1"` //
- SIZE2 string `json:"size2" xorm:"SIZE2"` //
- SIZE3 string `json:"size3" xorm:"SIZE3"` //
- CERNO string `json:"cerno" xorm:"CERNO"` //
- ZSCRYSTALTYPE string `json:"zscrystaltype" xorm:"ZSCRYSTALTYPE"` //
- CPCERTNO string `json:"cpcertno" xorm:"CPCERTNO"` //
- KPWEIGHT string `json:"kpweight" xorm:"KPWEIGHT"` //
- KPPATH string `json:"kppath" xorm:"KPPATH"` //
- STONEDESC string `json:"stonedesc" xorm:"STONEDESC"` //
- SETTINGMATERIAL string `json:"settingmaterial" xorm:"SETTINGMATERIAL"` //
- PRICE float64 `json:"price" xorm:"PRICE"` // 价格
- SIZEDISPLAY string `json:"sizedisplay" xorm:"SIZEDISPLAY"` // 尺寸
- WRTRADEORDERID string `json:"wrtradeorderid" xorm:"WRTRADEORDERID1" form:"wrtradeorderid"` // 仓单贸易委托单ID(320+Unix秒时间戳(10位)+xxxxxx)
- TRADEDATE string `json:"tradedate" xorm:"TRADEDATE"` // 交易日(yyyyMMdd)
- WRTRADETYPE int32 `json:"wrtradetype" xorm:"WRTRADETYPE"` // 仓单贸易类型 - 1:挂牌 2:摘牌 3:提货卖(文化中国) 4:提货买(文化中国)
- BUYORSELL int32 `json:"buyorsell" xorm:"BUYORSELL"` // 买卖 - 0:买 1:卖
- RELATEDWRTRADEORDERID int64 `json:"relatedwrtradeorderid" xorm:"RELATEDWRTRADEORDERID"` // 关联委托单号(摘牌委托关联挂牌委托单ID)
- MARKETID int64 `json:"marketid" xorm:"MARKETID"` // 市场ID
- ACCOUNTID int64 `json:"accountid" xorm:"ACCOUNTID"` // 资金账号
- WRFACTORTYPEID int64 `json:"wrfactortypeid" xorm:"WRFACTORTYPEID"` // 仓单要素类型ID/商品ID(77)
- ORDERQTY int64 `json:"-" xorm:"ORDERQTY"` // 委托数量
- TRADEQTY int64 `json:"-" xorm:"TRADEQTY"` // 成交数量
- CANCELQTY int64 `json:"cancelqty" xorm:"CANCELQTY"` // 撤销数量
- WRPRICETYPE int32 `json:"wrpricetype" xorm:"WRPRICETYPE"` // 价格方式 - 1:固定价 2-浮动价 - [挂牌]
- FIXEDPRICE float64 `json:"fixedprice" xorm:"FIXEDPRICE"` // [克拉单价]固定价格 - [挂牌]
- ISSPECIFIED int32 `json:"isspecified" xorm:"ISSPECIFIED"` // 是否指定对手 - 0:不指定 1:指定好友(贸易圈) 2:指定对手 - [挂牌]
- PRICEFACTOR float64 `json:"pricefactor" xorm:"PRICEFACTOR"` // 价格系数(浮动价时填写) - [挂牌]
- PRICEMOVE float64 `json:"pricemove" xorm:"PRICEMOVE"` // 升贴水(浮动价时填写) - [挂牌]
- FIRSTRATIO float64 `json:"firstratio" xorm:"FIRSTRATIO"` // 首付比率 - [挂牌时指定,摘牌时使用]
- WRTRANSFERUSERID int64 `json:"wrtransferuserid" xorm:"WRTRANSFERUSERID"` // 仓单受让用户 - [摘牌]
- TRADEPRICE float64 `json:"tradeprice" xorm:"TRADEPRICE"` // 成交价格 - [摘牌] (浮动价 ((商品1价格*商品1价格系数+升贴水)* 商品1重量系数 + 商品2价格*商品2价格系数+商品2升贴水)* 商品2重量系数 ...)* 委托单价格系数 + 委托单升贴水)
- FREEZEFIRSTAMOUNT float64 `json:"freezefirstamount" xorm:"FREEZEFIRSTAMOUNT"` // 冻结首付金额 - [摘牌]
- UNFREEZEFIRSTAMOUNT float64 `json:"unfreezefirstamount" xorm:"UNFREEZEFIRSTAMOUNT"` // 解冻首付金额 - [摘牌]
- PERFORMANCETEMPLATEID int64 `json:"performancetemplateid" xorm:"PERFORMANCETEMPLATEID"` // 履约计划模板ID
- VALIDTYPE int32 `json:"validtype" xorm:"VALIDTYPE"` // 有效类型 - 1当日有效 2本周有效 3指定日期有效 4一直有效
- VALIDTIME time.Time `json:"validtime" xorm:"VALIDTIME"` // 有效期限
- ORDERTIME string `json:"ordertime" xorm:"ORDERTIME1"` // 委托时间
- CANCELTIME time.Time `json:"canceltime" xorm:"CANCELTIME"` // 撤销时间
- WRTRADEORDERSTATUS int32 `json:"wrtradeorderstatus" xorm:"WRTRADEORDERSTATUS"` // 委托状态 - 参考枚举'WRTradeOrderStatus' - 1:委托请求 2:待冻结 3:委托成功 4:委托失败 5:配对成功 6:已撤 7:部成 8:已成 9:部成部撤 10:成交失败 11:委托拒绝 12:经过摘牌(先摘后挂专用) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤 16:成交失败违约(荷兰式竞拍专用) 17:冻结PD成功 18:冻结PD失败 19:冻结能量成功 20:冻结能量失败 21:预约已报价 22:过期未付 23:优惠券处理中 24:仓单生成失败 25:首付扣款失败 26:履约失败 27:撤单解冻贷款失败
- CLIENTTICKET string `json:"-" xorm:"CLIENTTICKET"` // 客户端流水号
- ORDERSRC int32 `json:"-" xorm:"ORDERSRC"` // 委托来源 - 1:客户端 2:管理端 3:风控服务 4:交割服务 5:交易服务 6:交易日结
- CLIENTTYPE int32 `json:"-" xorm:"CLIENTTYPE"` // 客户端类型 - 0:保留为未填终端类型 1:PC管理端 2:PC交易端 3:手机客户端_安卓 4:网页客户端 5:微信客户端 6:手机客户端_苹果 7:网上开户客户端 8:无效终端编号 9:报价终端(中江)
- UUID string `json:"uuid" xorm:"UUID"` // 发起端唯一id
- CLIENTORDERTIME time.Time `json:"clientordertime" xorm:"CLIENTORDERTIME"` // 客户端委托时间
- RETCODE int32 `json:"retcode" xorm:"RETCODE"` // 错误代码
- OPERATORID int64 `json:"-" xorm:"OPERATORID"` // 操作员ID
- PRICEDISPLAYMODE int32 `json:"-" xorm:"PRICEDISPLAYMODE"` // 浮动价显示方式 - 1:合并显示 2:分开显示1: 价格显示一个值 :(商品拟合价*价格系统+升贴水)2: 价格显示两个值:(商品拟合价*价格系统) 、 升贴水
- FREEZEMARGIN float64 `json:"freezemargin" xorm:"FREEZEMARGIN"` // 冻结保证金
- UNFREEZEMARGIN float64 `json:"unfreezemargin" xorm:"UNFREEZEMARGIN"` // 解冻保证金
- FREEZECHARGE float64 `json:"freezecharge" xorm:"FREEZECHARGE"` // 冻结手续费
- UNFREEZECHARGE float64 `json:"unfreezecharge" xorm:"UNFREEZECHARGE"` // 解冻手续费
- MARGINALGORITHM int32 `json:"marginalgorithm" xorm:"MARGINALGORITHM"` // 保证金方式 - 1:比率 2:固定
- MARGINVALUE float64 `json:"marginvalue" xorm:"MARGINVALUE"` // 保证金设置值
- CHARGEALGORITHM int32 `json:"chargealgorithm" xorm:"CHARGEALGORITHM"` // 手续费收取方式 1:比率 2:固定
- CHARGEALGORITHMVALUE float64 `json:"chargealgorithmvalue" xorm:"CHARGEALGORITHMVALUE"` // 手续费设置值(交易所部分)
- CHARGEALGORITHMVALUE2 float64 `json:"chargealgorithmvalue2" xorm:"CHARGEALGORITHMVALUE2"` // 手续费设置值(会员部分)
- CANBARGAIN int32 `json:"canbargain" xorm:"CANBARGAIN"` // 是否可议价 - 0:不可 1:可
- WRBARGAINID int64 `json:"wrbargainid" xorm:"WRBARGAINID"` // 议价申请单ID
- ATTACHMENT1 string `json:"attachment1" xorm:"ATTACHMENT1"` // 附件1
- ATTACHMENT2 string `json:"attachment2" xorm:"ATTACHMENT2"` // 附件2
- APPLYID int64 `json:"applyid" xorm:"APPLYID"` // 申请单ID
- EXCHANGERATE float64 `json:"exchangerate" xorm:"EXCHANGERATE"` // 汇率[67]
- ORDERAMOUNT float64 `json:"orderamount" xorm:"ORDERAMOUNT"` // 挂牌金额[账户] [67]= OrderQty * FixedPrice * ExchangeRate /100
- TOTALQTY float64 `json:"totalqty" xorm:"TOTALQTY"` // 总重量
- SELLEDQTY float64 `json:"selledqty" xorm:"SELLEDQTY"` // 成交重量
- IsHis bool `json:"-" form:"ishis"` // 是否历史查询
- BeginDate string `json:"-" form:"begindate"` // 开始交易日
- EndDate string `json:"-" form:"enddate"` // 结束交易日
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *MySellOrder) calc() {
- }
- func (r *MySellOrder) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- (t.ORDERQTY / 100) TOTALQTY,
- (t.TRADEQTY / 100) SELLEDQTY,
- q.ZSCATEGORY,
- q.ZSCURRENCYTYPE,
- q.GOODSNO,
- q.ZSCURRENCYTYPEDISPLAY ,
- q.ZSCURRENCYTYPEDISPLAYUNIT ,
- q.WAREHOUSENAMEDISPLAY ,
- q.ZSSHAPETYPEDISPLAY ,
- q.ZSCOLORTYPE1DISPLAY ,
- q.ZSCOLORTYPE2DISPLAY ,
- q.ZSCLARITYTYPE1DISPLAY ,
- q.ZSCLARITYTYPE2DISPLAY ,
- q.ZSCUTTYPE1DISPLAY ,
- q.ZSCUTTYPE2DISPLAY ,
- q.ZSSYMMETRYTYPE1DISPLAY ,
- q.ZSSYMMETRYTYPE2DISPLAY ,
- q.ZSPOLISHTYPE1DISPLAY ,
- q.ZSPOLISHTYPE2DISPLAY ,
- q.ZSFLUORESCENCETYPE1DISPLAY,
- q.ZSFLUORESCENCETYPE2DISPLAY,
- q.ZSCERTTYPEDISPLAY ,
- q.ZSCRYSTALTYPEDISPLAY ,
- q.ZSSTYLETYPEDISPLAY ,
- q.ZSCZCOLOR1TYPEDISPLAY ,
- q.ZSCZCOLOR2TYPEDISPLAY ,
- q.ZSCZCOLOR3TYPEDISPLAY ,
- q.MARKETPRICE ,
- q.IMAGEPATH ,
- q.WRPATH ,
- q.REMARK ,
- q.PRICEPER ,
- q.SIZE1 ,
- q.SIZE2 ,
- q.SIZE3 ,
- CASE WHEN
- q.SIZE1 IS NOT NULL AND q.SIZE2 IS NOT NULL AND q.SIZE2 IS NOT NULL THEN q.SIZE1 || '*' || q.SIZE2 || '*' || q.SIZE3
- ELSE q.SIZE1
- END AS SIZEDISPLAY,
- q.CERNO ,
- q.ZSCRYSTALTYPE ,
- q.CPCERTNO ,
- q.KPWEIGHT ,
- q.KPPATH ,
- q.STONEDESC ,
- q.SETTINGMATERIAL ,
- q.PRICE,
- to_char(t.ORDERTIME, 'yyyy-mm-dd hh24:mi:ss') ORDERTIME1,
- to_char(t.WRTRADEORDERID) WRTRADEORDERID1,
- t.WRTRADEORDERID ,
- t.TRADEDATE ,
- t.WRTRADETYPE ,
- t.BUYORSELL ,
- t.RELATEDWRTRADEORDERID,
- t.MARKETID ,
- t.ACCOUNTID ,
- t.WRFACTORTYPEID ,
- t.ORDERQTY ,
- t.TRADEQTY ,
- t.CANCELQTY ,
- t.WRPRICETYPE ,
- t.FIXEDPRICE ,
- t.ISSPECIFIED ,
- t.PRICEFACTOR ,
- t.PRICEMOVE ,
- t.FIRSTRATIO ,
- t.WRTRANSFERUSERID ,
- t.TRADEPRICE ,
- t.FREEZEFIRSTAMOUNT ,
- t.UNFREEZEFIRSTAMOUNT ,
- t.PERFORMANCETEMPLATEID,
- t.VALIDTYPE ,
- t.VALIDTIME ,
- t.ORDERTIME ,
- t.CANCELTIME ,
- t.WRTRADEORDERSTATUS ,
- t.CLIENTTICKET ,
- t.ORDERSRC ,
- t.CLIENTTYPE ,
- t.UUID ,
- t.CLIENTORDERTIME ,
- t.RETCODE ,
- t.OPERATORID ,
- t.PRICEDISPLAYMODE ,
- t.FREEZEMARGIN ,
- t.UNFREEZEMARGIN ,
- t.FREEZECHARGE ,
- t.UNFREEZECHARGE ,
- t.MARGINALGORITHM ,
- t.MARGINVALUE ,
- t.CHARGEALGORITHM ,
- t.CHARGEALGORITHMVALUE ,
- t.CHARGEALGORITHMVALUE2,
- t.CANBARGAIN ,
- t.WRBARGAINID ,
- t.ATTACHMENT1 ,
- t.ATTACHMENT2 ,
- t.APPLYID ,
- t.EXCHANGERATE ,
- t.ORDERAMOUNT
- FROM WRTrade_OrderDetail t
- INNER JOIN View_GZ_WRStandard_Ex_Query q ON t.wrstandardid = q.wrstandardid
- WHERE t.marketid=67201 AND t.BuyOrSell = 1 AND t.WRTradeOrderStatus IN (3,7)
- `
- sqlId.And("q.USERID", r.USERID)
- if r.ZSCATEGORYS != "" {
- sqlId.JoinFormat(" AND q.ZSCATEGORY in (%v)", r.ZSCATEGORYS)
- }
- sqlId.AndLike("q.ZSALLPROPERTIES", r.ZSALLPROPERTIES)
- sqlId.AndEx("t.WRTRADEORDERID", r.WRTRADEORDERID, r.WRTRADEORDERID != "")
- sqlId.OrderByDesc("t.WRTRADEORDERID")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *MySellOrder) buildSql_His() string {
- var sqlId utils.SQLVal = `
- SELECT
- (t.ORDERQTY / 100) TOTALQTY,
- (t.TRADEQTY / 100) SELLEDQTY,
- q.ZSCATEGORY,
- q.ZSCURRENCYTYPE,
- q.GOODSNO,
- q.ZSCURRENCYTYPEDISPLAY ,
- q.ZSCURRENCYTYPEDISPLAYUNIT ,
- q.WAREHOUSENAMEDISPLAY ,
- q.ZSSHAPETYPEDISPLAY ,
- q.ZSCOLORTYPE1DISPLAY ,
- q.ZSCOLORTYPE2DISPLAY ,
- q.ZSCLARITYTYPE1DISPLAY ,
- q.ZSCLARITYTYPE2DISPLAY ,
- q.ZSCUTTYPE1DISPLAY ,
- q.ZSCUTTYPE2DISPLAY ,
- q.ZSSYMMETRYTYPE1DISPLAY ,
- q.ZSSYMMETRYTYPE2DISPLAY ,
- q.ZSPOLISHTYPE1DISPLAY ,
- q.ZSPOLISHTYPE2DISPLAY ,
- q.ZSFLUORESCENCETYPE1DISPLAY,
- q.ZSFLUORESCENCETYPE2DISPLAY,
- q.ZSCERTTYPEDISPLAY ,
- q.ZSCRYSTALTYPEDISPLAY ,
- q.ZSSTYLETYPEDISPLAY ,
- q.ZSCZCOLOR1TYPEDISPLAY ,
- q.ZSCZCOLOR2TYPEDISPLAY ,
- q.ZSCZCOLOR3TYPEDISPLAY ,
- q.MARKETPRICE ,
- q.IMAGEPATH ,
- q.WRPATH ,
- q.REMARK ,
- q.PRICEPER ,
- q.SIZE1 ,
- q.SIZE2 ,
- q.SIZE3 ,
- CASE WHEN
- q.SIZE1 IS NOT NULL AND q.SIZE2 IS NOT NULL AND q.SIZE2 IS NOT NULL THEN q.SIZE1 || '*' || q.SIZE2 || '*' || q.SIZE3
- ELSE q.SIZE1
- END AS SIZEDISPLAY,
- q.CERNO ,
- q.ZSCRYSTALTYPE ,
- q.CPCERTNO ,
- q.KPWEIGHT ,
- q.KPPATH ,
- q.STONEDESC ,
- q.SETTINGMATERIAL ,
- q.PRICE,
- to_char(t.ORDERTIME, 'yyyy-mm-dd hh24:mi:ss') ORDERTIME1,
- to_char(t.WRTRADEORDERID) WRTRADEORDERID1,
- t.WRTRADEORDERID ,
- t.TRADEDATE ,
- t.WRTRADETYPE ,
- t.BUYORSELL ,
- t.RELATEDWRTRADEORDERID,
- t.MARKETID ,
- t.ACCOUNTID ,
- t.WRFACTORTYPEID ,
- t.ORDERQTY ,
- t.TRADEQTY ,
- t.CANCELQTY ,
- t.WRPRICETYPE ,
- t.FIXEDPRICE ,
- t.ISSPECIFIED ,
- t.PRICEFACTOR ,
- t.PRICEMOVE ,
- t.FIRSTRATIO ,
- t.WRTRANSFERUSERID ,
- t.TRADEPRICE ,
- t.FREEZEFIRSTAMOUNT ,
- t.UNFREEZEFIRSTAMOUNT ,
- t.PERFORMANCETEMPLATEID,
- t.VALIDTYPE ,
- t.VALIDTIME ,
- t.ORDERTIME ,
- t.CANCELTIME ,
- t.WRTRADEORDERSTATUS ,
- t.CLIENTTICKET ,
- t.ORDERSRC ,
- t.CLIENTTYPE ,
- t.UUID ,
- t.CLIENTORDERTIME ,
- t.RETCODE ,
- t.OPERATORID ,
- t.PRICEDISPLAYMODE ,
- t.FREEZEMARGIN ,
- t.UNFREEZEMARGIN ,
- t.FREEZECHARGE ,
- t.UNFREEZECHARGE ,
- t.MARGINALGORITHM ,
- t.MARGINVALUE ,
- t.CHARGEALGORITHM ,
- t.CHARGEALGORITHMVALUE ,
- t.CHARGEALGORITHMVALUE2,
- t.CANBARGAIN ,
- t.WRBARGAINID ,
- t.ATTACHMENT1 ,
- t.ATTACHMENT2 ,
- t.APPLYID ,
- t.EXCHANGERATE ,
- t.ORDERAMOUNT
- FROM HIS_WRTrade_OrderDetail t
- INNER JOIN View_GZ_WRStandard_Ex_Query q ON t.wrstandardid = q.wrstandardid
- WHERE t.isvaliddata =1 AND t.marketid=67201 AND t.BuyOrSell = 1 AND t.WRTradeOrderStatus IN (3,7)
- `
- sqlId.And("q.USERID", r.USERID)
- if r.ZSCATEGORYS != "" {
- sqlId.JoinFormat(" AND q.ZSCATEGORY in (%v)", r.ZSCATEGORYS)
- }
- sqlId.AndLike("q.ZSALLPROPERTIES", r.ZSALLPROPERTIES)
- sqlId.AndEx("t.WRTRADEORDERID", r.WRTRADEORDERID, r.WRTRADEORDERID != "")
- if r.BeginDate != "" && r.EndDate != "" {
- sqlId.JoinFormat(" AND (t.TRADEDATE >= '%v' AND t.TRADEDATE <= '%v')", r.BeginDate, r.EndDate)
- }
- sqlId.OrderByDesc("t.WRTRADEORDERID")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *MySellOrder) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]MySellOrder, 0)
- sql := ""
- if r.IsHis {
- sql = r.buildSql_His()
- } else {
- sql = r.buildSql()
- }
- err := db.GetEngine().SQL(sql).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // MyDeListing 我的摘牌
- type MyDeListing struct {
- ZSALLPROPERTIES string `json:"-" xorm:"ZSALLPROPERTIES" form:"zsallproperties"` // 商品(查询字段-模糊查询)
- SELLUSERNAME string `json:"-" xorm:"SELLUSERNAME"` // 卖方
- BUYUSERNAME string `json:"-" xorm:"BUYUSERNAME"` // 买方
- USERID int64 `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 用户ID
- ZSCATEGORY int32 `json:"zscategory" xorm:"ZSCATEGORY"` // 钻石分类 - 枚举”ZSCategory“
- ZSCATEGORYS string `json:"-" form:"zscategorys"` // 钻石分类
- ZSCATEGORYDISPLAY string `json:"zscategorydisplay" xorm:"ZSCATEGORYDISPLAY"` //
- ZSCURRENCYTYPE int32 `json:"zscurrencytype" xorm:"ZSCURRENCYTYPE"` // 货币类型 - 枚举“ZSCurrencyType”
- GOODSNO string `json:"goodsno" xorm:"GOODSNO"` // 商品编号
- ZSCURRENCYTYPEDISPLAY string `json:"zscurrencytypedisplay" xorm:"ZSCURRENCYTYPEDISPLAY"` //
- ZSCURRENCYTYPEDISPLAYUNIT string `json:"zscurrencytypedisplayunit" xorm:"ZSCURRENCYTYPEDISPLAYUNIT"` //
- WAREHOUSENAMEDISPLAY string `json:"warehousenamedisplay" xorm:"WAREHOUSENAMEDISPLAY"` //
- ZSSHAPETYPEDISPLAY string `json:"zsshapetypedisplay" xorm:"ZSSHAPETYPEDISPLAY"` //
- ZSCOLORTYPE1DISPLAY string `json:"zscolortype1display" xorm:"ZSCOLORTYPE1DISPLAY"` //
- ZSCOLORTYPE2DISPLAY string `json:"zscolortype2display" xorm:"ZSCOLORTYPE2DISPLAY"` //
- ZSCLARITYTYPE1DISPLAY string `json:"zsclaritytype1display" xorm:"ZSCLARITYTYPE1DISPLAY"` //
- ZSCLARITYTYPE2DISPLAY string `json:"zsclaritytype2display" xorm:"ZSCLARITYTYPE2DISPLAY"` //
- ZSCUTTYPE1DISPLAY string `json:"zscuttype1display" xorm:"ZSCUTTYPE1DISPLAY"` //
- ZSCUTTYPE2DISPLAY string `json:"zscuttype2display" xorm:"ZSCUTTYPE2DISPLAY"` //
- ZSSYMMETRYTYPE1DISPLAY string `json:"zssymmetrytype1display" xorm:"ZSSYMMETRYTYPE1DISPLAY"` //
- ZSSYMMETRYTYPE2DISPLAY string `json:"zssymmetrytype2display" xorm:"ZSSYMMETRYTYPE2DISPLAY"` //
- ZSPOLISHTYPE1DISPLAY string `json:"zspolishtype1display" xorm:"ZSPOLISHTYPE1DISPLAY"` //
- ZSPOLISHTYPE2DISPLAY string `json:"zspolishtype2display" xorm:"ZSPOLISHTYPE2DISPLAY"` //
- ZSFLUORESCENCETYPE1DISPLAY string `json:"zsfluorescencetype1display" xorm:"ZSFLUORESCENCETYPE1DISPLAY"` //
- ZSFLUORESCENCETYPE2DISPLAY string `json:"zsfluorescencetype2display" xorm:"ZSFLUORESCENCETYPE2DISPLAY"` //
- ZSCERTTYPEDISPLAY string `json:"zscerttypedisplay" xorm:"ZSCERTTYPEDISPLAY"` //
- ZSCRYSTALTYPEDISPLAY string `json:"zscrystaltypedisplay" xorm:"ZSCRYSTALTYPEDISPLAY"` //
- ZSSTYLETYPEDISPLAY string `json:"zsstyletypedisplay" xorm:"ZSSTYLETYPEDISPLAY"` //
- ZSCZCOLOR1TYPEDISPLAY string `json:"zsczcolor1typedisplay" xorm:"ZSCZCOLOR1TYPEDISPLAY"` //
- ZSCZCOLOR2TYPEDISPLAY string `json:"zsczcolor2typedisplay" xorm:"ZSCZCOLOR2TYPEDISPLAY"` //
- ZSCZCOLOR3TYPEDISPLAY string `json:"zsczcolor3typedisplay" xorm:"ZSCZCOLOR3TYPEDISPLAY"` //
- SIZEDISPLAY string `json:"sizedisplay" xorm:"SIZEDISPLAY"` // 尺寸
- PRICE float64 `json:"price" xorm:"PRICE"` // 价格
- WRTRADEDETAILID string `json:"wrtradedetailid" xorm:"WRTRADEDETAILID1" form:"wrtradedetailid"` // 仓单贸易成交单ID(321+Unix秒时间戳(10位)+xxxxxx)
- TRADEDATE string `json:"tradedate" xorm:"TRADEDATE"` // 交易日(yyyyMMdd)
- MARKETID int32 `json:"marketid" xorm:"MARKETID"` // 市场ID
- WRFACTORTYPEID int64 `json:"wrfactortypeid" xorm:"WRFACTORTYPEID"` // 仓单要素类型ID
- DELIVERYGOODSID int32 `json:"deliverygoodsid" xorm:"DELIVERYGOODSID"` // 现货品种ID
- WRSTANDARDID int32 `json:"wrstandardid" xorm:"WRSTANDARDID"` // 现货商品ID
- BUYUSERID int64 `json:"buyuserid" xorm:"BUYUSERID"` // 买方用户ID
- BUYACCOUNTID int64 `json:"buyaccountid" xorm:"BUYACCOUNTID"` // 买方账号ID
- SELLUSERID int64 `json:"selluserid" xorm:"SELLUSERID"` // 卖方用户ID
- SELLACCOUNTID int64 `json:"sellaccountid" xorm:"SELLACCOUNTID"` // 卖方账号ID
- TRADETIME string `json:"tradetime" xorm:"TRADETIME1"` // 成交时间
- TRADEPRICE float64 `json:"tradeprice" xorm:"TRADEPRICE"` // 成交价格
- TRADEQTY int64 `json:"-" xorm:"TRADEQTY"` // 成交数量
- TRADEAMOUNT float64 `json:"tradeamount" xorm:"TRADEAMOUNT"` // 成交金额
- PERFORMANCEPLANID string `json:"performanceplanid" xorm:"PERFORMANCEPLANID1"` // 履约计划ID/合同ID
- EXCHANGERATE float64 `json:"exchangerate" xorm:"EXCHANGERATE"` // 汇率
- BUYCHARGEVALUE float64 `json:"buychargevalue" xorm:"BUYCHARGEVALUE"` // 买方手续费
- SELLCHARGEVALUE float64 `json:"sellchargevalue" xorm:"SELLCHARGEVALUE"` // 卖方手续费
- ORITRADEAMOUNT float64 `json:"oritradeamount" xorm:"ORITRADEAMOUNT"` // 成交金额[商品币种]
- QTY float64 `json:"qty" xorm:"QTY"` // 成交重量
- MATCHUSERNAME string `json:"matchusername" form:"matchusername"` // 对手方
- BuyOrSell int64 `json:"-" xorm:"BUYORSELL" form:"buyorsell"` // 方向 - 0:买 1:卖
- BeginDate string `json:"-" form:"begindate"` // 开始交易日
- EndDate string `json:"-" form:"enddate"` // 结束交易日
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *MyDeListing) calc() {
- // 设置对手方
- if r.BuyOrSell == 0 {
- r.MATCHUSERNAME = r.SELLUSERNAME
- } else {
- r.MATCHUSERNAME = r.BUYUSERNAME
- }
- }
- func (r *MyDeListing) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- %v BUYORSELL,
- ua1.accountname BUYUSERNAME,
- q.SELLUSERNAME,
- q.USERID,
- q.ZSCATEGORY,
- q.ZSCATEGORYDISPLAY,
- q.ZSCURRENCYTYPE,
- q.GOODSNO,
- q.ZSCURRENCYTYPEDISPLAY,
- q.ZSCURRENCYTYPEDISPLAYUNIT,
- q.WAREHOUSENAMEDISPLAY,
- q.ZSSHAPETYPEDISPLAY,
- q.ZSCOLORTYPE1DISPLAY,
- q.ZSCOLORTYPE2DISPLAY,
- q.ZSCLARITYTYPE1DISPLAY,
- q.ZSCLARITYTYPE2DISPLAY,
- q.ZSCUTTYPE1DISPLAY,
- q.ZSCUTTYPE2DISPLAY,
- q.ZSSYMMETRYTYPE1DISPLAY,
- q.ZSSYMMETRYTYPE2DISPLAY,
- q.ZSPOLISHTYPE1DISPLAY,
- q.ZSPOLISHTYPE2DISPLAY,
- q.ZSFLUORESCENCETYPE1DISPLAY,
- q.ZSFLUORESCENCETYPE2DISPLAY,
- q.ZSCERTTYPEDISPLAY,
- q.ZSCRYSTALTYPEDISPLAY,
- q.ZSSTYLETYPEDISPLAY,
- q.ZSCZCOLOR1TYPEDISPLAY,
- q.ZSCZCOLOR2TYPEDISPLAY,
- q.ZSCZCOLOR3TYPEDISPLAY,
- CASE WHEN
- q.SIZE1 IS NOT NULL AND q.SIZE2 IS NOT NULL AND q.SIZE2 IS NOT NULL THEN q.SIZE1 || '*' || q.SIZE2 || '*' || q.SIZE3
- ELSE q.SIZE1
- END AS SIZEDISPLAY,
- q.PRICE,
- (t.TRADEQTY / 100) QTY,
- to_char(t.TRADETIME, 'yyyy-mm-dd hh24:mi:ss') TRADETIME1,
- to_char(t.WRTRADEDETAILID) WRTRADEDETAILID1,
- t.TRADEDATE ,
- t.MARKETID ,
- t.WRFACTORTYPEID ,
- t.DELIVERYGOODSID ,
- t.WRSTANDARDID ,
- t.BUYUSERID ,
- t.BUYACCOUNTID ,
- t.SELLUSERID ,
- t.SELLACCOUNTID ,
- t.TRADEPRICE ,
- t.TRADEQTY ,
- t.TRADEAMOUNT ,
- to_char(t.PERFORMANCEPLANID) PERFORMANCEPLANID1,
- t.EXCHANGERATE ,
- t.BUYCHARGEVALUE ,
- t.SELLCHARGEVALUE ,
- t.ORITRADEAMOUNT
- FROM WRTrade_TradeQuote t
- INNER JOIN View_GZ_WRStandard_Ex_Query q ON t.wrstandardid = q.wrstandardid
- LEFT JOIN UserAccount ua1 ON t.BuyUserID = ua1.userid
- WHERE t.marketid=67201
- `
- sqlId.FormatParam(r.BuyOrSell)
- if r.ZSCATEGORYS != "" {
- sqlId.JoinFormat(" AND q.ZSCATEGORY in (%v)", r.ZSCATEGORYS)
- }
- sqlId.AndLike("q.ZSALLPROPERTIES", r.ZSALLPROPERTIES)
- sqlId.AndEx("t.WRTRADEDETAILID", r.WRTRADEDETAILID, r.WRTRADEDETAILID != "")
- switch r.BuyOrSell {
- case 0:
- // 买
- sqlId.And("t.BUYUSERID", r.USERID)
- if r.MATCHUSERNAME != "" {
- sqlId.AndLike("q.SELLUSERNAME", r.MATCHUSERNAME)
- }
- case 1:
- // 卖
- sqlId.And("t.SELLUSERID", r.USERID)
- if r.MATCHUSERNAME != "" {
- sqlId.AndLike("ua1.accountname", r.MATCHUSERNAME)
- }
- }
- if r.BeginDate != "" && r.EndDate != "" {
- sqlId.JoinFormat(" AND (t.TRADEDATE >= '%v' AND t.TRADEDATE <= '%v')", r.BeginDate, r.EndDate)
- }
- sqlId.OrderByDesc("t.WRTRADEDETAILID")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *MyDeListing) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]MyDeListing, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // MyBargainApply 询价-求购
- type MyBargainApply struct {
- ZSCURRENCYTYPEDISPLAY string `json:"zscurrencytypedisplay" xorm:"ZSCURRENCYTYPEDISPLAY"` //
- ZSCURRENCYTYPEDISPLAYUNIT string `json:"zscurrencytypedisplayunit" xorm:"ZSCURRENCYTYPEDISPLAYUNIT"` //
- WAREHOUSENAMEDISPLAY string `json:"warehousenamedisplay" xorm:"WAREHOUSENAMEDISPLAY"` //
- ZSSHAPETYPEDISPLAY string `json:"zsshapetypedisplay" xorm:"ZSSHAPETYPEDISPLAY"` //
- ZSCOLORTYPE1DISPLAY string `json:"zscolortype1display" xorm:"ZSCOLORTYPE1DISPLAY"` //
- ZSCOLORTYPE2DISPLAY string `json:"zscolortype2display" xorm:"ZSCOLORTYPE2DISPLAY"` //
- ZSCLARITYTYPE1DISPLAY string `json:"zsclaritytype1display" xorm:"ZSCLARITYTYPE1DISPLAY"` //
- ZSCLARITYTYPE2DISPLAY string `json:"zsclaritytype2display" xorm:"ZSCLARITYTYPE2DISPLAY"` //
- ZSCUTTYPE1DISPLAY string `json:"zscuttype1display" xorm:"ZSCUTTYPE1DISPLAY"` //
- ZSCUTTYPE2DISPLAY string `json:"zscuttype2display" xorm:"ZSCUTTYPE2DISPLAY"` //
- ZSSYMMETRYTYPE1DISPLAY string `json:"zssymmetrytype1display" xorm:"ZSSYMMETRYTYPE1DISPLAY"` //
- ZSSYMMETRYTYPE2DISPLAY string `json:"zssymmetrytype2display" xorm:"ZSSYMMETRYTYPE2DISPLAY"` //
- ZSPOLISHTYPE1DISPLAY string `json:"zspolishtype1display" xorm:"ZSPOLISHTYPE1DISPLAY"` //
- ZSPOLISHTYPE2DISPLAY string `json:"zspolishtype2display" xorm:"ZSPOLISHTYPE2DISPLAY"` //
- ZSFLUORESCENCETYPE1DISPLAY string `json:"zsfluorescencetype1display" xorm:"ZSFLUORESCENCETYPE1DISPLAY"` //
- ZSFLUORESCENCETYPE2DISPLAY string `json:"zsfluorescencetype2display" xorm:"ZSFLUORESCENCETYPE2DISPLAY"` //
- ZSCERTTYPEDISPLAY string `json:"zscerttypedisplay" xorm:"ZSCERTTYPEDISPLAY"` //
- ZSCRYSTALTYPEDISPLAY string `json:"zscrystaltypedisplay" xorm:"ZSCRYSTALTYPEDISPLAY"` //
- ZSSTYLETYPEDISPLAY string `json:"zsstyletypedisplay" xorm:"ZSSTYLETYPEDISPLAY"` //
- ZSCZCOLOR1TYPEDISPLAY string `json:"zsczcolor1typedisplay" xorm:"ZSCZCOLOR1TYPEDISPLAY"` //
- ZSCZCOLOR2TYPEDISPLAY string `json:"zsczcolor2typedisplay" xorm:"ZSCZCOLOR2TYPEDISPLAY"` //
- ZSCZCOLOR3TYPEDISPLAY string `json:"zsczcolor3typedisplay" xorm:"ZSCZCOLOR3TYPEDISPLAY"` //
- SIZEDISPLAY string `json:"sizedisplay" xorm:"SIZEDISPLAY"` // 尺寸
- PRICE float64 `json:"price" xorm:"PRICE"` // 价格
- PRICEPER string `json:"priceper" xorm:"PRICEPER"` // 克拉单价 - 类型:1,2,3,5
- GOODSNO string `json:"goodsno" xorm:"GOODSNO"` // 商品编号
- WRBARGAINID string `json:"wrbargainid" xorm:"WRBARGAINID1"` // [询价单号]议价申请单ID(327+Unix秒时间戳(10位)+xxxxxx)
- WRTRADEORDERID string `json:"wrtradeorderid" xorm:"WRTRADEORDERID1" form:"wrtradeorderid"` // 关联委托单ID
- TRADEDATE string `json:"tradedate" xorm:"TRADEDATE"` // 交易日(yyyyMMdd)
- MARKETID int64 `json:"marketid" xorm:"MARKETID"` // 市场ID
- USERID int64 `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 摘牌人用户ID
- ACCOUNTID int64 `json:"accountid" xorm:"ACCOUNTID"` // 摘牌资金账号
- BUYORSELL int32 `json:"buyorsell" xorm:"BUYORSELL"` // 买卖 - 0:买 1:卖
- APPLYQTY int64 `json:"-" xorm:"APPLYQTY"` // 摘牌数量
- APPLYPRICE string `json:"applyprice" xorm:"APPLYPRICE"` // 申请价格
- APPLYSTATUS int32 `json:"applystatus" xorm:"APPLYSTATUS" form:"applystatus"` // 申请状态 - 1:待确认 2:已确认 3:已拒绝 4:已撤销 5:系统撤销 6:处理失败 7:确认中
- HANDLESTATUS int32 `json:"handlestatus" xorm:"HANDLESTATUS"` // 处理状态
- APPLYTIME string `json:"applytime" xorm:"APPLYTIME1"` // 申请时间
- APPLYREMARK string `json:"applyremark" xorm:"APPLYREMARK"` // 申请备注
- CONFIRMQTY int64 `json:"confirmqty" xorm:"CONFIRMQTY"` // 可接受数量(拒绝时填写)-作废
- CONFIRMPRICE float64 `json:"confirmprice" xorm:"CONFIRMPRICE"` // 可接受价格(拒绝时填写)-作废
- CONFIRMUSERID int64 `json:"confirmuserid" xorm:"CONFIRMUSERID"` // 确认人
- CONFIRMTIME time.Time `json:"confirmtime" xorm:"CONFIRMTIME"` // 确认时间
- CONFIRMREMARK string `json:"confirmremark" xorm:"CONFIRMREMARK"` // 确认备注
- REFPRICE string `json:"refprice" xorm:"REFPRICE"` // 参考价格
- RETCODE int32 `json:"retcode" xorm:"RETCODE"` // 委托返回代码
- MATCHUSERID int64 `json:"matchuserid" xorm:"MATCHUSERID"` // 挂牌方用户ID
- MATCHACCOUNTID int64 `json:"matchaccountid" xorm:"MATCHACCOUNTID"` // 挂牌方资金账号
- LADINGBILLID int64 `json:"ladingbillid" xorm:"LADINGBILLID"` // 摘牌方提单ID [卖]
- SUBNUM int32 `json:"subnum" xorm:"SUBNUM"` // 摘牌方提单子单号 [卖]
- PERFORMANCETEMPLATEID int64 `json:"performancetemplateid" xorm:"PERFORMANCETEMPLATEID"` // 履约计划模板ID
- SELLUSERNAME string `json:"sellusername" xorm:"SELLUSERNAME"` // 卖方
- BUYUSERNAME string `json:"buyusername" xorm:"BUYUSERNAME"` // 买方
- QTY float64 `json:"qty" xorm:"QTY"` // 申请数量
- TYPE int `json:"-" form:"type"` // 查询类型 - 0:我的询价 1:我订单的询价
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *MyBargainApply) calc() {
- }
- func (r *MyBargainApply) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- q.ZSCURRENCYTYPEDISPLAY,
- q.ZSCURRENCYTYPEDISPLAYUNIT,
- q.WAREHOUSENAMEDISPLAY,
- q.ZSSHAPETYPEDISPLAY,
- q.ZSCOLORTYPE1DISPLAY,
- q.ZSCOLORTYPE2DISPLAY,
- q.ZSCLARITYTYPE1DISPLAY,
- q.ZSCLARITYTYPE2DISPLAY,
- q.ZSCUTTYPE1DISPLAY,
- q.ZSCUTTYPE2DISPLAY,
- q.ZSSYMMETRYTYPE1DISPLAY,
- q.ZSSYMMETRYTYPE2DISPLAY,
- q.ZSPOLISHTYPE1DISPLAY,
- q.ZSPOLISHTYPE2DISPLAY,
- q.ZSFLUORESCENCETYPE1DISPLAY,
- q.ZSFLUORESCENCETYPE2DISPLAY,
- q.ZSCERTTYPEDISPLAY,
- q.ZSCRYSTALTYPEDISPLAY,
- q.ZSSTYLETYPEDISPLAY,
- q.ZSCZCOLOR1TYPEDISPLAY,
- q.ZSCZCOLOR2TYPEDISPLAY,
- q.ZSCZCOLOR3TYPEDISPLAY,
- q.GOODSNO,
- ua.accountname SELLUSERNAME,
- ua1.accountname BUYUSERNAME,
- CASE WHEN
- q.SIZE1 IS NOT NULL AND q.SIZE2 IS NOT NULL AND q.SIZE2 IS NOT NULL THEN q.SIZE1 || '*' || q.SIZE2 || '*' || q.SIZE3
- ELSE q.SIZE1
- END AS SIZEDISPLAY,
- q.PRICE,
- q.PRICEPER,
- (t.APPLYQTY / 100) QTY,
- to_char(t.APPLYTIME, 'yyyy-mm-dd hh24:mi:ss') APPLYTIME1,
- to_char(t.WRBARGAINID) WRBARGAINID1,
- t.WRBARGAINID ,
- to_char(t.WRTRADEORDERID) WRTRADEORDERID1,
- t.TRADEDATE ,
- t.MARKETID ,
- t.USERID ,
- t.ACCOUNTID ,
- t.BUYORSELL ,
- t.APPLYQTY ,
- t.APPLYPRICE ,
- t.APPLYSTATUS ,
- t.HANDLESTATUS ,
- t.APPLYTIME ,
- t.APPLYREMARK ,
- t.CONFIRMQTY ,
- t.CONFIRMPRICE ,
- t.CONFIRMUSERID ,
- t.CONFIRMTIME ,
- t.CONFIRMREMARK ,
- t.REFPRICE ,
- t.RETCODE ,
- t.MATCHUSERID ,
- t.MATCHACCOUNTID,
- t.LADINGBILLID ,
- t.SUBNUM ,
- d.PERFORMANCETEMPLATEID
- FROM WRTrade_BargainApply t
- LEFT JOIN UserAccount ua ON t.MATCHUSERID = ua.userid
- LEFT JOIN UserAccount ua1 ON t.USERID = ua1.userid
- LEFT JOIN Wrtrade_Orderdetail d ON d.wrtradeorderid = t.wrtradeorderid
- LEFT JOIN view_GZ_WRStandard_Ex_Query q ON d.wrstandardid = q.wrstandardid
- WHERE t.marketid=67201
- `
- if r.TYPE == 0 {
- sqlId.And("t.USERID", r.USERID)
- } else {
- sqlId.And("t.MatchUserID", r.USERID)
- }
- sqlId.AndEx("t.APPLYSTATUS", r.APPLYSTATUS, r.APPLYSTATUS > 0)
- if r.WRTRADEORDERID != "" {
- sqlId.JoinFormat(" and t.WRTRADEORDERID = %v", r.WRTRADEORDERID)
- }
- sqlId.OrderByDesc("t.WRBARGAINID")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *MyBargainApply) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]MyBargainApply, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // MyDelistingApply 询价-出售
- type MyDelistingApply struct {
- ZSALLPROPERTIES string `json:"zsallproperties" xorm:"ZSALLPROPERTIES"` //
- ZSTABLEDISPLAY string `json:"zstabledisplay" xorm:"ZSTABLEDISPLAY"` //
- BUYUSERNAME string `json:"buyusername" xorm:"BUYUSERNAME"` // 买方
- ZSCATEGORYDISPLAY string `json:"zscategorydisplay" xorm:"ZSCATEGORYDISPLAY"` //
- ZSCURRENCYTYPEDISPLAY string `json:"zscurrencytypedisplay" xorm:"ZSCURRENCYTYPEDISPLAY"` //
- ZSSHAPETYPEDISPLAY string `json:"zsshapetypedisplay" xorm:"ZSSHAPETYPEDISPLAY"` //
- ZSCOLORTYPEDISPLAY string `json:"zscolortypedisplay" xorm:"ZSCOLORTYPEDISPLAY"` //
- ZSCLARITYTYPEDISPLAY string `json:"zsclaritytypedisplay" xorm:"ZSCLARITYTYPEDISPLAY"` //
- ZSCUTTYPEDISPLAY string `json:"zscuttypedisplay" xorm:"ZSCUTTYPEDISPLAY"` //
- ZSSYMMETRYTYPEDISPLAY string `json:"zssymmetrytypedisplay" xorm:"ZSSYMMETRYTYPEDISPLAY"` //
- ZSPOLISHTYPEDISPLAY string `json:"zspolishtypedisplay" xorm:"ZSPOLISHTYPEDISPLAY"` //
- ZSFLUORESCENCETYPEDISPLAY string `json:"zsfluorescencetypedisplay" xorm:"ZSFLUORESCENCETYPEDISPLAY"` //
- ZSSIZEDISPLAY string `json:"zssizedisplay" xorm:"ZSSIZEDISPLAY"` //
- ZSCRYSTALTYPEDISPLAY string `json:"zscrystaltypedisplay" xorm:"ZSCRYSTALTYPEDISPLAY"` //
- ZSSTYLETYPEDISPLAY string `json:"zsstyletypedisplay" xorm:"ZSSTYLETYPEDISPLAY"` //
- ZSCZCOLOR1TYPEDISPLAY string `json:"zsczcolor1typedisplay" xorm:"ZSCZCOLOR1TYPEDISPLAY"` //
- ZSCZCOLOR2TYPEDISPLAY string `json:"zsczcolor2typedisplay" xorm:"ZSCZCOLOR2TYPEDISPLAY"` //
- ZSCZCOLOR3TYPEDISPLAY string `json:"zsczcolor3typedisplay" xorm:"ZSCZCOLOR3TYPEDISPLAY"` //
- WAREHOUSEINFOSDISPLAY string `json:"warehouseinfosdisplay" xorm:"WAREHOUSEINFOSDISPLAY"` //
- SIZEDISPLAY string `json:"sizedisplay" xorm:"SIZEDISPLAY"` // 尺寸
- GOODSNO string `json:"goodsno" xorm:"GOODSNO"` // 商品编号
- PRICE float64 `json:"price" xorm:"PRICE"` // 价格
- WEIGHT float64 `json:"weight" xorm:"WEIGHT"` // 克拉重量
- ZSCURRENCYTYPEDISPLAYUNIT string `json:"zscurrencytypedisplayunit" xorm:"ZSCURRENCYTYPEDISPLAYUNIT"` // 价格单位
- SELLDELISTINGAPPLYID string `json:"selldelistingapplyid" xorm:"SELLDELISTINGAPPLYID1"` // [询价单号]卖摘牌申请ID(916+Unix秒时间戳(10位)+xxxxxx)
- BUYWRTRADEORDERID string `json:"buywrtradeorderid" xorm:"BUYWRTRADEORDERID1" form:"buywrtradeorderid"` // 买委托单ID
- BUYUSERID int64 `json:"buyuserid" xorm:"BUYUSERID"` // 买方用户ID
- SELLUSERID int64 `json:"selluserid" xorm:"SELLUSERID" form:"userid" binding:"required"` // 卖方用户ID
- SELLACCOUNTID int64 `json:"sellaccountid" xorm:"SELLACCOUNTID"` // 卖方账户ID
- WRSTANDARDID int64 `json:"wrstandardid" xorm:"WRSTANDARDID"` // 现货商品ID
- WRFACTORTYPEID string `json:"wrfactortypeid" xorm:"WRFACTORTYPEID1"` // 仓单要素类型ID
- APPLYQTY float64 `json:"applyqty" xorm:"APPLYQTY"` // 申请数量
- APPLYPRICE float64 `json:"applyprice" xorm:"APPLYPRICE"` // 申请价格
- APPLYSTATUS int32 `json:"applystatus" xorm:"APPLYSTATUS" form:"applystatus"` // 申请状态 - 1:待确认 2:已确认 3:已拒绝 4:已撤销 5:系统撤销 6:处理失败 7:确认中
- APPLYREMARK string `json:"applyremark" xorm:"APPLYREMARK"` // 申请备注
- APPLYTIME string `json:"applytime" xorm:"APPLYTIME1"` // 申请时间
- AUDITREMARK string `json:"auditremark" xorm:"AUDITREMARK"` // 确认备注
- SELLTRADEORDERID string `json:"selltradeorderid" xorm:"SELLTRADEORDERID1"` // 卖方委托ID(买方确认成交后更新)
- AUDITTIME time.Time `json:"audittime" xorm:"AUDITTIME"` // 确认时间
- LADINGBILLID string `json:"ladingbillid" xorm:"LADINGBILLID1"` // 卖方提单ID
- SUBNUM int32 `json:"subnum" xorm:"SUBNUM"` // 卖方提单子单号
- MARKETID int32 `json:"marketid" xorm:"MARKETID"` // 市场ID
- PERFORMANCETEMPLATEID int64 `json:"performancetemplateid" xorm:"PERFORMANCETEMPLATEID"` // 履约计划模板ID
- SELLUSERNAME string `json:"sellusername" xorm:"SELLUSERNAME"` // 卖方
- ZSCERTTYPEDISPLAY string `json:"zscerttypedisplay" xorm:"ZSCERTTYPEDISPLAY"` // 证书类型
- ZSCERTTYPE int32 `json:"zscerttype" xorm:"ZSCERTTYPE"` // 证书类型 - 枚举”ZSCertType“ - 类型:2,4,5
- CERNO string `json:"cerno" xorm:"CERNO"` // 证书编号 - 类型:2,4,5
- PRICEPER string `json:"priceper" xorm:"PRICEPER"` // 克拉单价
- TYPE int `json:"-" form:"type"` // 查询类型 - 0:我的询价 1:我订单的询价
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *MyDelistingApply) calc() {
- }
- func (r *MyDelistingApply) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- q.GOODSNO,
- q.PRICE,
- q.WEIGHT,
- q.ZSCURRENCYTYPEDISPLAYUNIT,
- p.ZSALLPROPERTIES ,
- p.ZSTABLEDISPLAY ,
- p.BUYUSERNAME ,
- p.ZSCATEGORYDISPLAY ,
- p.ZSCURRENCYTYPEDISPLAY ,
- p.ZSSHAPETYPEDISPLAY ,
- p.ZSCOLORTYPEDISPLAY ,
- p.ZSCLARITYTYPEDISPLAY ,
- p.ZSCUTTYPEDISPLAY ,
- p.ZSSYMMETRYTYPEDISPLAY ,
- p.ZSPOLISHTYPEDISPLAY ,
- p.ZSFLUORESCENCETYPEDISPLAY,
- p.ZSSIZEDISPLAY ,
- p.ZSCRYSTALTYPEDISPLAY ,
- p.ZSSTYLETYPEDISPLAY ,
- p.ZSCZCOLOR1TYPEDISPLAY ,
- p.ZSCZCOLOR2TYPEDISPLAY ,
- p.ZSCZCOLOR3TYPEDISPLAY ,
- p.WAREHOUSEINFOSDISPLAY ,
- CASE WHEN
- q.SIZE1 IS NOT NULL AND q.SIZE2 IS NOT NULL AND q.SIZE2 IS NOT NULL THEN q.SIZE1 || '*' || q.SIZE2 || '*' || q.SIZE3
- ELSE q.SIZE1
- END AS SIZEDISPLAY,
- to_char(t.APPLYTIME, 'yyyy-mm-dd hh24:mi:ss') APPLYTIME1,
- to_char(t.SELLDELISTINGAPPLYID) SELLDELISTINGAPPLYID1,
- to_char(t.BUYWRTRADEORDERID) BUYWRTRADEORDERID1,
- t.BUYUSERID ,
- t.SELLUSERID ,
- t.SELLACCOUNTID ,
- t.WRSTANDARDID ,
- to_char(t.WRFACTORTYPEID) WRFACTORTYPEID1 ,
- t.APPLYQTY ,
- t.APPLYPRICE ,
- t.APPLYSTATUS ,
- t.APPLYREMARK ,
- t.APPLYTIME ,
- t.AUDITREMARK ,
- to_char(t.SELLTRADEORDERID) SELLTRADEORDERID1,
- t.AUDITTIME ,
- to_char(t.LADINGBILLID) LADINGBILLID1 ,
- t.SUBNUM ,
- t.MARKETID,
- d.PERFORMANCETEMPLATEID,
- ua1.ACCOUNTNAME SELLUSERNAME,
- q.ZSCERTTYPEDISPLAY,
- q.ZSCERTTYPE,
- q.CERNO,
- q.PRICEPER
- FROM GZ_SellDelistingApply t
- LEFT JOIN VIEW_GZ_BUYORDERDETAIL_QUERY p ON t.BUYWRTRADEORDERID = p.WRTRADEORDERID
- LEFT JOIN view_GZ_WRStandard_Ex_Query q ON t.WRSTANDARDID = q.WRSTANDARDID
- LEFT JOIN Wrtrade_Orderdetail d ON d.wrtradeorderid = t.BUYWRTRADEORDERID
- LEFT JOIN UserAccount ua1 ON t.SELLUSERID = ua1.userid
- WHERE t.marketid=67201
- `
- if r.TYPE == 0 {
- sqlId.And("t.SELLUSERID", r.SELLUSERID)
- } else {
- sqlId.And("t.BuyUserID", r.SELLUSERID)
- }
- sqlId.AndEx("t.APPLYSTATUS", r.APPLYSTATUS, r.APPLYSTATUS > 0)
- if r.BUYWRTRADEORDERID != "" {
- sqlId.JoinFormat(" and t.BUYWRTRADEORDERID = %v", r.BUYWRTRADEORDERID)
- }
- sqlId.OrderByDesc("t.SELLDELISTINGAPPLYID")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *MyDelistingApply) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]MyDelistingApply, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // GZGoods 钻石信息
- type GZGoods struct {
- ZSALLPROPERTIES string `json:"-" xorm:"ZSALLPROPERTIES"` // 商品(查询字段-模糊查询)
- SELLUSERNAME string `json:"sellusername" xorm:"SELLUSERNAME"` // 账户名称(机构名称)
- SELLMOBILE string `json:"-" xorm:"SELLMOBILE"` // 手机号码(加密存储)
- ZSCATEGORYDISPLAY string `json:"zscategorydisplay" xorm:"ZSCATEGORYDISPLAY"` //
- ZSCURRENCYTYPEDISPLAY string `json:"zscurrencytypedisplay" xorm:"ZSCURRENCYTYPEDISPLAY"` //
- ZSCURRENCYTYPEDISPLAYUNIT string `json:"zscurrencytypedisplayunit" xorm:"ZSCURRENCYTYPEDISPLAYUNIT"` //
- WAREHOUSENAMEDISPLAY string `json:"warehousenamedisplay" xorm:"WAREHOUSENAMEDISPLAY"` //
- ZSSHAPETYPEDISPLAY string `json:"zsshapetypedisplay" xorm:"ZSSHAPETYPEDISPLAY"` //
- ZSCOLORTYPE1DISPLAY string `json:"zscolortype1display" xorm:"ZSCOLORTYPE1DISPLAY"` //
- ZSCOLORTYPE2DISPLAY string `json:"zscolortype2display" xorm:"ZSCOLORTYPE2DISPLAY"` //
- ZSCLARITYTYPE1DISPLAY string `json:"zsclaritytype1display" xorm:"ZSCLARITYTYPE1DISPLAY"` //
- ZSCLARITYTYPE2DISPLAY string `json:"zsclaritytype2display" xorm:"ZSCLARITYTYPE2DISPLAY"` //
- ZSCUTTYPE1DISPLAY string `json:"zscuttype1display" xorm:"ZSCUTTYPE1DISPLAY"` //
- ZSCUTTYPE2DISPLAY string `json:"zscuttype2display" xorm:"ZSCUTTYPE2DISPLAY"` //
- ZSSYMMETRYTYPE1DISPLAY string `json:"zssymmetrytype1display" xorm:"ZSSYMMETRYTYPE1DISPLAY"` //
- ZSSYMMETRYTYPE2DISPLAY string `json:"zssymmetrytype2display" xorm:"ZSSYMMETRYTYPE2DISPLAY"` //
- ZSPOLISHTYPE1DISPLAY string `json:"zspolishtype1display" xorm:"ZSPOLISHTYPE1DISPLAY"` //
- ZSPOLISHTYPE2DISPLAY string `json:"zspolishtype2display" xorm:"ZSPOLISHTYPE2DISPLAY"` //
- ZSFLUORESCENCETYPE1DISPLAY string `json:"zsfluorescencetype1display" xorm:"ZSFLUORESCENCETYPE1DISPLAY"` //
- ZSFLUORESCENCETYPE2DISPLAY string `json:"zsfluorescencetype2display" xorm:"ZSFLUORESCENCETYPE2DISPLAY"` //
- ZSCERTTYPEDISPLAY string `json:"zscerttypedisplay" xorm:"ZSCERTTYPEDISPLAY"` //
- ZSCRYSTALTYPEDISPLAY string `json:"zscrystaltypedisplay" xorm:"ZSCRYSTALTYPEDISPLAY"` //
- ZSSTYLETYPEDISPLAY string `json:"zsstyletypedisplay" xorm:"ZSSTYLETYPEDISPLAY"` //
- ZSCZCOLOR1TYPEDISPLAY string `json:"zsczcolor1typedisplay" xorm:"ZSCZCOLOR1TYPEDISPLAY"` //
- ZSCZCOLOR2TYPEDISPLAY string `json:"zsczcolor2typedisplay" xorm:"ZSCZCOLOR2TYPEDISPLAY"` //
- ZSCZCOLOR3TYPEDISPLAY string `json:"zsczcolor3typedisplay" xorm:"ZSCZCOLOR3TYPEDISPLAY"` //
- WRSTANDARDID int64 `json:"wrstandardid" xorm:"WRSTANDARDID"` // 现货商品ID
- USERID int64 `json:"userid" xorm:"USERID"` // 用户ID
- ZSCATEGORY int32 `json:"zscategory" xorm:"ZSCATEGORY"` // 钻石分类 - 枚举”ZSCategory“
- ZSCURRENCYTYPE int32 `json:"zscurrencytype" xorm:"ZSCURRENCYTYPE"` // 货币类型 - 枚举“ZSCurrencyType”
- GOODSNO string `json:"goodsno" xorm:"GOODSNO" form:"goodsno" binding:"required"` // 商品编号
- WAREHOUSEID int64 `json:"warehouseid" xorm:"WAREHOUSEID"` // 仓库ID
- MARKETPRICE string `json:"marketprice" xorm:"MARKETPRICE"` // 市场价
- IMAGEPATH string `json:"imagepath" xorm:"IMAGEPATH"` // 商品照片(相对地址)
- WRPATH string `json:"wrpath" xorm:"WRPATH"` // 仓单扫描件(相对地址)
- REMARK string `json:"remark" xorm:"REMARK"` // 备注
- PRICE float64 `json:"price" xorm:"PRICE"` // 总价(价格) - 类型:1,2,3,4,5
- WEIGHT float64 `json:"weight" xorm:"WEIGHT"` // 总重量(克拉重量) - 类型:1,2,3,4,5
- WEIGHTAVG float64 `json:"weightavg" xorm:"WEIGHTAVG"` // 平均单颗重量 - 类型:1,3
- PRICEPER string `json:"priceper" xorm:"PRICEPER"` // 克拉单价 - 类型:1,2,3,5
- ZSSHAPETYPE string `json:"zsshapetype" xorm:"ZSSHAPETYPE"` // 形状 - 枚举”ZSShapeType“ - 类型:1,2,4,5 ;(1为多个,逗号分隔)
- ZSCOLORTYPE1 int32 `json:"zscolortype1" xorm:"ZSCOLORTYPE1"` // 颜色1 - 枚举”ZSColorType“ - 类型:1,2,3,4
- ZSCOLORTYPE2 int32 `json:"zscolortype2" xorm:"ZSCOLORTYPE2"` // 颜色2 - 枚举”ZSColorType“ - 类型:1,3
- ZSCLARITYTYPE1 int32 `json:"zsclaritytype1" xorm:"ZSCLARITYTYPE1"` // 净度1 - 枚举”ZSClarityType“ - 类型:1,2,3,4,5
- ZSCLARITYTYPE2 int32 `json:"zsclaritytype2" xorm:"ZSCLARITYTYPE2"` // 净度2 - 枚举”ZSClarityType“ - 类型:1,3
- ZSCUTTYPE1 int32 `json:"zscuttype1" xorm:"ZSCUTTYPE1"` // 切工1 - 枚举”ZSCutType“ - 类型:1,2,4,5
- ZSCUTTYPE2 int32 `json:"zscuttype2" xorm:"ZSCUTTYPE2"` // 切工2 - 枚举”ZSCutType“ - 类型:1
- ZSSYMMETRYTYPE1 int32 `json:"zssymmetrytype1" xorm:"ZSSYMMETRYTYPE1"` // 对称度1 - 枚举”ZSSymmetryType“ - 类型:1,2,4,5
- ZSSYMMETRYTYPE2 int32 `json:"zssymmetrytype2" xorm:"ZSSYMMETRYTYPE2"` // 对称度2 - 枚举”ZSSymmetryType“ - 类型:1
- ZSPOLISHTYPE1 int32 `json:"zspolishtype1" xorm:"ZSPOLISHTYPE1"` // 抛光度1 - 枚举”ZSPolishType“ - 类型:1,2,4,5
- ZSPOLISHTYPE2 int32 `json:"zspolishtype2" xorm:"ZSPOLISHTYPE2"` // 抛光度2 - 枚举”ZSPolishType“ - 类型:1
- ZSFLUORESCENCETYPE1 int32 `json:"zsfluorescencetype1" xorm:"ZSFLUORESCENCETYPE1"` // 荧光1 - 枚举”ZSFluorescenceType“ - 类型:1,2,3,4,5
- ZSFLUORESCENCETYPE2 int32 `json:"zsfluorescencetype2" xorm:"ZSFLUORESCENCETYPE2"` // 荧光2 - 枚举”ZSFluorescenceType” - 类型:1,3
- SIZE1 string `json:"size1" xorm:"SIZE1"` // 尺寸1 - 类型:2,4,5
- SIZE2 string `json:"size2" xorm:"SIZE2"` // 尺寸2 - 类型:2,4,5
- SIZE3 string `json:"size3" xorm:"SIZE3"` // 尺寸3 - 类型:2,4,5
- ZSCERTTYPE int32 `json:"zscerttype" xorm:"ZSCERTTYPE"` // 证书类型 - 枚举”ZSCertType“ - 类型:2,4,5
- CERNO string `json:"cerno" xorm:"CERNO"` // 证书编号 - 类型:2,4,5
- ZSCRYSTALTYPE string `json:"zscrystaltype" xorm:"ZSCRYSTALTYPE"` // 晶型范围 - 枚举“ZSCrystalType“ - 类型:3, 多个,逗号分隔
- CPCERTNO string `json:"cpcertno" xorm:"CPCERTNO"` // 金伯利证书编号 - 类型:3
- ORIGIN string `json:"origin" xorm:"ORIGIN"` // 原产地 - 类型:3
- KPWEIGHT string `json:"kpweight" xorm:"KPWEIGHT"` // 金伯利证书重量 - 类型:3
- KPPATH string `json:"kppath" xorm:"KPPATH"` // 金伯利证书图片(相对地址) - 类型:3
- ZSSTYLETYPE int32 `json:"zsstyletype" xorm:"ZSSTYLETYPE"` // 款式 - 类型:4
- STONEDESC string `json:"stonedesc" xorm:"STONEDESC"` // 配石描述 - 类型:4
- SETTINGMATERIAL string `json:"settingmaterial" xorm:"SETTINGMATERIAL"` // 镶嵌材料 - 类型:4
- ZSCZCOLOR1TYPE int32 `json:"zsczcolor1type" xorm:"ZSCZCOLOR1TYPE"` // 彩钻颜色1 - 枚举”ZSCZColor1Type“ - 类型:5
- ZSCZCOLOR2TYPE int32 `json:"zsczcolor2type" xorm:"ZSCZCOLOR2TYPE"` // 彩钻颜色2 - 枚举”ZSCZColor2Type“ - 类型:5
- ZSCZCOLOR3TYPE int32 `json:"zsczcolor3type" xorm:"ZSCZCOLOR3TYPE"` // 彩钻颜色3 - 枚举”ZSCZColor3Type“ - 类型:5
- ISVALID int32 `json:"isvalid" xorm:"ISVALID"` // 是否有效 - 0:无效 1:有效
- SIZEDISPLAY string `json:"sizedisplay" xorm:"SIZEDISPLAY"` // 尺寸
- WRTRADEORDERID string `json:"wrtradeorderid" xorm:"WRTRADEORDERID1" form:"wrtradeorderid"` // 仓单贸易委托单ID(320+Unix秒时间戳(10位)+xxxxxx)
- PERFORMANCETEMPLATEID int64 `json:"performancetemplateid" xorm:"PERFORMANCETEMPLATEID"` // 履约计划模板ID
- REMAINQTY float64 `json:"remainqty" xorm:"REMAINQTY"` // 剩余重量
- ADDRESS string `json:"address" xorm:"ADDRESS"` // 详细地址
- COUNTRYID int32 `json:"-" xorm:"COUNTRYID"` // 国家
- PROVINCEID int32 `json:"-" xorm:"PROVINCEID"` // 省
- CITYID int32 `json:"-" xorm:"CITYID"` // 市
- DISTRICTID int32 `json:"-" xorm:"DISTRICTID"` // 区
- COUNTRYNAME string `json:"countryname"` // 国家名称
- CITYNAME string `json:"cityname"` // 城市名称
- PROVINCENAME string `json:"provincename"` // 省名称
- DISTRICTNAME string `json:"districtname"` // 地区名称
- MOBILE string `json:"mobile"` // 手机号码
- }
- func (r *GZGoods) calc() {
- key, _ := hex.DecodeString(utils.AESSecretKey)
- if len(r.SELLMOBILE) > 0 {
- // 手机号码解密
- if phonenum, err := hex.DecodeString(r.SELLMOBILE); err == nil { // hex -> []byte
- if mobile, err := utils.AESDecrypt(phonenum, key); err == nil {
- r.MOBILE = string(mobile)
- }
- }
- }
- r.COUNTRYNAME = mtpcache.GetDivisionName(r.COUNTRYID)
- r.CITYNAME = mtpcache.GetDivisionName(r.CITYID)
- r.PROVINCENAME = mtpcache.GetDivisionName(r.PROVINCEID)
- r.DISTRICTNAME = mtpcache.GetDivisionName(r.DISTRICTID)
- }
- func (r *GZGoods) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- t.*,
- u.MOBILE,
- to_char(od.WRTRADEORDERID) WRTRADEORDERID1,
- od.PERFORMANCETEMPLATEID,
- ((od.ORDERQTY - od.TRADEQTY) / 100) REMAINQTY,
- wh.ADDRESS ,
- wh.COUNTRYID ,
- wh.PROVINCEID,
- wh.CITYID ,
- wh.DISTRICTID,
- CASE WHEN
- t.SIZE1 IS NOT NULL AND t.SIZE2 IS NOT NULL AND t.SIZE2 IS NOT NULL THEN t.SIZE1 || '*' || t.SIZE2 || '*' || t.SIZE3
- ELSE t.SIZE1
- END AS SIZEDISPLAY
- FROM View_GZ_WRStandard_Ex_Query t
- LEFT JOIN userinfo u ON u.USERID = t.USERID
- LEFT JOIN WRTrade_OrderDetail od ON od.wrstandardid = t.wrstandardid
- LEFT JOIN WAREHOUSEINFO wh ON wh.AUTOID = t.WAREHOUSEID
- WHERE GOODSNO = '%v' AND od.WRTradeOrderStatus in (3,7)
- `
- sqlId.FormatParam(r.GOODSNO)
- return sqlId.String()
- }
- // GetDataEx 从数据库中查询数据
- func (r *GZGoods) GetDataEx() (interface{}, error) {
- e := db.GetEngine()
- s := e.SQL(r.buildSql())
- var sData GZGoods
- has, err := s.Get(&sData)
- if err != nil {
- return nil, err
- }
- if !has {
- return struct{}{}, nil
- }
- sData.calc()
- return sData, nil
- }
- // MyPerformanc 我的履约
- type MyPerformanc struct {
- PERFORMANCEPLANID string `json:"performanceplanid" xorm:"PERFORMANCEPLANID1"` // 履约计划ID(130+yyMMddHHmmss+xxxx)
- RELATEDORDERID string `json:"relatedorderid" xorm:"RELATEDORDERID1"` // 关联单号(履约类型的关联单号)
- AMOUNT float64 `json:"amount" xorm:"AMOUNT"` // 履约金额
- PAYMENTTYPE int32 `json:"paymenttype" xorm:"PAYMENTTYPE"` // 买方支付方式 - 1:冻结 2:扣款
- PERFORMANCESTATUS int32 `json:"performancestatus" xorm:"PERFORMANCESTATUS"` // 履约状态 - 1:待激活 2:正常 3:处理错误 4:违约待处理 5:违约处理中 6:完成 7.违约已完成 8:释放冻结失败 9:超时待处理 10:超时关闭
- CURSTEPID string `json:"curstepid" xorm:"CURSTEPID1"` // 当前步骤ID
- BUYPAIDAMOUNT float64 `json:"buypaidamount" xorm:"BUYPAIDAMOUNT"` // 买方已冻/已扣金额
- SELLRECEIVEDAMOUNT float64 `json:"sellreceivedamount" xorm:"SELLRECEIVEDAMOUNT"` // 卖方已收金额
- BUYERFREEZEAMOUNT float64 `json:"buyerfreezeamount" xorm:"BUYERFREEZEAMOUNT"` // 买方履约前冻结资金
- BUYERFREEZEAMOUNTREMAIN float64 `json:"buyerfreezeamountremain" xorm:"BUYERFREEZEAMOUNTREMAIN"` // 买方履约前冻结资金剩余
- SELLERFREEZEAMOUNT float64 `json:"sellerfreezeamount" xorm:"SELLERFREEZEAMOUNT"` // 卖方履约前冻结资金
- SELLERFREEZEAMOUNTREMAIN float64 `json:"sellerfreezeamountremain" xorm:"SELLERFREEZEAMOUNTREMAIN"` // 卖方履约前冻结资金剩余
- OVERSHORTAMOUNT float64 `json:"overshortamount" xorm:"OVERSHORTAMOUNT"` // 溢短金额
- BUYERINFO string `json:"buyerinfo" xorm:"BUYERINFO"` // 买方联系信息 - 存JSON字符串, 根据枚举‘BuyerContactInfo',显示\隐藏字段,若数据不为JSON,则直接显示{ "ContactInfo": "xxxxxxxx", "ReceiveInfo": "xxxxxxxxx", "ReceiptInfo": "xxxxxxxxxxxx"}
- SELLERINFO string `json:"sellerinfo" xorm:"SELLERINFO"` // 卖方联系信息 - 存JSON字符串, 根据枚举‘SellerContactInfo',显示\隐藏字段,若数据不为JSON,则直接显示{ "ContactInfo": "xxxxxxxx"}
- BUYACCOUNTID int64 `json:"buyaccountid" xorm:"BUYACCOUNTID"` // 买方账号
- BUYTODAYAMOUNT float64 `json:"buytodayamount" xorm:"BUYTODAYAMOUNT"` // 买方今日扣/冻金额 (待开市时清零)
- SELLTODAYAMOUNT float64 `json:"selltodayamount" xorm:"SELLTODAYAMOUNT"` // 卖方今日收取金额(待开市时清零)
- STEPTYPEID int32 `json:"steptypeid" xorm:"STEPTYPEID"` // 履约步骤类型ID - 1:买方支付 2:卖方收款 3:买方自提 4:卖方发货 5:买方确认货 6:卖方发票 7:买方确认票 8:仓单转移 9:释放卖方冻结 10:货款溢短 11:生成合同[中江] 12:运费 90:确认支付 91. 确认放行 92买方支付(直接扣款) 用于-1模板“
- REMAINDAYS int32 `json:"remaindays" xorm:"REMAINDAYS"` // 剩余天数
- ACCOUNTNAME string `json:"accountname" xorm:"ACCOUNTNAME"` // [对手方]账户名称(机构名称)
- ZSALLPROPERTIES string `json:"-" xorm:"ZSALLPROPERTIES" form:"zsallproperties"` // 商品(查询字段-模糊查询)
- ZSCATEGORYDISPLAY string `json:"zscategorydisplay" xorm:"ZSCATEGORYDISPLAY"` //
- ZSCURRENCYTYPEDISPLAY string `json:"zscurrencytypedisplay" xorm:"ZSCURRENCYTYPEDISPLAY"` //
- ZSCURRENCYTYPEDISPLAYUNIT string `json:"zscurrencytypedisplayunit" xorm:"ZSCURRENCYTYPEDISPLAYUNIT"` //
- WAREHOUSENAMEDISPLAY string `json:"warehousenamedisplay" xorm:"WAREHOUSENAMEDISPLAY"` //
- ZSSHAPETYPEDISPLAY string `json:"zsshapetypedisplay" xorm:"ZSSHAPETYPEDISPLAY"` //
- ZSCOLORTYPE1DISPLAY string `json:"zscolortype1display" xorm:"ZSCOLORTYPE1DISPLAY"` //
- ZSCOLORTYPE2DISPLAY string `json:"zscolortype2display" xorm:"ZSCOLORTYPE2DISPLAY"` //
- ZSCLARITYTYPE1DISPLAY string `json:"zsclaritytype1display" xorm:"ZSCLARITYTYPE1DISPLAY"` //
- ZSCLARITYTYPE2DISPLAY string `json:"zsclaritytype2display" xorm:"ZSCLARITYTYPE2DISPLAY"` //
- ZSCUTTYPE1DISPLAY string `json:"zscuttype1display" xorm:"ZSCUTTYPE1DISPLAY"` //
- ZSCUTTYPE2DISPLAY string `json:"zscuttype2display" xorm:"ZSCUTTYPE2DISPLAY"` //
- ZSSYMMETRYTYPE1DISPLAY string `json:"zssymmetrytype1display" xorm:"ZSSYMMETRYTYPE1DISPLAY"` //
- ZSSYMMETRYTYPE2DISPLAY string `json:"zssymmetrytype2display" xorm:"ZSSYMMETRYTYPE2DISPLAY"` //
- ZSPOLISHTYPE1DISPLAY string `json:"zspolishtype1display" xorm:"ZSPOLISHTYPE1DISPLAY"` //
- ZSPOLISHTYPE2DISPLAY string `json:"zspolishtype2display" xorm:"ZSPOLISHTYPE2DISPLAY"` //
- ZSFLUORESCENCETYPE1DISPLAY string `json:"zsfluorescencetype1display" xorm:"ZSFLUORESCENCETYPE1DISPLAY"` //
- ZSFLUORESCENCETYPE2DISPLAY string `json:"zsfluorescencetype2display" xorm:"ZSFLUORESCENCETYPE2DISPLAY"` //
- ZSCERTTYPEDISPLAY string `json:"zscerttypedisplay" xorm:"ZSCERTTYPEDISPLAY"` //
- ZSCRYSTALTYPEDISPLAY string `json:"zscrystaltypedisplay" xorm:"ZSCRYSTALTYPEDISPLAY"` //
- ZSSTYLETYPEDISPLAY string `json:"zsstyletypedisplay" xorm:"ZSSTYLETYPEDISPLAY"` //
- ZSCZCOLOR1TYPEDISPLAY string `json:"zsczcolor1typedisplay" xorm:"ZSCZCOLOR1TYPEDISPLAY"` //
- ZSCZCOLOR2TYPEDISPLAY string `json:"zsczcolor2typedisplay" xorm:"ZSCZCOLOR2TYPEDISPLAY"` //
- ZSCZCOLOR3TYPEDISPLAY string `json:"zsczcolor3typedisplay" xorm:"ZSCZCOLOR3TYPEDISPLAY"` //
- PRICE float64 `json:"price" xorm:"PRICE"` // 价格
- PRICEPER string `json:"priceper" xorm:"PRICEPER"` // 克拉单价
- SIZEDISPLAY string `json:"sizedisplay" xorm:"SIZEDISPLAY"` // 尺寸
- GOODSNO string `json:"goodsno" xorm:"GOODSNO"` // 商品编号
- WEIGHT float64 `json:"weight" xorm:"WEIGHT"` // 总重量(克拉重量) - 类型:1,2,3,4,5
- EXECUTESIDE int32 `json:"executeside" xorm:"EXECUTESIDE"` // 步骤执行方 - 1:买方 2:卖方
- USERID int64 `json:"-" form:"userid" binding:"required"` // 用户ID
- BuyOrSell int64 `json:"buyorsell" form:"buyorsell"` // 方向 - 0:买 1:卖
- IsHis bool `json:"-" form:"ishis"` // 是否历史查询
- BeginDate string `json:"-" form:"begindate"` // 开始交易日
- EndDate string `json:"-" form:"enddate"` // 结束交易日
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *MyPerformanc) calc() {
- }
- func (r *MyPerformanc) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- pp.BUYTODAYAMOUNT,
- pp.SELLTODAYAMOUNT,
- to_char(pp.PERFORMANCEPLANID) PERFORMANCEPLANID1,
- to_char(pp.RELATEDORDERID) RELATEDORDERID1 ,
- pp.AMOUNT ,
- pp.PAYMENTTYPE ,
- pp.PERFORMANCESTATUS ,
- to_char(pp.CURSTEPID) CURSTEPID1 ,
- pp.BUYPAIDAMOUNT ,
- pp.SELLRECEIVEDAMOUNT ,
- pp.BUYERFREEZEAMOUNT ,
- pp.BUYERFREEZEAMOUNTREMAIN ,
- pp.SELLERFREEZEAMOUNT ,
- pp.SELLERFREEZEAMOUNTREMAIN,
- pp.OVERSHORTAMOUNT ,
- pp.BUYERINFO ,
- pp.SELLERINFO ,
- pp.BUYACCOUNTID,
- ps.STEPTYPEID,
- ua.ACCOUNTNAME ,
- wr.GOODSNO,
- wr.ZSALLPROPERTIES ,
- wr.ZSCATEGORYDISPLAY ,
- wr.ZSCURRENCYTYPEDISPLAY ,
- wr.ZSCURRENCYTYPEDISPLAYUNIT ,
- wr.WAREHOUSENAMEDISPLAY ,
- wr.ZSSHAPETYPEDISPLAY ,
- wr.ZSCOLORTYPE1DISPLAY ,
- wr.ZSCOLORTYPE2DISPLAY ,
- wr.ZSCLARITYTYPE1DISPLAY ,
- wr.ZSCLARITYTYPE2DISPLAY ,
- wr.ZSCUTTYPE1DISPLAY ,
- wr.ZSCUTTYPE2DISPLAY ,
- wr.ZSSYMMETRYTYPE1DISPLAY ,
- wr.ZSSYMMETRYTYPE2DISPLAY ,
- wr.ZSPOLISHTYPE1DISPLAY ,
- wr.ZSPOLISHTYPE2DISPLAY ,
- wr.ZSFLUORESCENCETYPE1DISPLAY,
- wr.ZSFLUORESCENCETYPE2DISPLAY,
- wr.ZSCERTTYPEDISPLAY ,
- wr.ZSCRYSTALTYPEDISPLAY ,
- wr.ZSSTYLETYPEDISPLAY ,
- wr.ZSCZCOLOR1TYPEDISPLAY ,
- wr.ZSCZCOLOR2TYPEDISPLAY ,
- wr.ZSCZCOLOR3TYPEDISPLAY ,
- wr.PRICE ,
- wr.PRICEPER ,
- CASE WHEN
- wr.SIZE1 IS NOT NULL AND wr.SIZE2 IS NOT NULL AND wr.SIZE2 IS NOT NULL THEN wr.SIZE1 || '*' || wr.SIZE2 || '*' || wr.SIZE3
- ELSE wr.SIZE1
- END AS SIZEDISPLAY,
- ps.REMAINDAYS,
- wr.WEIGHT,
- ps.EXECUTESIDE
- FROM PerformancePlan pp
- inner join PerformanceStep ps on pp.curstepid = ps.performancestepid
- inner join wrtrade_tradedetail td on pp.relatedorderid = td.wrtradedetailid
- inner join taaccount ta on td.accountid = ta.accountid
- inner join taaccount ta2 on td.matchaccountid = ta2.accountid
- inner join useraccount ua on ta2.relateduserid = ua.userid
- inner join wrfactortype ft on td.wrfactortypeid = ft.wrfactortypeid
- inner join View_GZ_WRStandard_Ex_Query wr on ft.wrstandardid = wr.wrstandardid
- where 1=1
- `
- sqlId.And("ta.relateduserid", r.USERID)
- sqlId.And("td.buyorsell", r.BuyOrSell)
- sqlId.AndLike("wr.ZSALLPROPERTIES", r.ZSALLPROPERTIES)
- sqlId.OrderByDesc("pp.PERFORMANCEPLANID")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *MyPerformanc) buildSql_His() string {
- var sqlId utils.SQLVal = `
- SELECT
- pp.BUYTODAYAMOUNT,
- pp.SELLTODAYAMOUNT,
- to_char(pp.PERFORMANCEPLANID) PERFORMANCEPLANID1,
- pp.RELATEDORDERID ,
- pp.AMOUNT ,
- pp.PAYMENTTYPE ,
- pp.PERFORMANCESTATUS ,
- pp.CURSTEPID ,
- pp.BUYPAIDAMOUNT ,
- pp.SELLRECEIVEDAMOUNT ,
- pp.BUYERFREEZEAMOUNT ,
- pp.BUYERFREEZEAMOUNTREMAIN ,
- pp.SELLERFREEZEAMOUNT ,
- pp.SELLERFREEZEAMOUNTREMAIN,
- pp.OVERSHORTAMOUNT ,
- pp.BUYERINFO ,
- pp.SELLERINFO ,
- pp.BUYACCOUNTID,
- ps.STEPTYPEID,
- ua.ACCOUNTNAME ,
- wr.GOODSNO,
- wr.ZSALLPROPERTIES ,
- wr.ZSCATEGORYDISPLAY ,
- wr.ZSCURRENCYTYPEDISPLAY ,
- wr.ZSCURRENCYTYPEDISPLAYUNIT ,
- wr.WAREHOUSENAMEDISPLAY ,
- wr.ZSSHAPETYPEDISPLAY ,
- wr.ZSCOLORTYPE1DISPLAY ,
- wr.ZSCOLORTYPE2DISPLAY ,
- wr.ZSCLARITYTYPE1DISPLAY ,
- wr.ZSCLARITYTYPE2DISPLAY ,
- wr.ZSCUTTYPE1DISPLAY ,
- wr.ZSCUTTYPE2DISPLAY ,
- wr.ZSSYMMETRYTYPE1DISPLAY ,
- wr.ZSSYMMETRYTYPE2DISPLAY ,
- wr.ZSPOLISHTYPE1DISPLAY ,
- wr.ZSPOLISHTYPE2DISPLAY ,
- wr.ZSFLUORESCENCETYPE1DISPLAY,
- wr.ZSFLUORESCENCETYPE2DISPLAY,
- wr.ZSCERTTYPEDISPLAY ,
- wr.ZSCRYSTALTYPEDISPLAY ,
- wr.ZSSTYLETYPEDISPLAY ,
- wr.ZSCZCOLOR1TYPEDISPLAY ,
- wr.ZSCZCOLOR2TYPEDISPLAY ,
- wr.ZSCZCOLOR3TYPEDISPLAY ,
- wr.PRICE ,
- wr.PRICEPER ,
- CASE WHEN
- wr.SIZE1 IS NOT NULL AND wr.SIZE2 IS NOT NULL AND wr.SIZE2 IS NOT NULL THEN wr.SIZE1 || '*' || wr.SIZE2 || '*' || wr.SIZE3
- ELSE wr.SIZE1
- END AS SIZEDISPLAY
- FROM HIS_PerformancePlan pp
- inner join HIS_PerformanceStep ps on pp.curstepid = ps.performancestepid
- inner join HIS_wrtrade_tradedetail td on pp.relatedorderid = td.wrtradedetailid
- inner join taaccount ta on td.accountid = ta.accountid
- inner join taaccount ta2 on td.matchaccountid = ta2.accountid
- inner join useraccount ua on ta2.relateduserid = ua.userid
- inner join wrfactortype ft on td.wrfactortypeid = ft.wrfactortypeid
- inner join View_GZ_WRStandard_Ex_Query wr on ft.wrstandardid = wr.wrstandardid
- where pp.isvaliddata =1 and ps.isvaliddata = 1 and td.isvaliddata = 1
- `
- sqlId.And("ta.relateduserid", r.USERID)
- sqlId.And("td.buyorsell", r.BuyOrSell)
- sqlId.AndLike("wr.ZSALLPROPERTIES", r.ZSALLPROPERTIES)
- if r.BeginDate != "" && r.EndDate != "" {
- sqlId.JoinFormat(" AND (pp.createtime between to_date('%v', 'yyyyMMdd') and to_date('%v', 'yyyyMMdd'))", r.BeginDate, r.EndDate)
- }
- sqlId.OrderByDesc("pp.PERFORMANCEPLANID")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *MyPerformanc) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]MyPerformanc, 0)
- sql := ""
- if r.IsHis {
- sql = r.buildSql_His()
- } else {
- sql = r.buildSql()
- }
- err := db.GetEngine().SQL(sql).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // MyFavorite 我的收藏
- type MyFavorite struct {
- USERID int64 `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 用户ID
- WRTRADEORDERID string `json:"wrtradeorderid" xorm:"WRTRADEORDERID1"` // 仓单贸易委托单ID(320+Unix秒时间戳(10位)+xxxxxx)
- BUYORSELL int32 `json:"buyorsell" xorm:"BUYORSELL"` // 买卖 - 0:买 1:卖
- WRFACTORTYPEID string `json:"wrfactortypeid" xorm:"WRFACTORTYPEID1"` // 仓单要素类型ID/商品ID(77)
- WRSTANDARDID int64 `json:"wrstandardid" xorm:"WRSTANDARDID"` // 现货商品ID(自增 SEQ_GOODS 确保不重复)
- FAVORITESTATUS int32 `json:"favoritestatus" xorm:"FAVORITESTATUS"` // 收藏状态 - 1:正常 2:失效
- MARKETID int32 `json:"marketid" xorm:"MARKETID"` // 市场ID
- MARKETPRICE string `json:"marketprice" xorm:"MARKETPRICE"` // 市场价
- SELLUSERNAME string `json:"sellusername" xorm:"SELLUSERNAME"` // 卖家
- ZSCATEGORYDISPLAY string `json:"zscategorydisplay" xorm:"ZSCATEGORYDISPLAY"` //
- ZSCURRENCYTYPEDISPLAY string `json:"zscurrencytypedisplay" xorm:"ZSCURRENCYTYPEDISPLAY"` //
- ZSCURRENCYTYPEDISPLAYUNIT string `json:"zscurrencytypedisplayunit" xorm:"ZSCURRENCYTYPEDISPLAYUNIT"` //
- WAREHOUSENAMEDISPLAY string `json:"warehousenamedisplay" xorm:"WAREHOUSENAMEDISPLAY"` // 仓库名称
- ZSSHAPETYPEDISPLAY string `json:"zsshapetypedisplay" xorm:"ZSSHAPETYPEDISPLAY"` //
- ZSCOLORTYPE1DISPLAY string `json:"zscolortype1display" xorm:"ZSCOLORTYPE1DISPLAY"` //
- ZSCOLORTYPE2DISPLAY string `json:"zscolortype2display" xorm:"ZSCOLORTYPE2DISPLAY"` //
- ZSCLARITYTYPE1DISPLAY string `json:"zsclaritytype1display" xorm:"ZSCLARITYTYPE1DISPLAY"` //
- ZSCLARITYTYPE2DISPLAY string `json:"zsclaritytype2display" xorm:"ZSCLARITYTYPE2DISPLAY"` //
- ZSCUTTYPE1DISPLAY string `json:"zscuttype1display" xorm:"ZSCUTTYPE1DISPLAY"` //
- ZSCUTTYPE2DISPLAY string `json:"zscuttype2display" xorm:"ZSCUTTYPE2DISPLAY"` //
- ZSSYMMETRYTYPE1DISPLAY string `json:"zssymmetrytype1display" xorm:"ZSSYMMETRYTYPE1DISPLAY"` //
- ZSSYMMETRYTYPE2DISPLAY string `json:"zssymmetrytype2display" xorm:"ZSSYMMETRYTYPE2DISPLAY"` //
- ZSPOLISHTYPE1DISPLAY string `json:"zspolishtype1display" xorm:"ZSPOLISHTYPE1DISPLAY"` //
- ZSPOLISHTYPE2DISPLAY string `json:"zspolishtype2display" xorm:"ZSPOLISHTYPE2DISPLAY"` //
- ZSFLUORESCENCETYPE1DISPLAY string `json:"zsfluorescencetype1display" xorm:"ZSFLUORESCENCETYPE1DISPLAY"` //
- ZSFLUORESCENCETYPE2DISPLAY string `json:"zsfluorescencetype2display" xorm:"ZSFLUORESCENCETYPE2DISPLAY"` //
- ZSCERTTYPEDISPLAY string `json:"zscerttypedisplay" xorm:"ZSCERTTYPEDISPLAY"` //
- ZSCRYSTALTYPEDISPLAY string `json:"zscrystaltypedisplay" xorm:"ZSCRYSTALTYPEDISPLAY"` //
- ZSSTYLETYPEDISPLAY string `json:"zsstyletypedisplay" xorm:"ZSSTYLETYPEDISPLAY"` //
- ZSCZCOLOR1TYPEDISPLAY string `json:"zsczcolor1typedisplay" xorm:"ZSCZCOLOR1TYPEDISPLAY"` //
- ZSCZCOLOR2TYPEDISPLAY string `json:"zsczcolor2typedisplay" xorm:"ZSCZCOLOR2TYPEDISPLAY"` //
- ZSCZCOLOR3TYPEDISPLAY string `json:"zsczcolor3typedisplay" xorm:"ZSCZCOLOR3TYPEDISPLAY"` //
- GOODSNO string `json:"goodsno" xorm:"GOODSNO"` // 商品编号
- PRICE float64 `json:"price" xorm:"PRICE"` // 价格
- PRICEPER string `json:"priceper" xorm:"PRICEPER"` // 克拉单价
- WEIGHT float64 `json:"weight" xorm:"WEIGHT"` // 总重量(克拉重量) - 类型:1,2,3,4,5
- WEIGHTAVG float64 `json:"weightavg" xorm:"WEIGHTAVG"` // 平均单颗重量 - 类型:1,3
- SIZEDISPLAY string `json:"sizedisplay" xorm:"SIZEDISPLAY"` // 尺寸
- ZSCATEGORY int32 `json:"zscategory" xorm:"ZSCATEGORY"` // 钻石分类 - 枚举”ZSCategory“
- IMAGEPATH string `json:"imagepath" xorm:"IMAGEPATH"` // 商品照片(相对地址)
- ACCOUNTNAME string `json:"accountname" xorm:"ACCOUNTNAME"` // 账户名称(机构名称)
- PageEx `xorm:"extends"` // 页码信息
- ZSCATEGORYS string `json:"-" form:"zscategorys"` // 钻石分类,格式: 1,2,3
- }
- func (r *MyFavorite) calc() {
- }
- func (r *MyFavorite) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- t.USERID ,
- to_char(t.WRTRADEORDERID) WRTRADEORDERID1,
- t.BUYORSELL ,
- to_char(t.WRFACTORTYPEID) WRFACTORTYPEID1,
- t.WRSTANDARDID ,
- t.FAVORITESTATUS,
- t.MARKETID ,
- q.GOODSNO,
- q.ZSCATEGORYDISPLAY ,
- q.ZSCURRENCYTYPEDISPLAY ,
- q.ZSCURRENCYTYPEDISPLAYUNIT ,
- q.WAREHOUSENAMEDISPLAY ,
- q.ZSSHAPETYPEDISPLAY ,
- q.ZSCOLORTYPE1DISPLAY ,
- q.ZSCOLORTYPE2DISPLAY ,
- q.ZSCLARITYTYPE1DISPLAY ,
- q.ZSCLARITYTYPE2DISPLAY ,
- q.ZSCUTTYPE1DISPLAY ,
- q.ZSCUTTYPE2DISPLAY ,
- q.ZSSYMMETRYTYPE1DISPLAY ,
- q.ZSSYMMETRYTYPE2DISPLAY ,
- q.ZSPOLISHTYPE1DISPLAY ,
- q.ZSPOLISHTYPE2DISPLAY ,
- q.ZSFLUORESCENCETYPE1DISPLAY,
- q.ZSFLUORESCENCETYPE2DISPLAY,
- q.ZSCERTTYPEDISPLAY ,
- q.ZSCRYSTALTYPEDISPLAY ,
- q.ZSSTYLETYPEDISPLAY ,
- q.ZSCZCOLOR1TYPEDISPLAY ,
- q.ZSCZCOLOR2TYPEDISPLAY ,
- q.ZSCZCOLOR3TYPEDISPLAY ,
- q.PRICE ,
- q.PRICEPER ,
- q.WEIGHT,
- q.WEIGHTAVG,
- q.ZSCATEGORY,
- q.IMAGEPATH,
- q.MARKETPRICE,
- q.SELLUSERNAME,
- CASE WHEN
- q.SIZE1 IS NOT NULL AND q.SIZE2 IS NOT NULL AND q.SIZE2 IS NOT NULL THEN q.SIZE1 || '*' || q.SIZE2 || '*' || q.SIZE3
- ELSE q.SIZE1
- END AS SIZEDISPLAY,
- ua1.ACCOUNTNAME
- FROM Wrtrade_Myfavorite t
- INNER JOIN view_GZ_WRStandard_Ex_Query q ON t.WRSTANDARDID = q.WRSTANDARDID
- INNER JOIN UserAccount ua1 ON t.USERID = ua1.userid
- INNER JOIN wrtrade_orderdetail od on t.wrtradeorderid = od.wrtradeorderid
- WHERE t.marketid=67201
- `
- sqlId.And("t.USERID", r.USERID)
- if r.ZSCATEGORYS != "" {
- sqlId.JoinFormat(" AND q.ZSCATEGORY in (%v)", r.ZSCATEGORYS)
- }
- sqlId.OrderByDesc("t.CREATETIME")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *MyFavorite) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]MyFavorite, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // Gzrapaportprice Rapaport最新报价表(广钻)
- type Gzrapaportprice struct {
- ZSSHAPE int32 `json:"-" xorm:"ZSSHAPE" form:"zsshape" binding:"required"` // 形状 - 1:BR(圆形) 2:PS(异形)
- ZSSIZESTART float64 `json:"-" xorm:"ZSSIZESTART"` // 尺寸1
- ZSSIZEEND float64 `json:"-" xorm:"ZSSIZEEND"` // 尺寸2
- ZSCOLOR string `json:"-" xorm:"ZSCOLOR" form:"zscolor" binding:"required"` // 颜色(D-M)
- ZSCLARITY string `json:"-" xorm:"ZSCLARITY" form:"zsclarity" binding:"required"` // 净度
- QUOTEDATE time.Time `json:"-" xorm:"QUOTEDATE"` // 报价日期(yyyyMMdd)
- ZSPRICE float64 `json:"-" xorm:"ZSPRICE"` // 价格(美元)
- CREATETIME time.Time `json:"-" xorm:"CREATETIME"` // 创建时间
- ORDERINDEX int64 `json:"-" xorm:"ORDERINDEX"` // 顺序
- WEIGHT float64 `json:"-" form:"weight" binding:"required"` // 重量
- RATE float64 `json:"-" form:"rate" binding:"required"` // 汇率
- DISCOUNT int `json:"-" form:"discount"` // 折扣(%), 方向(加:10, 减:-10 )
- DOLLAR string `json:"dollar"` // 美元
- RMB string `json:"rmb"` // 人民币
- }
- func (r *Gzrapaportprice) calc(weight, rate float64, discount int) {
- // $(美元值): ZSPRICE * (1+(折扣值/100) * 折扣方向), -- 折扣方向(加:1, 减:-1 )
- // ¥(人民币值):美元值* 汇率;
- dollar := r.ZSPRICE * (1 + (float64(discount) / 100)) * weight
- r.DOLLAR = utils.FormatFloat(dollar, 2)
- r.RMB = utils.FormatFloat(dollar*rate, 2)
- }
- func (r *Gzrapaportprice) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- t.zsprice
- FROM GZ_RapaportPrice t
- WHERE t.zsshape = %v AND t.zscolor = '%v' AND t.zsclarity = '%v'
- `
- sqlId.FormatParam(r.ZSSHAPE, r.ZSCOLOR, r.ZSCLARITY)
- sqlId.JoinFormat(" AND t.zssizestart <= %v AND t.zssizeend >= %v", r.WEIGHT, r.WEIGHT)
- return sqlId.String()
- }
- // GetDataEx 从数据库中查询数据
- func (r *Gzrapaportprice) GetDataEx() (interface{}, error) {
- e := db.GetEngine()
- s := e.SQL(r.buildSql())
- sData := make([]Gzrapaportprice, 0)
- if err := s.Find(&sData); err != nil {
- return nil, err
- }
- for i := range sData {
- sData[i].calc(r.WEIGHT, r.RATE, r.DISCOUNT)
- }
- return sData, nil
- }
- // Gzcertaddressconfig 钻石证书地址配置表
- type Gzcertaddressconfig struct {
- CERTTYPE string `json:"certtype" xorm:"CERTTYPE"` // 证书类型
- ORGCNNAME string `json:"orgcnname" xorm:"ORGCNNAME"` // 机构名称(中文)
- ORGENNAME string `json:"orgenname" xorm:"ORGENNAME"` // 机构名称(英文)
- CERTREGION int32 `json:"certregion" xorm:"CERTREGION"` // 证书地域 - 1:国内 2:国际
- QUERYADDRESS string `json:"queryaddress" xorm:"QUERYADDRESS"` // 查询地址
- REMARK string `json:"remark" xorm:"REMARK"` // 备注
- UPDATETIME time.Time `json:"updatetime" xorm:"UPDATETIME"` // 更新时间
- ORDERINDEX int32 `json:"orderindex" xorm:"ORDERINDEX"` // 显示顺序
- }
- // TableName is GZ_CERTADDRESSCONFIG
- func (r *Gzcertaddressconfig) TableName() string {
- return "GZ_CERTADDRESSCONFIG"
- }
- func (r *Gzcertaddressconfig) GetAll() (data []Gzcertaddressconfig, err error) {
- err = db.GetEngine().Find(&data)
- return
- }
- // Gzcertaddressparam 钻石证书地址参数表
- type Gzcertaddressparam struct {
- CERTTYPE string `json:"certtype" xorm:"CERTTYPE"` // 证书类型
- PARAMKEY string `json:"paramkey" xorm:"PARAMKEY"` // 参数Key
- PARAMNAME string `json:"paramname" xorm:"PARAMNAME"` // 参数名称
- ORDERINDEX int32 `json:"orderindex" xorm:"ORDERINDEX"` // 参数顺序
- UPDATETIME time.Time `json:"updatetime" xorm:"UPDATETIME"` // 更新时间
- }
- // TableName is GZ_CERTADDRESSPARAM
- func (r *Gzcertaddressparam) TableName() string {
- return "GZ_CERTADDRESSPARAM"
- }
- func (r *Gzcertaddressparam) GetAll() (data []Gzcertaddressparam, err error) {
- err = db.GetEngine().Find(&data)
- return
- }
- // GZHomeData 广钻首页统计数据
- type GZHomeData struct {
- TransactionsOnSale int `json:"transactionsonsale"` // 出售中的交易
- TransactionInPurchase int `json:"transactioninpurchase"` // 求购中的交易
- PurchasedTransactions int `json:"purchasedtransactions"` // 已购买的交易
- TransactionsSold int `json:"transactionssold"` // 已卖出的交易
- UnhandledMessage int `json:"unhandledmessage"` // 未处理消息
- USERID uint64 `json:"-" form:"userid" binding:"required"` // 用户ID
- }
- func (r *GZHomeData) GetGZHomeData() (err error) {
- w1 := make([]Wrtradeorderdetail, 0)
- if err = db.GetEngine().Table("WRTRADE_ORDERDETAIL").Where("MarketID=67201 AND WRTradeOrderStatus IN (3,7) AND BuyOrSell = 1").Find(&w1); err != nil {
- return
- }
- r.TransactionsOnSale = len(w1)
- w2 := make([]Wrtradeorderdetail, 0)
- if err = db.GetEngine().Table("WRTRADE_ORDERDETAIL").Where("MarketID=67201 AND WRTradeOrderStatus IN (3,7) AND BuyOrSell = 0").Find(&w2); err != nil {
- return
- }
- r.TransactionInPurchase = len(w2)
- w3 := make([]Wrtradeorderdetail, 0)
- if err = db.GetEngine().Table("WRTRADE_TRADEQUOTE T").Select("T.*").Where("T.MarketID=67201").And("T.BuyUserID=?", r.USERID).Find(&w3); err != nil {
- return
- }
- r.PurchasedTransactions = len(w3)
- w4 := make([]Wrtradeorderdetail, 0)
- if err = db.GetEngine().Table("WRTRADE_TRADEQUOTE T").Select("T.*").Where("T.MarketID=67201").And("T.SellUserID=?", r.USERID).Find(&w4); err != nil {
- return
- }
- r.TransactionsSold = len(w4)
- w5 := make([]Wrtradebargainapply, 0)
- if err = db.GetEngine().Table("WRTRADE_BARGAINAPPLY T").Select("T.*").Where("T.MarketID=67201 AND T.ApplyStatus=1").And("T.MatchUserID=?", r.USERID).Find(&w5); err != nil {
- return
- }
- w6 := make([]Gzselldelistingapply, 0)
- if err = db.GetEngine().Table("GZ_SELLDELISTINGAPPLY T").Select("T.*").Where("T.MarketID=67201 AND T.ApplyStatus=1").And("T.BuyUserID=?", r.USERID).Find(&w6); err != nil {
- return
- }
- r.UnhandledMessage = len(w5) + len(w6)
- return
- }
- // GzcjjcorderM 出境检测单据表
- type GzcjjcorderM struct {
- ORDERID int64 `json:"orderid" xorm:"ORDERID"` // 单据ID(801+Unix秒时间戳(10位)+xxxxxx)
- USERID int64 `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 用户ID
- ACCOUNTID int64 `json:"accountid" xorm:"ACCOUNTID"` // 资金账户ID
- ORDERSN string `json:"ordersn" xorm:"ORDERSN"` // 单据流水号 - yymm000 - yy表示年份,mm表示月份,年份、月份以两位数表示;000表示流水序号,序号不足三位以0补全
- ORDERNO string `json:"orderno" xorm:"ORDERNO"` // 单据编号 - 合同编号:GZDECJJC+单据流水号
- GZCJACCOUNTTYPE int32 `json:"gzcjaccounttype" xorm:"GZCJACCOUNTTYPE"` // 检测账户类型 - 枚举"GZCJAccountType"
- GZCJACCOUNT string `json:"gzcjaccount" xorm:"GZCJACCOUNT"` // 送检账户
- COMPANYNAMECN string `json:"companynamecn" xorm:"COMPANYNAMECN"` // 公司名称(中文)
- COMPANYNAMEEN string `json:"companynameen" xorm:"COMPANYNAMEEN"` // 公司名称(英文)
- ADDRESSCN string `json:"addresscn" xorm:"ADDRESSCN"` // 地址(中文)
- ADDRESSEN string `json:"addressen" xorm:"ADDRESSEN"` // 地址(英文)
- CONTACTNAME string `json:"contactname" xorm:"CONTACTNAME"` // 联系人姓名
- CONTACTPOSITION string `json:"contactposition" xorm:"CONTACTPOSITION"` // 联系人职位
- CONTACTPHONENO string `json:"contactphoneno" xorm:"CONTACTPHONENO"` // 联系人电话
- EMAIL string `json:"email" xorm:"EMAIL"` // 邮箱
- GZCJCATEGORYTYPE int32 `json:"gzcjcategorytype" xorm:"GZCJCATEGORYTYPE"` // 货物品类 - 枚举"GZCJCategoryType"
- PROCESSINGCOUNTRY string `json:"processingcountry" xorm:"PROCESSINGCOUNTRY"` // 成品钻石加工国
- ZSORIGIN string `json:"zsorigin" xorm:"ZSORIGIN"` // 天然钻石毛坯原产地
- GZCJDELIVERYTYPE int32 `json:"gzcjdeliverytype" xorm:"GZCJDELIVERYTYPE"` // 收货方式 - 枚举"GZCJDeliveryType"
- GZCJSTATUS int32 `json:"gzcjstatus" xorm:"GZCJSTATUS"` // 单据状态(出境检测) - 枚举"GZCJStatus"
- TOTALNUMBER int32 `json:"totalnumber" xorm:"TOTALNUMBER"` // 总粒数
- TOTALWEIGHT float64 `json:"totalweight" xorm:"TOTALWEIGHT"` // 总克拉数(保留3位小数)
- TOTALAMOUNT float64 `json:"totalamount" xorm:"TOTALAMOUNT"` // 总金额(美元)
- CREATETIME time.Time `json:"createtime" xorm:"CREATETIME"` // 创建时间
- ADVANCEAMOUNT float64 `json:"advanceamount" xorm:"ADVANCEAMOUNT"` // 总预付款
- SETTLEAMOUNT float64 `json:"settleamount" xorm:"SETTLEAMOUNT"` // 总结算费用
- HANDLESTATUS int32 `json:"handlestatus" xorm:"HANDLESTATUS"` // 处理状态
- EXECUTESTATUS int32 `json:"executestatus" xorm:"EXECUTESTATUS" form:"executestatus"` // 执行状态 - 1:未生效 2:进行中 3:已结束
- SERVICEFEESUM float64 `json:"servicefeesum" xorm:"SERVICEFEESUM"` // 汇总综合服务费 - 明细上值汇总
- REALSERVICEFEE float64 `json:"realservicefee" xorm:"REALSERVICEFEE"` // 应收综合服务费
- TOTALWEIGHTGM float64 `json:"totalweightgm" xorm:"TOTALWEIGHTGM"` // 总净重(克) = TotalWeight * 0.2 (2位小数)
- TOTALGROSSWEIGHT float64 `json:"totalgrossweight" xorm:"TOTALGROSSWEIGHT"` // 总毛重(克) = 每100颗单颗裸石毛重200克,毛重不足200克按200克计 (TotalNumber/100 向上取整) * 200
- ORIGINCOUNTRY string `json:"origincountry" xorm:"ORIGINCOUNTRY"` // 原产国
- INVOICEREMARK string `json:"invoiceremark" xorm:"INVOICEREMARK"` // 复核备注 - 发票装箱单使用
- WEIGHTRANGE string `json:"weightrange" xorm:"WEIGHTRANGE"` // 重量规格范围 - Min(Weight) - Max(Weight)
- SHAPERANGE string `json:"shaperange" xorm:"SHAPERANGE"` // 形状范围
- COLORRANGE string `json:"colorrange" xorm:"COLORRANGE"` // 颜色范围
- ORDERIDSTR string `json:"orderidstr" xorm:"ORDERIDSTR"` // 单据ID 字符(801+Unix秒时间戳(10位)+xxxxxx)
- GZCJCATEGORYTYPEDISPLAY string `json:"gzcjcategorytypedisplay" xorm:"GZCJCATEGORYTYPEDISPLAY"` // 货物品类
- GZCJDELIVERYTYPEDISPLAY string `json:"gzcjdeliverytypedisplay" xorm:"GZCJDELIVERYTYPEDISPLAY"` // 收货方式
- GZCJSTATUSDISPLAY string `json:"gzcjstatusdisplay" xorm:"GZCJSTATUSDISPLAY"` // 单据状态(出境检测)
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *GzcjjcorderM) calc() {
- }
- func (r *GzcjjcorderM) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- TO_CHAR(T.ORDERID) ORDERIDSTR,
- t.*,
- e1.ENUMDICNAME GZCJCATEGORYTYPEDISPLAY,
- e2.ENUMDICNAME GZCJDELIVERYTYPEDISPLAY,
- e3.ENUMDICNAME GZCJSTATUSDISPLAY
- FROM GZ_CJJCOrder t
- LEFT JOIN enumdicitem e1 ON t.GZCJCATEGORYTYPE = e1.enumitemname AND e1.enumdiccode = 'GZCJCategoryType'
- LEFT JOIN enumdicitem e2 ON t.GZCJDELIVERYTYPE = e2.enumitemname AND e2.enumdiccode = 'GZCJDeliveryType'
- LEFT JOIN enumdicitem e3 ON t.GZCJSTATUS = e3.enumitemname AND e3.enumdiccode = 'GZCJStatus'
- WHERE t.USERID = %v
- `
- sqlId.FormatParam(r.USERID)
- sqlId.AndEx("t.EXECUTESTATUS", r.EXECUTESTATUS, r.EXECUTESTATUS > 0)
- sqlId.OrderByDesc("t.CREATETIME")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *GzcjjcorderM) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]GzcjjcorderM, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // GzcjjcorderdetailM 出境检测单据明细表
- type GzcjjcorderdetailM struct {
- ORDERDETAILID string `json:"orderdetailid" xorm:"ORDERDETAILID"` // 单据明细ID(802+Unix秒时间戳(10位)+xxxxxx)
- ORDERID string `json:"orderid" xorm:"ORDERID" form:"orderid"` // 单据ID(801+Unix秒时间戳(10位)+xxxxxx)
- ORDERINDEX int32 `json:"orderindex" xorm:"ORDERINDEX"` // 顺序
- GZNO string `json:"gzno" xorm:"GZNO"` // 货物编号
- GZCJSHAPETYPE int32 `json:"gzcjshapetype" xorm:"GZCJSHAPETYPE"` // 形状 - 枚举"GZCJShapeType"
- GZCJSHAPETYPESTRING string `json:"gzcjshapetypestring" xorm:"GZCJSHAPETYPESTRING"` // 形状(字符) - 枚举"GZCJShapeType"对应的显示值
- WEIGHT float64 `json:"weight" xorm:"WEIGHT"` // 重量(CT)
- AMOUNT float64 `json:"amount" xorm:"AMOUNT"` // 参考货值(USD)
- COLORINFO string `json:"colorinfo" xorm:"COLORINFO"` // 彩钻信息
- REMARK string `json:"remark" xorm:"REMARK"` // 备注(其它)
- GZCJMARKTYPE int32 `json:"gzcjmarktype" xorm:"GZCJMARKTYPE"` // 刻印服务 - 枚举"GZCJMarkType" 【送检账户为“广钻账户”】
- GZCJPUBLISHTYPE int32 `json:"gzcjpublishtype" xorm:"GZCJPUBLISHTYPE"` // 是否披露处理 - 枚举 GZCJPublishType【送检账户为“广钻账户”】
- GZCJPUBLISHTYPESTRING string `json:"gzcjpublishtypestring" xorm:"GZCJPUBLISHTYPESTRING"` // 是否披露处理 - 枚举 GZCJPublishType 对应的显示值
- GZCJSERVICETYPE int32 `json:"gzcjservicetype" xorm:"GZCJSERVICETYPE"` // 服务类别 - 枚举 GZCJServiceType【送检账户为“广钻账户”】
- GZCJSERVICETYPESTRING string `json:"gzcjservicetypestring" xorm:"GZCJSERVICETYPESTRING"` // 服务类别 - 枚举 GZCJServiceType 对应的显示值
- ORIGINCERTNO string `json:"origincertno" xorm:"ORIGINCERTNO"` // 原证书号【送检账户为“广钻账户”】
- CREATETIME time.Time `json:"createtime" xorm:"CREATETIME"` // 创建时间
- SERVICEFEE float64 `json:"servicefee" xorm:"SERVICEFEE"` // 综合服务费 - 根据市场配置计算
- USERID int64 `json:"-" form:"userid" binding:"required"` // 用户ID
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *GzcjjcorderdetailM) calc() {
- }
- func (r *GzcjjcorderdetailM) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- to_char(t.ORDERDETAILID) ORDERDETAILID,
- to_char(t.ORDERID) ORDERID,
- t.ORDERINDEX,
- t.GZNO,
- t.GZCJSHAPETYPE,
- t.GZCJSHAPETYPESTRING,
- t.WEIGHT,
- t.AMOUNT,
- t.COLORINFO,
- t.REMARK,
- t.GZCJMARKTYPE,
- t.GZCJPUBLISHTYPE,
- t.GZCJPUBLISHTYPESTRING,
- t.GZCJSERVICETYPE,
- t.GZCJSERVICETYPESTRING,
- t.ORIGINCERTNO,
- t.CREATETIME,
- t.SERVICEFEE
- FROM GZ_CJJCOrderDetail t
- LEFT JOIN GZ_CJJCOrder d ON t.orderid = d.orderid AND d.userid = %v
- WHERE 1=1
- `
- sqlId.FormatParam(r.USERID)
- sqlId.AndEx("t.orderid", r.ORDERID, r.ORDERID != "")
- sqlId.OrderBy("t.ORDERINDEX")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *GzcjjcorderdetailM) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]GzcjjcorderdetailM, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // Gzcjbsorderfile 出境保税单据文件表
- type GzcjbsorderfileM struct {
- ORDERFILEID int64 `json:"orderfileid" xorm:"ORDERFILEID"` // 单据文件ID(803+Unix秒时间戳(10位)+xxxxxx)
- ORDERID int64 `json:"orderid" xorm:"ORDERID" form:"orderid" binding:"required"` // 单据ID(801+Unix秒时间戳(10位)+xxxxxx)
- FILEGENTYPE int32 `json:"filegentype" xorm:"FILEGENTYPE"` // 文件生成类型 - 1:系统生成 2:手动上传
- FILENAME string `json:"filename" xorm:"FILENAME"` // 文件名称
- FILEADDRESS string `json:"fileaddress" xorm:"FILEADDRESS"` // 文件地址
- CANMEMBERVISIT int32 `json:"canmembervisit" xorm:"CANMEMBERVISIT"` // 会员是否可访问 - 1:可 2:不可
- OPERATORSRC int32 `json:"operatorsrc" xorm:"OPERATORSRC"` // 操作人来源 - 1:管理端 2:终端
- OPERATORID int64 `json:"operatorid" xorm:"OPERATORID"` // 操作人ID - systemmanager的autoid 或 loginaccount的loginid
- OPERATORACCOUNT string `json:"operatoraccount" xorm:"OPERATORACCOUNT"` // 操作人账号 - systemmanager的logincode 或 loginaccount的logincode,无则用loginid
- OPERATETIME time.Time `json:"operatetime" xorm:"OPERATETIME"` // 操作时间
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *GzcjbsorderfileM) calc() {
- }
- func (r *GzcjbsorderfileM) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- t.*
- FROM GZ_CJBSOrderFile t
- WHERE t.CanMemberVisit = 1 AND t.ORDERID = %v
- `
- sqlId.FormatParam(r.ORDERID)
- sqlId.OrderByDesc("t.operatetime")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *GzcjbsorderfileM) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]GzcjbsorderfileM, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // GzbsfworderM 保税服务单据表
- type GzbsfworderM struct {
- ORDERID string `json:"orderid" xorm:"ORDERID"` // 单据ID(804+Unix秒时间戳(10位)+xxxxxx)
- USERID int64 `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 用户ID
- ACCOUNTID int64 `json:"accountid" xorm:"ACCOUNTID"` // 资金账户ID
- ORDERSN string `json:"ordersn" xorm:"ORDERSN"` // 单据流水号 - yymm000 - yy表示年份,mm表示月份,年份、月份以两位数表示;000表示流水序号,序号不足三位以0补全
- ORDERNO string `json:"orderno" xorm:"ORDERNO"` // 单据编号 - GZDEBSFW+单据流水号
- ORDERDATE time.Time `json:"orderdate" xorm:"ORDERDATE"` // 单据日期
- COMPANYNAMECN string `json:"companynamecn" xorm:"COMPANYNAMECN"` // 收货人(中文)
- COMPANYNAMEEN string `json:"companynameen" xorm:"COMPANYNAMEEN"` // 收货人(英文)
- ADDRESSCN string `json:"addresscn" xorm:"ADDRESSCN"` // 地址(中文)
- ADDRESSEN string `json:"addressen" xorm:"ADDRESSEN"` // 地址(英文)
- CONTACTNAME string `json:"contactname" xorm:"CONTACTNAME"` // 收货人姓名
- CONTACTPHONENO string `json:"contactphoneno" xorm:"CONTACTPHONENO"` // 收货人电话
- CONTACTFAX string `json:"contactfax" xorm:"CONTACTFAX"` // 收货人传真
- ORIGINCOUNTRY string `json:"origincountry" xorm:"ORIGINCOUNTRY"` // 原产国
- TOTALNETWEIGTHCT float64 `json:"totalnetweigthct" xorm:"TOTALNETWEIGTHCT"` // 总净重(克拉)
- TOTALNETWEIGHTGM float64 `json:"totalnetweightgm" xorm:"TOTALNETWEIGHTGM"` // 总净重(克)
- TOTALGROSSWEIGHTGM float64 `json:"totalgrossweightgm" xorm:"TOTALGROSSWEIGHTGM"` // 总毛重(克)
- TOTALAMOUNT float64 `json:"totalamount" xorm:"TOTALAMOUNT"` // 总值(美元)
- GZBSSTATUS int32 `json:"gzbsstatus" xorm:"GZBSSTATUS"` // 单据状态(保税服务) - 枚举"GZBSStatus"
- HANDLESTATUS int32 `json:"handlestatus" xorm:"HANDLESTATUS"` // 处理状态
- EXECUTESTATUS int32 `json:"executestatus" xorm:"EXECUTESTATUS" form:"executestatus"` // 执行状态 - 1:未生效 2:进行中 3:已结束
- TAXMARGIN float64 `json:"taxmargin" xorm:"TAXMARGIN"` // 税费保证金 - 确认结算费用时退回
- ADVANCEAMOUNT float64 `json:"advanceamount" xorm:"ADVANCEAMOUNT"` // 总预付款
- SETTLEAMOUNT float64 `json:"settleamount" xorm:"SETTLEAMOUNT"` // 总结算费用 - 实际扣除资金,不含税费保证金
- CREATETIME time.Time `json:"createtime" xorm:"CREATETIME"` // 创建时间
- TOTALNUMBER int32 `json:"totalnumber" xorm:"TOTALNUMBER"` // 总粒数
- GZBSDELIVERYTYPE int32 `json:"gzbsdeliverytype" xorm:"GZBSDELIVERYTYPE"` // 收货方式 - 枚举"GZBSDeliveryType"
- OTHERLOGISTICS string `json:"otherlogistics" xorm:"OTHERLOGISTICS"` // 指定其它物流
- WEIGHTRANGE string `json:"weightrange" xorm:"WEIGHTRANGE"` // 重量规格范围 - Min(NetWeigthCT)- Max(NetWeigthCT)
- SHAPERANGE string `json:"shaperange" xorm:"SHAPERANGE"` // 形状范围
- COLORRANGE string `json:"colorrange" xorm:"COLORRANGE"` // 颜色范围
- CONTENTRANGE string `json:"contentrange" xorm:"CONTENTRANGE"` // 【内容】内容范围
- GZBSSTATUSDISPLAY string `json:"gzbsstatusdisplay" xorm:"GZBSSTATUSDISPLAY"` // 单据状态
- PRICEPER float64 `json:"priceper" xorm:"PRICEPER"` // 单价(美元/克拉) = 总值(美元) / 总净重(克拉)
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *GzbsfworderM) calc() {
- }
- func (r *GzbsfworderM) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- to_char(t.ORDERID) ORDERID,
- t.USERID,
- t.ACCOUNTID,
- t.ORDERSN,
- t.ORDERNO,
- t.ORDERDATE,
- t.COMPANYNAMECN,
- t.COMPANYNAMEEN,
- t.ADDRESSCN,
- t.ADDRESSEN,
- t.CONTACTNAME,
- t.CONTACTPHONENO,
- t.CONTACTFAX,
- t.ORIGINCOUNTRY,
- t.TOTALNETWEIGTHCT,
- t.TOTALNETWEIGHTGM,
- t.TOTALGROSSWEIGHTGM,
- t.TOTALAMOUNT,
- t.GZBSSTATUS,
- t.HANDLESTATUS,
- t.EXECUTESTATUS,
- t.TAXMARGIN,
- t.ADVANCEAMOUNT,
- t.SETTLEAMOUNT,
- t.CREATETIME,
- t.TOTALNUMBER,
- t.GZBSDELIVERYTYPE,
- t.OTHERLOGISTICS,
- t.WEIGHTRANGE,
- t.SHAPERANGE,
- t.COLORRANGE,
- t.CONTENTRANGE,
- t.CLOSEDTRADEDATE,
- CAST((t.TOTALAMOUNT / t.TOTALNETWEIGTHCT) AS DECIMAL(13,2)) PRICEPER,
- e1.ENUMDICNAME GZBSSTATUSDISPLAY
- FROM GZ_BSFWOrder t
- LEFT JOIN enumdicitem e1 ON t.GZBSSTATUS = e1.enumitemname AND e1.enumdiccode = 'GZBSStatus'
- WHERE t.USERID = %v
- `
- sqlId.FormatParam(r.USERID)
- sqlId.AndEx("t.EXECUTESTATUS", r.EXECUTESTATUS, r.EXECUTESTATUS > 0)
- sqlId.OrderByDesc("t.CREATETIME")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *GzbsfworderM) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]GzbsfworderM, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // GzbsfworderdetailM 保税服务单据明细表
- type GzbsfworderdetailM struct {
- ORDERDETAILID string `json:"orderdetailid" xorm:"ORDERDETAILID"` // 单据明细ID(805+Unix秒时间戳(10位)+xxxxxx)
- ORDERID string `json:"orderid" xorm:"ORDERID" form:"orderid"` // 单据ID(804+Unix秒时间戳(10位)+xxxxxx)
- ORDERINDEX int32 `json:"orderindex" xorm:"ORDERINDEX"` // 顺序
- NETWEIGTHCT float64 `json:"netweigthct" xorm:"NETWEIGTHCT"` // 净重(克拉)
- NETWEIGTHGM float64 `json:"netweigthgm" xorm:"NETWEIGTHGM"` // 净重(克)
- GROSSWEIGHTGM float64 `json:"grossweightgm" xorm:"GROSSWEIGHTGM"` // 毛重(克)
- TOTALAMOUNT float64 `json:"totalamount" xorm:"TOTALAMOUNT"` // 总值(美元)
- PERPRICE float64 `json:"perprice" xorm:"PERPRICE"` // 单价(美元/克拉) = 总值(美元) / 净重(克拉)
- ORDERCONTENT string `json:"ordercontent" xorm:"ORDERCONTENT"` // 内容
- COLORINFO string `json:"colorinfo" xorm:"COLORINFO"` // 彩钻信息
- REMARK string `json:"remark" xorm:"REMARK"` // 备注(其它)
- CREATETIME time.Time `json:"createtime" xorm:"CREATETIME"` // 创建时间
- GZCJSHAPE string `json:"gzcjshape" xorm:"GZCJSHAPE"` // 形状(字符)
- USERID int64 `json:"-" form:"userid" binding:"required"` // 用户ID
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *GzbsfworderdetailM) calc() {
- }
- func (r *GzbsfworderdetailM) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- to_char(t.ORDERDETAILID) ORDERDETAILID,
- to_char(t.ORDERID) ORDERID,
- t.ORDERINDEX,
- t.NETWEIGTHCT,
- t.NETWEIGTHGM,
- t.GROSSWEIGHTGM,
- t.TOTALAMOUNT,
- t.PERPRICE,
- t.ORDERCONTENT,
- t.COLORINFO,
- t.REMARK,
- t.CREATETIME,
- t.GZCJSHAPE
- FROM GZ_BSFWOrderDetail t
- LEFT JOIN GZ_BSFWOrder d ON t.orderid = d.orderid AND d.userid = %v
- WHERE 1=1
- `
- sqlId.FormatParam(r.USERID)
- sqlId.AndEx("t.orderid", r.ORDERID, r.ORDERID != "")
- sqlId.OrderBy("t.ORDERINDEX")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *GzbsfworderdetailM) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]GzbsfworderdetailM, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- func (r *Gzbsfworderoperate) GetDataByOrderIDAndStatus() (data []Gzbsfworderoperate, err error) {
- err = db.GetEngine().Table("GZ_BSFWORDEROPERATE").Where("ORDERID = ?", r.ORDERID).And("GZBSStatus = 5").Find(&data)
- return
- }
- // Reckondaytaaccount 资金账户日照表
- type Reckondaytaaccount struct {
- ACCOUNTID int64 `json:"accountid" xorm:"ACCOUNTID"` // 资金账户ID
- RECKONDATE string `json:"reckondate" xorm:"RECKONDATE"` // 日照日期(yyyyMMdd)
- USERID int64 `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 用户ID
- CURRENCYID int64 `json:"currencyid" xorm:"CURRENCYID"` // 货币ID
- CHANGEFLAG int32 `json:"changeflag" xorm:"CHANGEFLAG"` // 变动标志(当前账户资金有任何变动更新为1系统结算时更新0;供清算时使用) 0:无变动 1:有变动
- PASSWORD string `json:"password" xorm:"PASSWORD"` // 资金密码
- TRADESTATUS int32 `json:"tradestatus" xorm:"TRADESTATUS"` // 交易状态 - 1:正常 2:受限 3:冻结 4:禁止建仓(人工受限) 5:禁止交易(人工冻结)
- SIGNSTATUS int32 `json:"signstatus" xorm:"SIGNSTATUS"` // 签约状态 - 1:未签约 2:已签约 3:已解约
- ISMAIN int32 `json:"ismain" xorm:"ISMAIN"` // 是否账号 0:不是母账户 1:是母账户
- PARENTACCOUNTID int64 `json:"parentaccountid" xorm:"PARENTACCOUNTID"` // 所属根账户
- RELATEUSERID int64 `json:"relateuserid" xorm:"RELATEUSERID"` // 关联用户
- RELATEDACCOUNTSTATUS int32 `json:"relatedaccountstatus" xorm:"RELATEDACCOUNTSTATUS"` // 关联用户交易状态 - 1:正常(可交易) 2:受限(可平仓,不可建仓) 3:冻结(不可交易)
- TAACCOUNTTYPE int32 `json:"taaccounttype" xorm:"TAACCOUNTTYPE"` // 外部/内部账号 - 1:外部账号 2:内部账号
- ISRECKONACCOUNT int32 `json:"isreckonaccount" xorm:"ISRECKONACCOUNT"` // 是否机构分润账号 0:不是 1:是
- ISMARKETACCOUNT int32 `json:"ismarketaccount" xorm:"ISMARKETACCOUNT"` // 是否机构接单账号 0:不是 1:是
- BALANCE float64 `json:"balance" xorm:"BALANCE"` // 期初余额
- ORIFREEZEMARGIN float64 `json:"orifreezemargin" xorm:"ORIFREEZEMARGIN"` // 期初冻结保证金
- ORIUSEDMARGIN float64 `json:"oriusedmargin" xorm:"ORIUSEDMARGIN"` // 期初占用保证金
- ORIOTHERFREEZEMARGIN float64 `json:"oriotherfreezemargin" xorm:"ORIOTHERFREEZEMARGIN"` // 期初其他冻结保证金(出金冻结资金 交割买方冻结 申购冻结 全款买入 商城买入)
- ORIFREEZECHARGE float64 `json:"orifreezecharge" xorm:"ORIFREEZECHARGE"` // 期初手续费冻结
- ORIMORTGAGECREDIT float64 `json:"orimortgagecredit" xorm:"ORIMORTGAGECREDIT"` // 期初授信金额
- ORIOTHERCREDIT float64 `json:"oriothercredit" xorm:"ORIOTHERCREDIT"` // 期初其它授信金额
- ORIOUTAMOUNTFREEZE float64 `json:"orioutamountfreeze" xorm:"ORIOUTAMOUNTFREEZE"` // 期初出金冻结
- CURRENTBALANCE float64 `json:"currentbalance" xorm:"CURRENTBALANCE"` // 期末余额
- FREEZEMARGIN float64 `json:"freezemargin" xorm:"FREEZEMARGIN"` // 冻结保证金
- USEDMARGIN float64 `json:"usedmargin" xorm:"USEDMARGIN"` // 占用保证金
- OTHERFREEZEMARGIN float64 `json:"otherfreezemargin" xorm:"OTHERFREEZEMARGIN"` // 其他冻结保证金(出金冻结资金 交割买方冻结 申购冻结 全款买入 商城买入)
- FREEZECHARGE float64 `json:"freezecharge" xorm:"FREEZECHARGE"` // 手续费冻结
- MORTGAGECREDIT float64 `json:"mortgagecredit" xorm:"MORTGAGECREDIT"` // 授信金额
- OTHERCREDIT float64 `json:"othercredit" xorm:"OTHERCREDIT"` // 其它授信金额
- OUTAMOUNTFREEZE float64 `json:"outamountfreeze" xorm:"OUTAMOUNTFREEZE"` // 出金冻结
- INAMOUNT float64 `json:"inamount" xorm:"INAMOUNT"` // 今日入金金额
- OUTAMOUNT float64 `json:"outamount" xorm:"OUTAMOUNT"` // 今日出金金额
- PAYCHARGE float64 `json:"paycharge" xorm:"PAYCHARGE"` // 今日手续费支出
- CLOSEPL float64 `json:"closepl" xorm:"CLOSEPL"` // 今日平仓盈亏
- RECKONPL float64 `json:"reckonpl" xorm:"RECKONPL"` // 今日结算盈亏
- CREDITINCREASE float64 `json:"creditincrease" xorm:"CREDITINCREASE"` // 今日授信增加
- CREDITDECREASE float64 `json:"creditdecrease" xorm:"CREDITDECREASE"` // 今日授信减少
- OTHERCREDITINCREASE float64 `json:"othercreditincrease" xorm:"OTHERCREDITINCREASE"` // 今日其它授信增加
- OTHERCREDITDECREASE float64 `json:"othercreditdecrease" xorm:"OTHERCREDITDECREASE"` // 今日其它授信减少
- OTHERPAY float64 `json:"otherpay" xorm:"OTHERPAY"` // 其他支出(交割付款 申购付款 全款买入 商城买入 卖家退货)
- OTHERINCOME float64 `json:"otherincome" xorm:"OTHERINCOME"` // 其他收入(交割收款 申购收款 全款卖出 商城卖出 买家退货 会员手续费收入)
- TRANSFERAMOUNT float64 `json:"transferamount" xorm:"TRANSFERAMOUNT"` // 今日划转金额(母子账号资金划转,从账号划入为正,从账号划出为负)
- OUTTHRESHOLD float64 `json:"outthreshold" xorm:"OUTTHRESHOLD"` // 出金阈值
- CLEARBALANCE float64 `json:"clearbalance" xorm:"CLEARBALANCE"` // 清算余额 = 期末余额 - 授信金额 - 其它授信金额
- DIVIDEDCHARGE float64 `json:"dividedcharge" xorm:"DIVIDEDCHARGE"` // 今日已收手续费分成
- PAYEXCHCHARGE float64 `json:"payexchcharge" xorm:"PAYEXCHCHARGE"` // 今日应付交易所手续费
- CLEARPL float64 `json:"clearpl" xorm:"CLEARPL"` // 真实资金变动值(除出入金、应付交易所手续费)清算盈亏 = 期末余额 - 期初余额 - (今日入金 + 今日出金) - 今日应付交易所手续费 - 【(今日授信增加 + 今日授信减少) - (今日其它授信增加 + 今日其它授信减少) ----母账户】 = 今日手续费支出 + 今日平仓盈亏 + 今日结算盈亏 + 其他支出 + 其他收入 + 今日划转金额 + 今日已收手续费分成 - 今日应付交易所手续费
- THIRDINAMOUNT float64 `json:"thirdinamount" xorm:"THIRDINAMOUNT"` // 今日三方入金
- TRADECHARGE float64 `json:"tradecharge" xorm:"TRADECHARGE"` // 今日交易手续费支出 [101,102]
- INTERESTCHARGE float64 `json:"interestcharge" xorm:"INTERESTCHARGE"` // 今日递延费支出[103, 104]
- DELIVERYCHARGE float64 `json:"deliverycharge" xorm:"DELIVERYCHARGE"` // 今日交收手续费支出 [105,106]
- HOLDCHARGE float64 `json:"holdcharge" xorm:"HOLDCHARGE"` // 今日持仓过夜费支出[108,109,110]
- THIRDOUTAMOUNT float64 `json:"thirdoutamount" xorm:"THIRDOUTAMOUNT"` // 今日三方出金
- TRADEQTY int64 `json:"tradeqty" xorm:"TRADEQTY"` // 今日成交量
- TRADEAMOUNT float64 `json:"tradeamount" xorm:"TRADEAMOUNT"` // 今日成交金额
- DELIVERYAMOUNTOUT float64 `json:"deliveryamountout" xorm:"DELIVERYAMOUNTOUT"` // 今日交收货款支出
- DELIVERYAMOUNTIN float64 `json:"deliveryamountin" xorm:"DELIVERYAMOUNTIN"` // 今日交收货款收入
- DELIVERYCOMPENSATIONFEEOUT float64 `json:"deliverycompensationfeeout" xorm:"DELIVERYCOMPENSATIONFEEOUT"` // 今日交收补偿费支出
- DELIVERYCOMPENSATIONFEEIN float64 `json:"deliverycompensationfeein" xorm:"DELIVERYCOMPENSATIONFEEIN"` // 今日交收补偿费收入
- CAPITALBALANCE float64 `json:"capitalbalance" xorm:"CAPITALBALANCE"` // 本金余额[外部子账户实际出入金余额]
- CLOSEPL2 float64 `json:"closepl2" xorm:"CLOSEPL2"` // 平仓盈亏(逐笔)
- RECKONPL2 float64 `json:"reckonpl2" xorm:"RECKONPL2"` // 结算盈亏(逐笔) - 汇总取期末
- NETVALUE float64 `json:"netvalue" xorm:"NETVALUE"` // 净值 = 期末余额 + 所有权市值 + 仓单市值仓单市值由统计服务更新
- PAYCHARGE2 float64 `json:"paycharge2" xorm:"PAYCHARGE2"` // 今日手续费支出(外部配置)
- DEFERCHARGE float64 `json:"defercharge" xorm:"DEFERCHARGE"` // 今日递延费2支出[111, 112]
- FROMACCOUNTID int64 `json:"fromaccountid" xorm:"FROMACCOUNTID"` // 所属上级账户
- SUBLEVELPATH string `json:"sublevelpath" xorm:"SUBLEVELPATH"` // 账号层级路径(逗号分隔,首尾加逗号)
- OWNERSHIPVALUE float64 `json:"ownershipvalue" xorm:"OWNERSHIPVALUE"` // 所有权市值
- SPOTVALUE float64 `json:"spotvalue" xorm:"SPOTVALUE"` // 现货市值-统计服务更新
- ACCOUNTPL float64 `json:"accountpl" xorm:"ACCOUNTPL"` // 今日账户盈亏 = 今日净值-昨日净值+今日出金-今日入金-今日划转+今日授信减少-今日授信增加+今日其它授信减少-今日其它授信增加+今日三方出金-今日三方入金;由统计服务更新
- ACCOUNTNAME string `json:"accountname" xorm:"ACCOUNTNAME"` // 账户名称
- ORIDEBT float64 `json:"oridebt" xorm:"ORIDEBT"` // 期初欠款
- CURDEBT float64 `json:"curdebt" xorm:"CURDEBT"` // 期末欠款
- AVAIABLEMONEY float64 `json:"avaiablemoney" xorm:"AVAIABLEMONEY"` // 可用资金
- AVAIABLEOUTMONEY float64 `json:"avaiableoutmoney" xorm:"AVAIABLEOUTMONEY"` // 可出资金
- FLOATPL float64 `json:"floatpl" xorm:"FLOATPL"` // 浮动盈亏 - 每日有负债类商品
- FLOATNETVALUE float64 `json:"floatnetvalue" xorm:"FLOATNETVALUE"` // 浮动净值 = 净值 + 浮动盈亏
- RISKRATE float64 `json:"riskrate" xorm:"RISKRATE"` // 风险率 = 占用/ 浮动净值 或 浮动净值/占用
- CYCLETYPE int32 `json:"cycletype" form:"cycletype"` // 周期类型 - 1:月 2:季 3:年 4:周 5:全报表 (日报表不传此参数)
- BeginDate string `json:"-" form:"begindate" binding:"required"` // 开始时段
- EndDate string `json:"-" form:"enddate" binding:"required"` // 结束时段
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *Reckondaytaaccount) calc() {
- }
- func (r *Reckondaytaaccount) buildSql() string {
- var sqlId utils.SQLVal
- if r.CYCLETYPE == 0 {
- // 日报表
- sqlId = `
- select
- t.reckondate,
- t.accountid,
- t.balance,
- t.currentbalance,
- t.avaiablemoney,
- t.avaiableoutmoney,
- t.netvalue,
- t.inamount,
- t.outamount,
- t.paycharge,
- t.otherincome,
- t.otherpay,
- t.otherfreezemargin,
- t.outamountfreeze
- from Reckon_DayTAAccount t
- where t.userid = %v
- `
- sqlId.FormatParam(r.USERID)
- if r.BeginDate != "" && r.EndDate != "" {
- sqlId.JoinFormat(" AND (t.reckondate >= '%v' AND t.reckondate <= '%v')", r.BeginDate, r.EndDate)
- }
- sqlId.OrderBy("t.reckondate")
- } else {
- // 周期报表
- sqlId = `
- select
- t.cycletime RECKONDATE,
- t.accountid,
- t.balance,
- t.currentbalance,
- t.avaiablemoney,
- t.avaiableoutmoney,
- t.netvalue,
- t.inamount,
- t.outamount,
- t.paycharge,
- t.otherincome,
- t.otherpay,
- t.otherfreezemargin,
- t.outamountfreeze
- from REPORT_TAACCOUNT t
- where t.userid = %v and t.cycletype = %v
- `
- sqlId.FormatParam(r.USERID, r.CYCLETYPE)
- if r.BeginDate != "" && r.EndDate != "" {
- sqlId.JoinFormat(" AND (t.cycletime >= '%v' AND t.cycletime <= '%v')", r.BeginDate, r.EndDate)
- }
- sqlId.OrderBy("t.cycletime")
- }
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *Reckondaytaaccount) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]Reckondaytaaccount, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // WRPositionReport 仓储报表
- type WRPositionReport struct {
- RECKONDATE string `json:"reckondate" xorm:"RECKONDATE"` // 日照时期(yyyyMMdd)
- WRPOSITIONID int64 `json:"wrpositionid" xorm:"WRPOSITIONID"` // 仓单头寸ID(201+Unix秒时间戳(10位)+xxxxxx)
- WRUSERID int64 `json:"wruserid" xorm:"WRUSERID"` // 持有人ID
- DELIVERYGOODSID int32 `json:"deliverygoodsid" xorm:"DELIVERYGOODSID"` // 交割商品ID
- WRFACTORTYPEID int64 `json:"wrfactortypeid" xorm:"WRFACTORTYPEID"` // 仓单要素类型ID
- BRANDID int64 `json:"brandid" xorm:"BRANDID"` // 品牌ID(1交割品种升贴水参数表 AutoID) - 作废
- QUALITYID int64 `json:"qualityid" xorm:"QUALITYID"` // 品质ID(1交割品种升贴水参数表 AutoID) - 作废
- SPECID int64 `json:"specid" xorm:"SPECID"` // 规格ID(1交割品种升贴水参数表 AutoID) - 作废
- WAREHOUSEID int64 `json:"warehouseid" xorm:"WAREHOUSEID"` // 仓库ID(1交割品种升贴水参数表 AutoID) - 作废
- DELIVERYMONTHID int64 `json:"deliverymonthid" xorm:"DELIVERYMONTHID"` // 月份ID(1交割品种升贴水参数表 AutoID) - 作废
- TOTALQTY int64 `json:"totalqty" xorm:"TOTALQTY"` // 总数量
- INCREASEQTY int64 `json:"increaseqty" xorm:"INCREASEQTY"` // 今日增加数量
- DECREASEQTY int64 `json:"decreaseqty" xorm:"DECREASEQTY"` // 今日减少数量
- FREEZEQTY int64 `json:"freezeqty" xorm:"FREEZEQTY"` // 总冻结数量
- RELATEDQTY int64 `json:"relatedqty" xorm:"RELATEDQTY"` // 关联数量
- TRANSFERTRADEWRQTY int64 `json:"transfertradewrqty" xorm:"TRANSFERTRADEWRQTY"` // 今日转订单数量
- TRADEWRQTY int64 `json:"tradewrqty" xorm:"TRADEWRQTY"` // 订单仓单头寸总数量
- PICKUPQTY int64 `json:"pickupqty" xorm:"PICKUPQTY"` // 今日提货数量
- ACCOUNTID int64 `json:"accountid" xorm:"ACCOUNTID"` // 帐户ID
- MARKETVALUE float64 `json:"marketvalue" xorm:"MARKETVALUE"` // 市值
- WRSTANDARDID int64 `json:"wrstandardid" xorm:"WRSTANDARDID"` // 现货商品ID
- WRSTANDARDCODE string `json:"wrstandardcode" xorm:"WRSTANDARDCODE"` // 现货商品代码
- CREDITTOTALQTY int64 `json:"credittotalqty" xorm:"CREDITTOTALQTY"` // 授信总数量
- CREDITCURQTY int64 `json:"creditcurqty" xorm:"CREDITCURQTY"` // 授信当前数量
- CREDITFREEZEQTY int64 `json:"creditfreezeqty" xorm:"CREDITFREEZEQTY"` // 授信冻结数量
- CREDITTRADEQTY int64 `json:"credittradeqty" xorm:"CREDITTRADEQTY"` // 授信成交数量
- ZSCATEGORY int32 `json:"zscategory" xorm:"ZSCATEGORY" form:"zscategory"` // 商品分类
- ZSCATEGORYDISPLAY string `json:"zscategorydisplay" xorm:"ZSCATEGORYDISPLAY"` //
- ZSCURRENCYTYPE int32 `json:"zscurrencytype" xorm:"ZSCURRENCYTYPE" form:"zscurrencytype"` // 商品币种
- ZSCURRENCYTYPEDISPLAY string `json:"zscurrencytypedisplay" xorm:"ZSCURRENCYTYPEDISPLAY"` //
- ZSCURRENCYTYPEDISPLAYUNIT string `json:"zscurrencytypedisplayunit" xorm:"ZSCURRENCYTYPEDISPLAYUNIT"` //
- TOTALWEIGHT float64 `json:"totalweight" xorm:"TOTALWEIGHT"` // 销售重量(ct)
- TOTALPRICE float64 `json:"totalprice" xorm:"TOTALPRICE"` // 销售金额(¥)
- BUYLISTINGLOT int32 `json:"buylistinglot" xorm:"BUYLISTINGLOT"` // 买挂牌宗数
- SELLLISTINGLOT int32 `json:"selllistinglot" xorm:"SELLLISTINGLOT"` // 卖挂牌宗数
- SELLLISTINGQTY float64 `json:"selllistingqty" xorm:"SELLLISTINGQTY"` // 卖挂牌数量
- SELLLISTINGAMOUNT float64 `json:"selllistingamount" xorm:"SELLLISTINGAMOUNT"` // 卖挂牌金额
- BUYTRADELOT int32 `json:"buytradelot" xorm:"BUYTRADELOT"` // 购买宗数
- BUYTRADEQTY float64 `json:"buytradeqty" xorm:"BUYTRADEQTY"` // 购买数量
- BUYTRADEAMOUNT float64 `json:"buytradeamount" xorm:"BUYTRADEAMOUNT"` // 购买金额
- SELLTRADELOT int32 `json:"selltradelot" xorm:"SELLTRADELOT"` // 销售宗数
- SELLTRADEQTY float64 `json:"selltradeqty" xorm:"SELLTRADEQTY"` // 销售数量
- SELLTRADEAMOUNT float64 `json:"selltradeamount" xorm:"SELLTRADEAMOUNT"` // 销售金额
- USERID int64 `json:"-" form:"userid" binding:"required"` // 用户ID
- CYCLETYPE int32 `json:"-" form:"cycletype"` // 周期类型 - 1:月 2:季 3:年 4:周 5:全报表 (日报表不传此参数)
- BeginDate string `json:"-" form:"begindate" binding:"required"` // 开始时段
- EndDate string `json:"-" form:"enddate" binding:"required"` // 结束时段
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *WRPositionReport) calc() {
- }
- func (r *WRPositionReport) buildSql() string {
- var sqlId utils.SQLVal
- if r.CYCLETYPE == 0 {
- // 日报表
- sqlId = `
- select a.*,
- su.BUYLISTINGLOT,
- su.SELLLISTINGLOT,
- su.SELLLISTINGQTY,
- su.SELLLISTINGAMOUNT,
- su.BUYTRADELOT,
- su.BUYTRADEQTY,
- su.BUYTRADEAMOUNT,
- su.SELLTRADELOT,
- su.SELLTRADEQTY,
- su.SELLTRADEAMOUNT
- from (select t.RECKONDATE,
- t.WRUSERID,
- v.ZSCATEGORY,
- v.ZSCATEGORYDISPLAY,
- v.ZSCURRENCYTYPE,
- v.ZSCURRENCYTYPEDISPLAY,
- v.ZSCURRENCYTYPEDISPLAYUNIT,
- sum(v.WEIGHT) TOTALWEIGHT,
- sum(v.PRICE) TOTALPRICE
- from Reckon_DayWRPosition t
- left join view_gz_wrstandard_ex v
- on t.wrstandardid = v.WRSTANDARDID
- where t.wruserid = %v
- and t.reckondate >= '%v' and t.reckondate <= '%v'
- and %v
- and %v
- group by t.reckondate,
- t.wruserid,
- v.ZSCATEGORY,
- v.ZSCATEGORYDISPLAY,
- v.ZSCURRENCYTYPE,
- v.ZSCURRENCYTYPEDISPLAY,
- v.ZSCURRENCYTYPEDISPLAYUNIT) a
- left join Reckon_GZ_MemTradeSum su
- on a.reckondate = su.tradedate
- and a.wruserid = su.userid
- and a.ZSCATEGORY = su.zscategory
- and a.ZSCURRENCYTYPE = su.zscurrencytype
- order by a.reckondate, a.ZSCATEGORY, a.ZSCURRENCYTYPE
- `
- // 【登录用户ID】 【开始时段】 【结束时段】 v.ZSCATEGORY = 【商品分类】 v.ZSCURRENCYTYPE = 【商品币种】
- p1 := "1=1"
- if r.ZSCATEGORY > 0 {
- p1 = fmt.Sprintf("t.ZSCATEGORY = %v", r.ZSCATEGORY)
- }
- p2 := "1=1"
- if r.ZSCURRENCYTYPE > 0 {
- p1 = fmt.Sprintf("v.ZSCURRENCYTYPE = %v", r.ZSCURRENCYTYPE)
- }
- sqlId.FormatParam(r.USERID, r.BeginDate, r.EndDate, p1, p2)
- } else {
- // 周期报表
- sqlId = `
- select a.*,
- su.BUYLISTINGLOT,
- su.SELLLISTINGLOT,
- su.SELLLISTINGQTY,
- su.SELLLISTINGAMOUNT,
- su.BUYTRADELOT,
- su.BUYTRADEQTY,
- su.BUYTRADEAMOUNT,
- su.SELLTRADELOT,
- su.SELLTRADEQTY,
- su.SELLTRADEAMOUNT
- from (select t.CYCLETYPE,
- t.CYCLETIME RECKONDATE,
- t.WRUSERID,
- v.ZSCATEGORY,
- v.ZSCATEGORYDISPLAY,
- v.ZSCURRENCYTYPE,
- v.ZSCURRENCYTYPEDISPLAY,
- v.ZSCURRENCYTYPEDISPLAYUNIT,
- sum(v.WEIGHT) TOTALWEIGHT,
- sum(v.PRICE) TOTALPRICE
- from report_WRPosition t
- left join view_gz_wrstandard_ex v
- on t.wrstandardid = v.WRSTANDARDID
- where t.wruserid = %v and %v
- and t.cycletime >= '%v'
- and t.cycletime <= '%v'
- and %v
- and %v
- group by t.cycletype,
- t.cycletime,
- t.wruserid,
- v.ZSCATEGORY,
- v.ZSCATEGORYDISPLAY,
- v.ZSCURRENCYTYPE,
- v.ZSCURRENCYTYPEDISPLAY,
- v.ZSCURRENCYTYPEDISPLAYUNIT) a
- left join report_GZ_MemTradeSum su
- on a.cycletype = su.cycletype
- and a.RECKONDATE = su.cycletime
- and a.wruserid = su.userid
- and a.ZSCATEGORY = su.zscategory
- and a.ZSCURRENCYTYPE = su.zscurrencytype
- order by a.RECKONDATE, a.ZSCATEGORY, a.ZSCURRENCYTYPE
- `
- // 【登录用户ID】 t.cycletype = 【报表类型】【开始时段】 【结束时段】 v.ZSCATEGORY = 【商品分类】 v.ZSCURRENCYTYPE = 【商品币种】
- p0 := "1=1"
- if r.CYCLETYPE > 0 {
- p0 = fmt.Sprintf("t.CYCLETYPE = %v", r.CYCLETYPE)
- }
- p1 := "1=1"
- if r.ZSCATEGORY > 0 {
- p1 = fmt.Sprintf("v.ZSCATEGORY = %v", r.ZSCATEGORY)
- }
- p2 := "1=1"
- if r.ZSCURRENCYTYPE > 0 {
- p1 = fmt.Sprintf("v.ZSCURRENCYTYPE = %v", r.ZSCURRENCYTYPE)
- }
- sqlId.FormatParam(r.USERID, p0, r.BeginDate, r.EndDate, p1, p2)
- }
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *WRPositionReport) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]WRPositionReport, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // Reckongzmemtradesum 会员钻石交易日汇总表
- type Reckongzmemtradesum struct {
- MARKETID int64 `json:"marketid" xorm:"MARKETID"` // 市场ID
- USERID int64 `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 用户ID
- ZSCATEGORY int32 `json:"zscategory" xorm:"ZSCATEGORY" form:"zscategory"` // 钻石分类 - 枚举”ZSCategory“
- ZSCURRENCYTYPE int32 `json:"zscurrencytype" xorm:"ZSCURRENCYTYPE" form:"zscurrencytype"` // 货币类型 - 枚举“ZSCurrencyType”
- BUYLISTINGLOT int32 `json:"buylistinglot" xorm:"BUYLISTINGLOT"` // 买挂牌宗数
- BUYLISTINGQTY float64 `json:"buylistingqty" xorm:"BUYLISTINGQTY"` // 买挂牌数量 - 无数据,预留
- BUYLISTINGAMOUNT float64 `json:"buylistingamount" xorm:"BUYLISTINGAMOUNT"` // 买挂牌金额 - 无数据,预留
- SELLLISTINGLOT int32 `json:"selllistinglot" xorm:"SELLLISTINGLOT"` // 卖挂牌宗数
- SELLLISTINGQTY float64 `json:"selllistingqty" xorm:"SELLLISTINGQTY"` // 卖挂牌数量
- SELLLISTINGAMOUNT float64 `json:"selllistingamount" xorm:"SELLLISTINGAMOUNT"` // 卖挂牌金额
- BUYTRADELOT int32 `json:"buytradelot" xorm:"BUYTRADELOT"` // 购买宗数
- BUYTRADEQTY float64 `json:"buytradeqty" xorm:"BUYTRADEQTY"` // 购买数量
- BUYTRADEAMOUNT float64 `json:"buytradeamount" xorm:"BUYTRADEAMOUNT"` // 购买金额
- SELLTRADELOT int32 `json:"selltradelot" xorm:"SELLTRADELOT"` // 销售宗数
- SELLTRADEQTY float64 `json:"selltradeqty" xorm:"SELLTRADEQTY"` // 销售数量
- SELLTRADEAMOUNT float64 `json:"selltradeamount" xorm:"SELLTRADEAMOUNT"` // 销售金额
- UPDATETIME time.Time `json:"updatetime" xorm:"UPDATETIME"` // 更新时间
- RECKONDATE string `json:"reckondate" xorm:"RECKONDATE"` // 日照日期(yyyyMMdd)
- ZSCATEGORYDISPLAY string `json:"zscategorydisplay" xorm:"ZSCATEGORYDISPLAY"` //
- ZSCURRENCYTYPEDISPLAY string `json:"zscurrencytypedisplay" xorm:"ZSCURRENCYTYPEDISPLAY"` //
- ZSCURRENCYTYPEDISPLAYUNIT string `json:"zscurrencytypedisplayunit" xorm:"ZSCURRENCYTYPEDISPLAYUNIT"` //
- CYCLETYPE int32 `json:"-" form:"cycletype"` // 周期类型 - 1:月 2:季 3:年 4:周 5:全报表 (日报表不传此参数)
- BeginDate string `json:"-" form:"begindate" binding:"required"` // 开始时段
- EndDate string `json:"-" form:"enddate" binding:"required"` // 结束时段
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *Reckongzmemtradesum) calc() {
- }
- func (r *Reckongzmemtradesum) buildSql() string {
- var sqlId utils.SQLVal
- if r.CYCLETYPE == 0 {
- // 日报表
- sqlId = `
- select
- DIC1.ENUMDICNAME ZSCATEGORYDISPLAY,
- DIC2.ENUMDICNAME ZSCURRENCYTYPEDISPLAY,
- DIC2.PARAM2 ZSCURRENCYTYPEDISPLAYUNIT,
- t.*
- from Reckon_GZ_MemTradeSum t
- LEFT JOIN ENUMDICITEM DIC1 ON t.ZSCATEGORY = DIC1.ENUMITEMNAME AND DIC1.ENUMDICCODE = 'ZSCategory'
- LEFT JOIN ENUMDICITEM DIC2 ON t.ZSCURRENCYTYPE = DIC2.ENUMITEMNAME AND DIC2.ENUMDICCODE = 'ZSCurrencyType'
- where t.userid = %v
- and t.tradedate >= '%v'
- and t.tradedate <= '%v'
- and %v
- and %v
- order by t.tradedate, t.zscategory, t.zscurrencytype
- `
- // 【登录用户ID】 【开始时段】 【结束时段】 t.ZSCATEGORY = 【商品分类】 t.ZSCURRENCYTYPE = 【商品币种】
- p1 := "1=1"
- if r.ZSCATEGORY > 0 {
- p1 = fmt.Sprintf("t.ZSCATEGORY = %v", r.ZSCATEGORY)
- }
- p2 := "1=1"
- if r.ZSCURRENCYTYPE > 0 {
- p1 = fmt.Sprintf("t.ZSCURRENCYTYPE = %v", r.ZSCURRENCYTYPE)
- }
- sqlId.FormatParam(r.USERID, r.BeginDate, r.EndDate, p1, p2)
- } else {
- // 周期报表
- sqlId = `
- select
- DIC1.ENUMDICNAME ZSCATEGORYDISPLAY,
- DIC2.ENUMDICNAME ZSCURRENCYTYPEDISPLAY,
- DIC2.PARAM2 ZSCURRENCYTYPEDISPLAYUNIT,
- t.MARKETID ,
- t.USERID ,
- t.ZSCATEGORY ,
- t.ZSCURRENCYTYPE ,
- t.BUYLISTINGLOT ,
- t.BUYLISTINGQTY ,
- t.BUYLISTINGAMOUNT ,
- t.SELLLISTINGLOT ,
- t.SELLLISTINGQTY ,
- t.SELLLISTINGAMOUNT,
- t.BUYTRADELOT ,
- t.BUYTRADEQTY ,
- t.BUYTRADEAMOUNT ,
- t.SELLTRADELOT ,
- t.SELLTRADEQTY ,
- t.SELLTRADEAMOUNT ,
- t.UPDATETIME ,
- t.CYCLETIME RECKONDATE
- from Report_GZ_MemTradeSum t
- LEFT JOIN ENUMDICITEM DIC1 ON t.ZSCATEGORY = DIC1.ENUMITEMNAME AND DIC1.ENUMDICCODE = 'ZSCategory'
- LEFT JOIN ENUMDICITEM DIC2 ON t.ZSCURRENCYTYPE = DIC2.ENUMITEMNAME AND DIC2.ENUMDICCODE = 'ZSCurrencyType'
- where t.userid = %v
- and %v
- and t.cycletime >= %v
- and t.cycletime <= %v
- and %v
- and %v
- order by t.cycletime, t.zscategory, t.zscurrencytype
- `
- // 【登录用户ID】 t.cycletype = 【报表类型】【开始时段】 【结束时段】 t.ZSCATEGORY = 【商品分类】 t.ZSCURRENCYTYPE = 【商品币种】
- p0 := "1=1"
- if r.CYCLETYPE > 0 {
- p0 = fmt.Sprintf("t.CYCLETYPE = %v", r.CYCLETYPE)
- }
- p1 := "1=1"
- if r.ZSCATEGORY > 0 {
- p1 = fmt.Sprintf("t.ZSCATEGORY = %v", r.ZSCATEGORY)
- }
- p2 := "1=1"
- if r.ZSCURRENCYTYPE > 0 {
- p1 = fmt.Sprintf("t.ZSCURRENCYTYPE = %v", r.ZSCURRENCYTYPE)
- }
- sqlId.FormatParam(r.USERID, p0, r.BeginDate, r.EndDate, p1, p2)
- }
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *Reckongzmemtradesum) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]Reckongzmemtradesum, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- type Gzcjjcorderoperate struct {
- ORDERID string `json:"orderid" xorm:"ORDERID" form:"orderid" binding:"required"` // 单据ID(801+Unix秒时间戳(10位)+xxxxxx)
- GZCJSTATUS int32 `json:"status" xorm:"GZCJSTATUS" form:"status" binding:"required"` // 操作后单据状态 - 枚举"GZCJStatus"
- OPERATORSRC int32 `json:"operatorsrc" xorm:"OPERATORSRC"` // 操作人来源 - 1:管理端 2:终端
- OPERATORID int64 `json:"operatorid" xorm:"OPERATORID"` // 操作人ID - systemmanager的autoid 或 loginaccount的loginid
- OPERATORACCOUNT string `json:"operatoraccount" xorm:"OPERATORACCOUNT"` // 操作人账号 - systemmanager的logincode 或 loginaccount的logincode,无则用loginid
- OPERATORNAME string `json:"operatorname" xorm:"OPERATORNAME"` // 操作人名称 - systemmanager的username 或 loginaccount的logincode,无则用loginid
- OPERATETIME time.Time `json:"operatetime" xorm:"OPERATETIME"` // 操作时间
- REMARK string `json:"remark" xorm:"REMARK"` // 操作备注
- GIAUSDFEE float64 `json:"giausdfee" xorm:"GIAUSDFEE"` // GIA检测费(USD$) [GZCJStatus = 10.预付款确认中\13.付款确认中] 时
- EXCHANGERATE float64 `json:"exchangerate" xorm:"EXCHANGERATE"` // 汇率 [GZCJStatus = 10.预付款确认中\13.付款确认中] 时
- GIARMBFEE float64 `json:"giarmbfee" xorm:"GIARMBFEE"` // GIA检测费(¥) [GZCJStatus = 10.预付款确认中\13.付款确认中] 时
- CUSTOMSFEE float64 `json:"customsfee" xorm:"CUSTOMSFEE"` // 海关税费 [GZCJStatus = 10.预付款确认中\13.付款确认中] 时
- BANKFEE float64 `json:"bankfee" xorm:"BANKFEE"` // 汇款银行手续费 [GZCJStatus = 10.预付款确认中\13.付款确认中] 时
- LOGISTICSFEE float64 `json:"logisticsfee" xorm:"LOGISTICSFEE"` // 代缴物流保险费 [GZCJStatus = 10.预付款确认中\13.付款确认中] 时
- SERVICEFEE float64 `json:"servicefee" xorm:"SERVICEFEE"` // 综合服务费 [GZCJStatus = 10.预付款确认中\13.付款确认中] 时
- OTHERFEE float64 `json:"otherfee" xorm:"OTHERFEE"` // 其它费用
- TOTALFEE float64 `json:"totalfee" xorm:"TOTALFEE"` // 总费用 = GIA检测费(¥) + 海关税费 + 汇款银行手续费 + 代缴物流保险费 + 综合服务费 + 其它费用 [GZCJStatus = 10.预付款确认中\13.付款确认中] 时
- LOGISTICSPROOFADDR string `json:"logisticsproofaddr" xorm:"LOGISTICSPROOFADDR"` // 代缴物流保险费凭证(确认结算费用时)
- GIAPROOFADDR string `json:"giaproofaddr" xorm:"GIAPROOFADDR"` // GIA检测费凭证(确认结算费用时)
- CUSTOMSPROOFADDR string `json:"customsproofaddr" xorm:"CUSTOMSPROOFADDR"` // 海关税费凭证(确认结算费用时)
- BANKPROOFADDR string `json:"bankproofaddr" xorm:"BANKPROOFADDR"` // 广钻汇款银行手续费凭证(确认结算费用时)
- ADVANCEPROOFADDR string `json:"advanceproofaddr" xorm:"ADVANCEPROOFADDR"` // 预付检测费和海关税费银行凭证(确认结算费用时)
- SETTLEAMOUNT float64 `json:"settleamount" xorm:"SETTLEAMOUNT"` // 总结算费用
- ADVANCEAMOUNT float64 `json:"advanceamount" xorm:"ADVANCEAMOUNT"` // 总预付款
- }
- func (r *Gzcjjcorderoperate) calc() {
- }
- func (r *Gzcjjcorderoperate) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- to_char(t.ORDERID) ORDERID,
- t.GZCJSTATUS,
- t.OPERATORSRC,
- t.OPERATORID,
- t.OPERATORACCOUNT,
- t.OPERATORNAME,
- to_char(t.OPERATETIME, 'yyyy-mm-dd hh24:mi:ss') OPERATETIME,
- t.REMARK,
- t.GIAUSDFEE,
- t.EXCHANGERATE,
- t.GIARMBFEE,
- t.CUSTOMSFEE,
- t.BANKFEE,
- t.LOGISTICSFEE,
- t.SERVICEFEE,
- t.OTHERFEE,
- t.TOTALFEE,
- t.LOGISTICSPROOFADDR,
- t.GIAPROOFADDR,
- t.CUSTOMSPROOFADDR,
- t.BANKPROOFADDR,
- t.ADVANCEPROOFADDR,
- c.SETTLEAMOUNT,
- c.ADVANCEAMOUNT
- FROM GZ_CJJCOrderOperate t
- LEFT JOIN GZ_CJJCOrder c ON c.orderid = t.orderid
- WHERE t.gzcjstatus = %v AND t.orderid = %v
- `
- sqlId.FormatParam(r.GZCJSTATUS, r.ORDERID)
- return sqlId.String()
- }
- // GetDataEx 从数据库中查询数据
- func (r *Gzcjjcorderoperate) GetDataEx() (interface{}, error) {
- e := db.GetEngine()
- s := e.SQL(r.buildSql())
- sData := make([]Gzcjjcorderoperate, 0)
- if err := s.Find(&sData); err != nil {
- return nil, err
- }
- for i := range sData {
- sData[i].calc()
- }
- return sData, nil
- }
- type Fworderoperate struct {
- ORDERID string `json:"orderid" xorm:"ORDERID" form:"orderid" binding:"required"` // 单据ID(804+Unix秒时间戳(10位)+xxxxxx)
- GZBSSTATUS int32 `json:"status" xorm:"GZBSSTATUS" form:"status" binding:"required"` // 操作后单据状态 - 枚举"GZBSStatus"
- OPERATORSRC int32 `json:"operatorsrc" xorm:"OPERATORSRC"` // 操作人来源 - 1:管理端 2:终端
- OPERATORID int64 `json:"operatorid" xorm:"OPERATORID"` // 操作人ID - systemmanager的autoid 或 loginaccount的loginid
- OPERATORACCOUNT string `json:"operatoraccount" xorm:"OPERATORACCOUNT"` // 操作人账号 - systemmanager的logincode 或 loginaccount的logincode,无则用loginid
- OPERATORNAME string `json:"operatorname" xorm:"OPERATORNAME"` // 操作人名称 - systemmanager的username 或 loginaccount的logincode,无则用loginid
- OPERATETIME string `json:"operatetime" xorm:"OPERATETIME"` // 操作时间
- REMARK string `json:"remark" xorm:"REMARK"` // 操作备注
- TAXMARGIN float64 `json:"taxmargin" xorm:"TAXMARGIN"` // 税费保证金
- BANKFEE float64 `json:"bankfee" xorm:"BANKFEE"` // 汇款银行手续费
- LOGISTICSFEE float64 `json:"logisticsfee" xorm:"LOGISTICSFEE"` // 代缴物流保险费
- SERVICEFEE float64 `json:"servicefee" xorm:"SERVICEFEE"` // 综合服务费
- OTHERFEE float64 `json:"otherfee" xorm:"OTHERFEE"` // 其它费用
- TOTALFEE float64 `json:"totalfee" xorm:"TOTALFEE"` // 总费用 = 费用之和 (结算费用时不含税费保证金)
- LOGISTICSPROOFADDR string `json:"logisticsproofaddr" xorm:"LOGISTICSPROOFADDR"` // 代缴物流保险费凭证(确认结算费用时)
- BANKPROOFADDR string `json:"bankproofaddr" xorm:"BANKPROOFADDR"` // 广钻汇款银行手续费凭证(确认结算费用时)
- CUSTOMSPROOFADDR string `json:"customsproofaddr" xorm:"CUSTOMSPROOFADDR"` // 海关税费保证金收据(确认结算费用时)
- ADVANCEPROOFADDR string `json:"advanceproofaddr" xorm:"ADVANCEPROOFADDR"` // 预付款收款凭证(确认结算费用时)
- ADVANCEAMOUNT float64 `json:"advanceamount" xorm:"ADVANCEAMOUNT"` // 总预付款
- SETTLEAMOUNT float64 `json:"settleamount" xorm:"SETTLEAMOUNT"` // 总结算费用 - 实际扣除资金,不含税费保证金
- }
- func (r *Fworderoperate) calc() {
- }
- func (r *Fworderoperate) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- to_char(t.ORDERID) ORDERID,
- t.GZBSSTATUS,
- t.OPERATORSRC,
- t.OPERATORID,
- t.OPERATORACCOUNT,
- t.OPERATORNAME,
- to_char(t.OPERATETIME, 'yyyy-mm-dd hh24:mi:ss') OPERATETIME,
- t.REMARK,
- t.TAXMARGIN,
- t.BANKFEE,
- t.LOGISTICSFEE,
- t.SERVICEFEE,
- t.OTHERFEE,
- t.TOTALFEE,
- t.LOGISTICSPROOFADDR,
- t.BANKPROOFADDR,
- t.CUSTOMSPROOFADDR,
- t.ADVANCEPROOFADDR,
- c.ADVANCEAMOUNT,
- c.SETTLEAMOUNT
- FROM GZ_BSFWORDEROPERATE t
- LEFT JOIN GZ_BSFWOrder c ON c.orderid = t.orderid
- WHERE t.GZBSSTATUS = %v AND t.orderid = %v
- `
- sqlId.FormatParam(r.GZBSSTATUS, r.ORDERID)
- return sqlId.String()
- }
- // GetDataEx 从数据库中查询数据
- func (r *Fworderoperate) GetDataEx() (interface{}, error) {
- e := db.GetEngine()
- s := e.SQL(r.buildSql())
- sData := make([]Fworderoperate, 0)
- if err := s.Find(&sData); err != nil {
- return nil, err
- }
- for i := range sData {
- sData[i].calc()
- }
- return sData, nil
- }
- // GGzbscinoutorder 保税仓出入库申请表
- type GGzbscinoutorder struct {
- ORDERID string `json:"orderid" xorm:"ORDERID"` // 申请ID(806+Unix秒时间戳(10位)+xxxxxx)
- ORDERTYPE int32 `json:"ordertype" xorm:"ORDERTYPE" form:"ordertype" binding:"required"` // 单据类型 - 1:进仓 2:出仓(枚举:GZBSCOrderType)
- USERID int64 `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 申请用户ID
- USERNAME string `json:"username" xorm:"USERNAME"` // 申请方名称
- USERADDRESS string `json:"useraddress" xorm:"USERADDRESS"` // 申请方地点
- CONTACTNAME string `json:"contactname" xorm:"CONTACTNAME"` // 申请方联系人
- CONTACTNUM string `json:"contactnum" xorm:"CONTACTNUM"` // 申请方联系电话
- LOGISTICSCOMPANY string `json:"logisticscompany" xorm:"LOGISTICSCOMPANY"` // 物流公司名称
- LOGISTICSNO string `json:"logisticsno" xorm:"LOGISTICSNO"` // 托运单号
- APPLICANTTIME string `json:"applicanttime" xorm:"APPLICANTTIME"` // 申请时间
- OUTTYPE int32 `json:"outtype" xorm:"OUTTYPE"` // 出仓类型 - 1:转厂 2:出境(枚举:GZBSCOutType)
- ORDERSTATUS int32 `json:"orderstatus" xorm:"ORDERSTATUS"` // 进出仓状态 - 1.待确认 2.待上传 3.报关中 4.进仓中 5.出仓中 20.已关闭 21.确认拒绝(枚举:GZBSCOrderStatus)
- JCKDATE string `json:"jckdate" xorm:"JCKDATE"` // 进出口日期
- CUSTOMSNO string `json:"customsno" xorm:"CUSTOMSNO"` // 报关单号
- CHECKLISTNO string `json:"checklistno" xorm:"CHECKLISTNO"` // 核注清单号
- SIGNEENAME string `json:"signeename" xorm:"SIGNEENAME"` // 收发货人
- SIGNEEDATE string `json:"signeedate" xorm:"SIGNEEDATE"` // 收发货人日期
- SEALNO string `json:"sealno" xorm:"SEALNO"` // 进出仓封条号
- CONFIRMERNAME string `json:"confirmername" xorm:"CONFIRMERNAME"` // 进出仓确认人
- CONFIRMDATE string `json:"confirmdate" xorm:"CONFIRMDATE"` // 进出仓确认时间
- CONFIRMTRADEDATE string `json:"confirmtradedate" xorm:"CONFIRMTRADEDATE"` // 进出仓确认交易日(yyyyMMdd)
- NETWEIGHTCT float64 `json:"netweightct" xorm:"NETWEIGHTCT"` // 净重(克拉)
- NETWEIGHTGM float64 `json:"netweightgm" xorm:"NETWEIGHTGM"` // 净重(克)
- BAGWEIGHTGM float64 `json:"bagweightgm" xorm:"BAGWEIGHTGM"` // 连袋重(克)
- TOTALPRICE float64 `json:"totalprice" xorm:"TOTALPRICE"` // 总价
- CUSTOMSTOTALVALUE float64 `json:"customstotalvalue" xorm:"CUSTOMSTOTALVALUE"` // 报关总值
- GOODSNAME string `json:"goodsname" xorm:"GOODSNAME"` // 商品名称 - 明细的商品名称拼接("/")
- ORDERNUM string `json:"ordernum" xorm:"ORDERNUM"` // 单据编号
- ListType int `json:"-" xorm:"-" form:"listtype"` // 列表类型 - 0.全部 1.待上传 2.进行中 3.已结束
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *GGzbscinoutorder) calc() {
- }
- func (r *GGzbscinoutorder) buildSql() string {
- var sqlId utils.SQLVal = `
- select
- to_char(t.ORDERID) ORDERID,
- t.ORDERTYPE,
- t.USERID,
- t.USERNAME,
- t.USERADDRESS,
- t.CONTACTNAME,
- t.CONTACTNUM,
- t.LOGISTICSCOMPANY,
- t.LOGISTICSNO,
- to_char(t.APPLICANTTIME, 'yyyy-mm-dd hh24:mi:ss') APPLICANTTIME,
- t.OUTTYPE,
- t.ORDERSTATUS,
- to_char(t.JCKDATE, 'yyyy-mm-dd') JCKDATE,
- t.CUSTOMSNO,
- t.CHECKLISTNO,
- t.SIGNEENAME,
- to_char(t.SIGNEEDATE, 'yyyy-mm-dd') SIGNEEDATE,
- t.SEALNO,
- t.CONFIRMERNAME,
- to_char(t.CONFIRMDATE, 'yyyy-mm-dd') CONFIRMDATE,
- t.CONFIRMTRADEDATE,
- t.NETWEIGHTCT,
- t.NETWEIGHTGM,
- t.BAGWEIGHTGM,
- t.TOTALPRICE,
- t.CUSTOMSTOTALVALUE,
- t.GOODSNAME,
- t.ORDERNUM
- from GZ_BSCInOutOrder t
- where t.userid = %v and t.ORDERTYPE = %v and %v
- `
- e := "1=1"
- if r.ListType != 0 {
- switch r.ListType {
- case 1:
- e = "t.ORDERSTATUS = 2"
- case 2:
- e = "t.ORDERSTATUS < 20"
- case 3:
- e = "t.ORDERSTATUS >= 20"
- }
- }
- sqlId.FormatParam(r.USERID, r.ORDERTYPE, e)
- sqlId.AndEx("t.OUTTYPE", r.OUTTYPE, r.OUTTYPE != 0)
- sqlId.OrderByDesc("t.APPLICANTTIME")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *GGzbscinoutorder) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]GGzbscinoutorder, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // BScinoutorderdetail 保税仓出入库申请明细表
- type BScinoutorderdetail struct {
- DETAILID string `json:"detailid" xorm:"DETAILID"` // 明细ID(807+Unix秒时间戳(10位)+xxxxxx)
- ORDERID string `json:"orderid" xorm:"ORDERID" form:"orderid" binding:"required"` // 申请ID
- GOODSID int64 `json:"goodsid" xorm:"GOODSID"` // 商品ID
- GOODSSPEC string `json:"goodsspec" xorm:"GOODSSPEC"` // 规格
- RAWDETAIL string `json:"rawdetail" xorm:"RAWDETAIL"` // 原料明细
- BACKAGENUM int32 `json:"backagenum" xorm:"BACKAGENUM"` // 件数
- NETWEIGHTCT float64 `json:"netweightct" xorm:"NETWEIGHTCT"` // 净重(克拉)
- NETWEIGHTGM float64 `json:"netweightgm" xorm:"NETWEIGHTGM"` // 净重(克)
- BAGWEIGHTGM float64 `json:"bagweightgm" xorm:"BAGWEIGHTGM"` // 连袋重(克)
- PREPRICEGM float64 `json:"prepricegm" xorm:"PREPRICEGM"` // 单价(克)
- TOTALPRICE float64 `json:"totalprice" xorm:"TOTALPRICE"` // 总价
- CURRENCYDES string `json:"currencydes" xorm:"CURRENCYDES"` // 币种
- CUSTOMSVALUE float64 `json:"customsvalue" xorm:"CUSTOMSVALUE"` // 报关总值
- ORIGINCOUNTRY string `json:"origincountry" xorm:"ORIGINCOUNTRY"` // 原产国
- REMARK string `json:"remark" xorm:"REMARK"` // 备注
- USERID int64 `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 用户ID
- CUSTOMSNO string `json:"customsno" xorm:"CUSTOMSNO"` // 报关单号(进仓:录入时更新,出仓申请时有)
- GOODSNUM string `json:"goodsnum" xorm:"GOODSNUM"` // 商品编号
- GOODSNAME string `json:"goodsname" xorm:"GOODSNAME"` // 商品名称
- COUNTRYNAME string `json:"countryname" xorm:"COUNTRYNAME"` // 产销国
- REPORTUNIT string `json:"reportunit" xorm:"REPORTUNIT"` // 申报计量单位
- LEGALUNIT string `json:"legalunit" xorm:"LEGALUNIT"` // 法定计量单位
- UNITPRICE float64 `json:"unitprice" xorm:"UNITPRICE"` // 单价
- CURRENCYNAME string `json:"currencyname" xorm:"CURRENCYNAME"` // 币制
- EXECUTIONFLAG string `json:"executionflag" xorm:"EXECUTIONFLAG"` // 海关执行标志
- STORAGEPERIOD time.Time `json:"storageperiod" xorm:"STORAGEPERIOD"` // 存储(监管)期限
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *BScinoutorderdetail) calc() {
- }
- func (r *BScinoutorderdetail) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- to_char(t.DETAILID) DETAILID,
- to_char(t.ORDERID) ORDERID,
- t.GOODSID,
- t.GOODSSPEC,
- t.RAWDETAIL,
- t.BACKAGENUM,
- t.NETWEIGHTCT,
- t.NETWEIGHTGM,
- t.BAGWEIGHTGM,
- t.PREPRICEGM,
- t.TOTALPRICE,
- t.CURRENCYDES,
- t.CUSTOMSVALUE,
- t.ORIGINCOUNTRY,
- t.REMARK,
- t.USERID,
- t.CUSTOMSNO,
- a.GOODSNUM,
- a.GOODSNAME,
- a.COUNTRYNAME,
- a.REPORTUNIT,
- a.LEGALUNIT,
- a.UNITPRICE,
- a.CURRENCYNAME,
- a.EXECUTIONFLAG,
- a.STORAGEPERIOD
- FROM GZ_BSCInOutOrderDetail t
- LEFT JOIN GZ_BSCGoods a ON a.goodsid = t.goodsid
- WHERE t.USERID = %v AND t.ORDERID = %v
- ORDER BY a.GOODSNAME
- `
- sqlId.FormatParam(r.USERID, r.ORDERID)
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *BScinoutorderdetail) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]BScinoutorderdetail, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // BScoutorderdetailatt 保税仓出库申请明细附表
- type BScoutorderdetailatt struct {
- DETAILATTID string `json:"detailattid" xorm:"DETAILATTID"` // 明细ID(810+Unix秒时间戳(10位)+xxxxxx)
- ORDERID string `json:"orderid" xorm:"ORDERID" form:"orderid" binding:"required"` // 申请ID
- GOODSID int64 `json:"goodsid" xorm:"GOODSID"` // 商品ID
- CUSTOMSNO string `json:"customsno" xorm:"CUSTOMSNO"` // 报关单号
- JCKDATE string `json:"jckdate" xorm:"JCKDATE"` // 进口日期
- NETWEIGHTCT float64 `json:"netweightct" xorm:"NETWEIGHTCT"` // 净重(克拉)
- CURNETWEIGHTCT float64 `json:"curnetweightct" xorm:"CURNETWEIGHTCT"` // 本次扣减量(克拉)
- REMAINNETWEIGHTCT float64 `json:"remainnetweightct" xorm:"REMAINNETWEIGHTCT"` // 结余净重(克拉)
- NETWEIGHTGM float64 `json:"netweightgm" xorm:"NETWEIGHTGM"` // 净重(克)
- CURNETWEIGHTGM float64 `json:"curnetweightgm" xorm:"CURNETWEIGHTGM"` // 本次扣减净重(克)
- REMAINCURNETWEIGHTGM float64 `json:"remaincurnetweightgm" xorm:"REMAINCURNETWEIGHTGM"` // 结余净重(克)
- TOTALPRICE float64 `json:"totalprice" xorm:"TOTALPRICE"` // 总价
- CURTOTALPRICE float64 `json:"curtotalprice" xorm:"CURTOTALPRICE"` // 本次扣减货值
- REMAINTOTALPRICE float64 `json:"remaintotalprice" xorm:"REMAINTOTALPRICE"` // 结余总价
- CUSTOMSVALUE float64 `json:"customsvalue" xorm:"CUSTOMSVALUE"` // 报关总值
- CURCUSTOMSVALUE float64 `json:"curcustomsvalue" xorm:"CURCUSTOMSVALUE"` // 本次扣减货值(报关总值)
- REMAINCUSTOMSVALUE float64 `json:"remaincustomsvalue" xorm:"REMAINCUSTOMSVALUE"` // 结余报关总值
- USERID int64 `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 用户ID
- GOODSNUM string `json:"goodsnum" xorm:"GOODSNUM"` // 商品编号
- GOODSNAME string `json:"goodsname" xorm:"GOODSNAME"` // 商品名称
- GOODSSPEC string `json:"goodsspec" xorm:"GOODSSPEC"` // 规格型号
- COUNTRYNAME string `json:"countryname" xorm:"COUNTRYNAME"` // 产销国
- REPORTUNIT string `json:"reportunit" xorm:"REPORTUNIT"` // 申报计量单位
- LEGALUNIT string `json:"legalunit" xorm:"LEGALUNIT"` // 法定计量单位
- UNITPRICE float64 `json:"unitprice" xorm:"UNITPRICE"` // 单价
- CURRENCYNAME string `json:"currencyname" xorm:"CURRENCYNAME"` // 币制
- EXECUTIONFLAG string `json:"executionflag" xorm:"EXECUTIONFLAG"` // 海关执行标志
- STORAGEPERIOD time.Time `json:"storageperiod" xorm:"STORAGEPERIOD"` // 存储(监管)期限
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *BScoutorderdetailatt) calc() {
- }
- func (r *BScoutorderdetailatt) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- to_char(t.DETAILATTID) DETAILATTID,
- to_char(t.ORDERID) ORDERID,
- t.GOODSID,
- t.CUSTOMSNO,
- to_char(t.JCKDATE, 'yyyy-mm-dd') JCKDATE,
- t.NETWEIGHTCT,
- t.CURNETWEIGHTCT,
- t.REMAINNETWEIGHTCT,
- t.NETWEIGHTGM,
- t.CURNETWEIGHTGM,
- t.REMAINCURNETWEIGHTGM,
- t.TOTALPRICE,
- t.CURTOTALPRICE,
- t.REMAINTOTALPRICE,
- t.CUSTOMSVALUE,
- t.CURCUSTOMSVALUE,
- t.REMAINCUSTOMSVALUE,
- t.USERID,
- a.GOODSNUM,
- a.GOODSNAME,
- a.COUNTRYNAME,
- a.REPORTUNIT,
- a.LEGALUNIT,
- a.UNITPRICE,
- a.CURRENCYNAME,
- a.EXECUTIONFLAG,
- a.STORAGEPERIOD,
- a.GOODSSPEC
- FROM GZ_BSCOUTORDERDETAILATT t
- LEFT JOIN GZ_BSCGoods a ON a.goodsid = t.goodsid
- WHERE t.USERID = %v AND t.ORDERID = %v
- ORDER BY a.GOODSNAME, t.JCKDATE
- `
- sqlId.FormatParam(r.USERID, r.ORDERID)
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *BScoutorderdetailatt) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]BScoutorderdetailatt, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // GGzbscposition 保税商品报关头寸表
- type GGzbscposition struct {
- USERID int64 `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 用户ID
- CUSTOMSNO string `json:"customsno" xorm:"CUSTOMSNO"` // 报关单号
- GOODSID string `json:"goodsid" xorm:"GOODSID"` // 商品ID
- JCKDATE string `json:"jckdate" xorm:"JCKDATE"` // 进口日期
- ORINETWEIGHTCT float64 `json:"orinetweightct" xorm:"ORINETWEIGHTCT"` // 期初净重(克拉)
- ORINETWEIGHTGM float64 `json:"orinetweightgm" xorm:"ORINETWEIGHTGM"` // 期初净重(克)
- ORITOTALPRICE float64 `json:"oritotalprice" xorm:"ORITOTALPRICE"` // 期初总价
- ORICUSTOMSVALUE float64 `json:"oricustomsvalue" xorm:"ORICUSTOMSVALUE"` // 期初报关总值
- ORIFREEZEWEIGHT float64 `json:"orifreezeweight" xorm:"ORIFREEZEWEIGHT"` // 期初冻结净重(克拉)
- NETWEIGHTCT float64 `json:"netweightct" xorm:"NETWEIGHTCT"` // 净重(克拉)
- NETWEIGHTGM float64 `json:"netweightgm" xorm:"NETWEIGHTGM"` // 净重(克)
- TOTALPRICE float64 `json:"totalprice" xorm:"TOTALPRICE"` // 总价
- CUSTOMSVALUE float64 `json:"customsvalue" xorm:"CUSTOMSVALUE"` // 报关总值
- FREEZENETWEIGHTCT float64 `json:"freezenetweightct" xorm:"FREEZENETWEIGHTCT"` // 冻结净重(克拉)
- GOODSNUM string `json:"goodsnum" xorm:"GOODSNUM"` // 商品编号
- GOODSNAME string `json:"goodsname" xorm:"GOODSNAME"` // 商品名称
- GOODSSPEC string `json:"goodsspec" xorm:"GOODSSPEC"` // 规格型号
- COUNTRYNAME string `json:"countryname" xorm:"COUNTRYNAME"` // 产销国
- REPORTUNIT string `json:"reportunit" xorm:"REPORTUNIT"` // 申报计量单位
- LEGALUNIT string `json:"legalunit" xorm:"LEGALUNIT"` // 法定计量单位
- UNITPRICE float64 `json:"unitprice" xorm:"UNITPRICE"` // 单价
- CURRENCYNAME string `json:"currencyname" xorm:"CURRENCYNAME"` // 币制
- EXECUTIONFLAG string `json:"executionflag" xorm:"EXECUTIONFLAG"` // 海关执行标志
- STORAGEPERIOD time.Time `json:"storageperiod" xorm:"STORAGEPERIOD"` // 存储(监管)期限
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *GGzbscposition) calc() {
- }
- func (r *GGzbscposition) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- t.USERID,
- t.CUSTOMSNO,
- t.GOODSID,
- to_char(t.JCKDATE, 'yyyy-mm-dd') JCKDATE,
- t.ORINETWEIGHTCT,
- t.ORINETWEIGHTGM,
- t.ORITOTALPRICE,
- t.ORICUSTOMSVALUE,
- t.ORIFREEZEWEIGHT,
- t.NETWEIGHTCT,
- t.NETWEIGHTGM,
- t.TOTALPRICE,
- t.CUSTOMSVALUE,
- t.FREEZENETWEIGHTCT,
- a.GOODSNUM,
- a.GOODSNAME,
- a.COUNTRYNAME,
- a.REPORTUNIT,
- a.LEGALUNIT,
- a.UNITPRICE,
- a.CURRENCYNAME,
- a.EXECUTIONFLAG,
- a.STORAGEPERIOD,
- a.GOODSSPEC
- FROM GZ_BSCPosition t
- LEFT JOIN GZ_BSCGoods a ON a.goodsid = t.goodsid
- WHERE t.USERID = %v
- ORDER BY a.GOODSNAME
- `
- sqlId.FormatParam(r.USERID)
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *GGzbscposition) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]GGzbscposition, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // GGzbscusermonthpay 保税仓用户月付款通知书表
- type GGzbscusermonthpay struct {
- USERID int64 `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 用户ID
- TRADEMONTH string `json:"trademonth" xorm:"TRADEMONTH"` // 月份(yyyMM)
- SERVICEFEE float64 `json:"servicefee" xorm:"SERVICEFEE"` // 分拣室服务费
- ACCOUNTID int64 `json:"accountid" xorm:"ACCOUNTID"` // 资金账户ID
- STORAGEFEE float64 `json:"storagefee" xorm:"STORAGEFEE"` // 仓储费
- PREMIUM float64 `json:"premium" xorm:"PREMIUM"` // 保险费
- POWERFEE float64 `json:"powerfee" xorm:"POWERFEE"` // 分拣室电费
- INFEE float64 `json:"infee" xorm:"INFEE"` // 进仓报关费
- OUTFEE float64 `json:"outfee" xorm:"OUTFEE"` // 出仓报关费
- TOTALFEE float64 `json:"totalfee" xorm:"TOTALFEE"` // 合计费用
- INNUM float64 `json:"innum" xorm:"INNUM"` // 进仓报关单数
- OUTNUM float64 `json:"outnum" xorm:"OUTNUM"` // 出仓报关单数
- PAYMODE int32 `json:"paymode" xorm:"PAYMODE"` // 支付方式 - 1:线上 2:线下(枚举:GZBSCPayMode)
- PAYSTATUS int32 `json:"paystatus" xorm:"PAYSTATUS" form:"paystatus"` // 支付状态 - 1:待确认 2:待支付 3:已支付(枚举:GZBSCPayStatus)
- STARTDATE time.Time `json:"startdate" xorm:"STARTDATE"` // 协议起始日
- RENTDAYS int32 `json:"rentdays" xorm:"RENTDAYS"` // 月租天数
- CONFIRMTIME time.Time `json:"confirmtime" xorm:"CONFIRMTIME"` // 确认时间
- PAYTIME string `json:"paytime" xorm:"PAYTIME"` // 支付时间
- HANDLESTATUS int32 `json:"handlestatus" xorm:"HANDLESTATUS"` // 处理状态
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *GGzbscusermonthpay) calc() {
- }
- func (r *GGzbscusermonthpay) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- t.USERID,
- t.TRADEMONTH,
- t.SERVICEFEE,
- t.ACCOUNTID,
- t.STORAGEFEE,
- t.PREMIUM,
- t.POWERFEE,
- t.INFEE,
- t.OUTFEE,
- t.TOTALFEE,
- t.INNUM,
- t.OUTNUM,
- t.PAYMODE,
- t.PAYSTATUS,
- t.STARTDATE,
- t.RENTDAYS,
- t.CONFIRMTIME,
- to_char(t.PAYTIME, 'yyyy-mm-dd hh24:mi:ss') PAYTIME,
- t.HANDLESTATUS
- FROM GZ_BSCUserMonthPay t
- WHERE t.userid = %v
- `
- sqlId.FormatParam(r.USERID)
- sqlId.AndEx("t.PAYSTATUS", r.PAYSTATUS, r.PAYSTATUS != 0)
- sqlId.OrderByDesc("t.TradeMonth")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *GGzbscusermonthpay) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]GGzbscusermonthpay, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // GGzbscuserpowerfee 保税仓月电费登记表
- type GGzbscuserpowerfee struct {
- POWERFEEID string `json:"powerfeeid" xorm:"POWERFEEID"` // 电费单ID(809+Unix秒时间戳(10位)+xxxxxx)
- USERID int64 `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 用户ID
- TRADEMONTH string `json:"trademonth" xorm:"TRADEMONTH" form:"trademonth" binding:"required"` // 月份(yyyMM)
- INSTRUMENTNO float64 `json:"instrumentno" xorm:"INSTRUMENTNO"` // 仪表编号
- USERNAME float64 `json:"username" xorm:"USERNAME"` // 使用单位
- STARTPOWER float64 `json:"startpower" xorm:"STARTPOWER"` // 月初读数
- ENDPOWER float64 `json:"endpower" xorm:"ENDPOWER"` // 月末初数
- POWERNUM float64 `json:"powernum" xorm:"POWERNUM"` // 本月用量
- POWERUNIT float64 `json:"powerunit" xorm:"POWERUNIT"` // 单位
- POWERFEE float64 `json:"powerfee" xorm:"POWERFEE"` // 电费(元)
- CREATETIME time.Time `json:"createtime" xorm:"CREATETIME"` // 创建时间
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *GGzbscuserpowerfee) calc() {
- }
- func (r *GGzbscuserpowerfee) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- to_char(t.POWERFEEID) POWERFEEID,
- t.USERID,
- t.TRADEMONTH,
- t.INSTRUMENTNO,
- t.USERNAME,
- t.STARTPOWER,
- t.ENDPOWER,
- t.POWERNUM,
- t.POWERUNIT,
- t.POWERFEE,
- t.CREATETIME
- FROM GZ_BSCUserPowerFee t
- WHERE 1=1
- `
- // WHERE t.userid = %v AND t.TRADEMONTH = %v
- // ORDER BY t.INSTRUMENTNO DESC
- // sqlId.FormatParam(r.USERID)
- sqlId.And("t.userid", r.USERID)
- sqlId.And("t.TRADEMONTH", r.TRADEMONTH)
- sqlId.OrderByDesc("t.INSTRUMENTNO")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *GGzbscuserpowerfee) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]GGzbscuserpowerfee, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- // Bscinoutorder 本月进口明细/本月出境明细/本月转厂明细
- type Bscinoutorder struct {
- ORDERID string `json:"orderid" xorm:"ORDERID" form:"orderid"` // 申请ID(806+Unix秒时间戳(10位)+xxxxxx)
- ORDERTYPE int32 `json:"ordertype" xorm:"ORDERTYPE"` // 单据类型 - 1:进仓 2:出仓(枚举:GZBSCOrderType)
- USERID int64 `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 申请用户ID
- USERNAME string `json:"username" xorm:"USERNAME"` // 申请方名称
- USERADDRESS string `json:"useraddress" xorm:"USERADDRESS"` // 申请方地点
- CONTACTNAME string `json:"contactname" xorm:"CONTACTNAME"` // 申请方联系人
- CONTACTNUM string `json:"contactnum" xorm:"CONTACTNUM"` // 申请方联系电话
- LOGISTICSCOMPANY string `json:"logisticscompany" xorm:"LOGISTICSCOMPANY"` // 物流公司名称
- LOGISTICSNO string `json:"logisticsno" xorm:"LOGISTICSNO"` // 托运单号
- APPLICANTTIME time.Time `json:"applicanttime" xorm:"APPLICANTTIME"` // 申请时间
- OUTTYPE int32 `json:"outtype" xorm:"OUTTYPE"` // 出仓类型 - 1:转厂 2:出境(枚举:GZBSCOutType)
- ORDERSTATUS int32 `json:"orderstatus" xorm:"ORDERSTATUS"` // 进出仓状态 - 1.待确认 2.待上传 3.报关中 4.进仓中 5.出仓中 20.已关闭 21.确认拒绝(枚举:GZBSCOrderStatus)
- JCKDATE string `json:"jckdate" xorm:"JCKDATE" form:"jckdate" binding:"required"` // 进出口日期
- CUSTOMSNO string `json:"customsno" xorm:"CUSTOMSNO"` // 报关单号
- CHECKLISTNO string `json:"checklistno" xorm:"CHECKLISTNO"` // 核注清单号
- SIGNEENAME string `json:"signeename" xorm:"SIGNEENAME"` // 收发货人
- SIGNEEDATE time.Time `json:"signeedate" xorm:"SIGNEEDATE"` // 收发货人日期
- SEALNO string `json:"sealno" xorm:"SEALNO"` // 进出仓封条号
- CONFIRMERNAME string `json:"confirmername" xorm:"CONFIRMERNAME"` // 进出仓确认人
- CONFIRMDATE time.Time `json:"confirmdate" xorm:"CONFIRMDATE"` // 进出仓确认时间
- CONFIRMTRADEDATE string `json:"confirmtradedate" xorm:"CONFIRMTRADEDATE"` // 进出仓确认交易日(yyyyMMdd)
- NETWEIGHTCT float64 `json:"netweightct" xorm:"NETWEIGHTCT"` // 净重(克拉)
- NETWEIGHTGM float64 `json:"netweightgm" xorm:"NETWEIGHTGM"` // 净重(克)
- BAGWEIGHTGM float64 `json:"bagweightgm" xorm:"BAGWEIGHTGM"` // 连袋重(克)
- TOTALPRICE float64 `json:"totalprice" xorm:"TOTALPRICE"` // 总价
- CUSTOMSTOTALVALUE float64 `json:"customstotalvalue" xorm:"CUSTOMSTOTALVALUE"` // 报关总值
- GOODSNAME string `json:"goodsname" xorm:"GOODSNAME"` // 商品名称 - 明细的商品名称拼接("/")
- ORDERNUM string `json:"ordernum" xorm:"ORDERNUM"` // 单据编号
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *Bscinoutorder) calc() {
- }
- func (r *Bscinoutorder) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- to_char(t.ORDERID) ORDERID,
- t.ORDERTYPE,
- t.USERID,
- t.USERNAME,
- t.USERADDRESS,
- t.CONTACTNAME,
- t.CONTACTNUM,
- t.LOGISTICSCOMPANY,
- t.LOGISTICSNO,
- t.APPLICANTTIME,
- t.OUTTYPE,
- t.ORDERSTATUS,
- to_char(t.JCKDATE, 'yyyy-mm-dd') JCKDATE,
- t.CUSTOMSNO,
- t.CHECKLISTNO,
- t.SIGNEENAME,
- t.SIGNEEDATE,
- t.SEALNO,
- t.CONFIRMERNAME,
- t.CONFIRMDATE,
- t.CONFIRMTRADEDATE,
- t.NETWEIGHTCT,
- t.NETWEIGHTGM,
- t.BAGWEIGHTGM,
- t.TOTALPRICE,
- t.CUSTOMSTOTALVALUE,
- t.GOODSNAME,
- t.ORDERNUM
- FROM GZ_BSCINOUTORDER t
- WHERE t.userid = %v AND to_char(t.JCKDATE, 'yyyymm') = '%v'
- `
- sqlId.FormatParam(r.USERID, r.JCKDATE)
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *Bscinoutorder) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]Bscinoutorder, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- func (r *Gzbscgoods) GetAll() (rsp []Gzbscgoods, err error) {
- rsp = make([]Gzbscgoods, 0)
- err = db.GetEngine().Find(&rsp)
- return
- }
- func (r *Gzmemberinfo) GetAll() (rsp []Gzmemberinfo, err error) {
- rsp = make([]Gzmemberinfo, 0)
- err = db.GetEngine().OrderBy("ORDERINDEX").Find(&rsp)
- return
- }
- type GZPresell struct {
- PRESALEAPPLYID string `json:"presaleapplyid" xorm:"PRESALEAPPLYID"` // 预售申请ID(184+Unix秒时间戳(10位)+xxxxxx)
- SELLUSERID int64 `json:"selluserid" xorm:"SELLUSERID" form:"selluserid"` // 发行方用户ID
- SELLACCOUNTID int64 `json:"sellaccountid" xorm:"SELLACCOUNTID"` // 发行方资金账户ID
- DELIVERYGOODSID int32 `json:"deliverygoodsid" xorm:"DELIVERYGOODSID"` // 现货品种ID
- WAREHOUSEID int64 `json:"warehouseid" xorm:"WAREHOUSEID"` // 仓库ID
- WRSTANDARDID int64 `json:"wrstandardid" xorm:"WRSTANDARDID"` // 现货商品ID
- WRFACTORTYPEID int64 `json:"wrfactortypeid" xorm:"WRFACTORTYPEID"` // 仓单要素类型ID - 根据现货商品\仓库生成
- WRSTANDARDNAME string `json:"wrstandardname" xorm:"WRSTANDARDNAME" form:"wrstandardname"` // 现货商品名称
- UNITID int32 `json:"unitid" xorm:"UNITID"` // 单位ID
- UNITPRICE float64 `json:"unitprice" xorm:"UNITPRICE"` // 商品单价
- PRESALEQTY int64 `json:"presaleqty" xorm:"PRESALEQTY"` // 预售总量
- BASEQTY int64 `json:"baseqty" xorm:"BASEQTY"` // 中签基数
- MAXBUYQTY int64 `json:"maxbuyqty" xorm:"MAXBUYQTY"` // 单人最大申购量
- MAXLUCKYQTY int64 `json:"maxluckyqty" xorm:"MAXLUCKYQTY"` // 单人最大中签量 - 作废
- STARTDATE string `json:"startdate" xorm:"STARTDATE"` // 预售开始日期
- ENDDATE string `json:"enddate" xorm:"ENDDATE"` // 预售结束日期
- TAKESTARTDATE time.Time `json:"takestartdate" xorm:"TAKESTARTDATE"` // 提货开始日期
- THUMURLS string `json:"thumurls" xorm:"THUMURLS"` // 缩略图片(1:1)(逗号分隔)
- PICTUREURLS string `json:"pictureurls" xorm:"PICTUREURLS"` // 详情图片(逗号分隔)
- BANNERPICURL string `json:"bannerpicurl" xorm:"BANNERPICURL"` // Banner图(逗号分隔)
- PRESALESTATUS int32 `json:"presalestatus" xorm:"PRESALESTATUS" form:"presalestatus" binding:"required"` // 预售状态 - 1:未开始 2:进行中 3:已结束 4:已关闭 5:处理中 6::处理失败 7:已完成
- LOTTERYFLAG int32 `json:"lotteryflag" xorm:"LOTTERYFLAG"` // 摇号标识 - 0:未摇号 1:已摇号 2:摇号中 3:摇号失败
- LOTTERYQTY int64 `json:"lotteryqty" xorm:"LOTTERYQTY"` // 摇号总量
- LUCKYQTY int64 `json:"luckyqty" xorm:"LUCKYQTY"` // 已中签量\成交量
- PLACEQTY int64 `json:"placeqty" xorm:"PLACEQTY"` // 已配售量
- MARKETID int32 `json:"marketid" xorm:"MARKETID" form:"marketid" binding:"required"` // 市场ID
- SELLWRTRADEORDERID int64 `json:"sellwrtradeorderid" xorm:"SELLWRTRADEORDERID"` // 发行方卖委托单ID
- CREATETIME time.Time `json:"-" xorm:"CREATETIME"` // 创建时间
- TRADEDATE string `json:"tradedate" xorm:"TRADEDATE"` // 交易日
- LUCKYNUMS string `json:"luckynums" xorm:"LUCKYNUMS"` // 中签号码(按顺序逗号分隔)
- LASTPRICE float64 `json:"lastprice" xorm:"LASTPRICE"` // 实际价格(64)
- ENDHANDLETIME time.Time `json:"endhandletime" xorm:"ENDHANDLETIME"` // 到期处理时间
- YSZSCATEGORY int32 `json:"yszscategory" xorm:"YSZSCATEGORY"` // 钻石分类 - 枚举”YSZSCategory“ 1:成品裸钻 2:毛坯钻石
- ZSSHAPETYPESTR string `json:"zsshapetypestr" xorm:"ZSSHAPETYPESTR"` // 形状 [1:成品裸钻]
- ZSCOLORTYPESTR string `json:"zscolortypestr" xorm:"ZSCOLORTYPESTR"` // 颜色 [1:成品裸钻 \ 2:毛坯钻石]
- ZSCLARITYTYPESTR string `json:"zsclaritytypestr" xorm:"ZSCLARITYTYPESTR"` // 净度 [1:成品裸钻 \ 2:毛坯钻石]
- ZSCUTTYPESTR string `json:"zscuttypestr" xorm:"ZSCUTTYPESTR"` // 切工 [1:成品裸钻]
- ZSSYMMETRYTYPESTR string `json:"zssymmetrytypestr" xorm:"ZSSYMMETRYTYPESTR"` // 对称 [1:成品裸钻]
- ZSPOLISHTYPESTR string `json:"zspolishtypestr" xorm:"ZSPOLISHTYPESTR"` // 抛光 [1:成品裸钻]
- ZSFLUORESCENCETYPESTR string `json:"zsfluorescencetypestr" xorm:"ZSFLUORESCENCETYPESTR"` // 荧光 [1:成品裸钻]
- SIZESTR string `json:"sizestr" xorm:"SIZESTR"` // 尺寸 [1:成品裸钻 \ 2:毛坯钻石]
- YIELDRATE string `json:"yieldrate" xorm:"YIELDRATE"` // 成品率 [2:毛坯钻石]
- QTYDESC string `json:"qtydesc" xorm:"QTYDESC"` // 数量描述 [2:毛坯钻石]
- WEIGHTDESC string `json:"weightdesc" xorm:"WEIGHTDESC"` // 重量描述 [2:毛坯钻石]
- YSPRODUCTIONMODE int32 `json:"ysproductionmode" xorm:"YSPRODUCTIONMODE"` // 生产方式 - 枚举”YSProductionMode“ [2:毛坯钻石] 1:HPHT 2:CVD
- REMARK string `json:"remark" xorm:"REMARK"` // 备注
- Customername string `json:"customername" xorm:"'CUSTOMERNAME'" form:"customername"` // 企业名称(预售方)
- TRADEQTY int64 `json:"-" xorm:"TRADEQTY"` // 成交数量(预售数量)
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *GZPresell) calc() {
- }
- func (r *GZPresell) buildSql() string {
- var sqlId utils.SQLVal = `
- select
- ui.CUSTOMERNAME,
- ot.TRADEQTY,
- to_char(pi.PRESALEAPPLYID) PRESALEAPPLYID,
- pi.SELLUSERID,
- pi.SELLACCOUNTID,
- pi.DELIVERYGOODSID,
- pi.WAREHOUSEID,
- pi.WRSTANDARDID,
- pi.WRFACTORTYPEID,
- pi.WRSTANDARDNAME,
- pi.UNITID,
- pi.UNITPRICE,
- pi.PRESALEQTY,
- pi.BASEQTY,
- pi.MAXBUYQTY,
- pi.MAXLUCKYQTY,
- to_char(pi.STARTDATE,'yyyy-mm-dd') STARTDATE,
- to_char(pi.ENDDATE,'yyyy-mm-dd') ENDDATE,
- pi.TAKESTARTDATE,
- pi.THUMURLS,
- pi.PICTUREURLS,
- pi.BANNERPICURL,
- pi.PRESALESTATUS,
- pi.LOTTERYFLAG,
- pi.LOTTERYQTY,
- pi.LUCKYQTY,
- pi.PLACEQTY,
- pi.MARKETID,
- pi.SELLWRTRADEORDERID,
- pi.CREATETIME,
- pi.TRADEDATE,
- pi.LUCKYNUMS,
- pi.LASTPRICE,
- pi.ENDHANDLETIME,
- pi.BUYMARGINALGORITHM,
- pi.BUYMARGINVALUE,
- pi.SELLMARGINALGORITHM,
- pi.SELLMARGINVALUE,
- pi.PERFORMANCETEMPLATEID,
- pi.MINBUYQTY,
- pi.MINSUCCESSQTY,
- paex.YSZSCATEGORY,
- paex.ZSSHAPETYPESTR,
- paex.ZSCOLORTYPESTR,
- paex.ZSCLARITYTYPESTR,
- paex.ZSCUTTYPESTR,
- paex.ZSSYMMETRYTYPESTR,
- paex.ZSPOLISHTYPESTR,
- paex.ZSFLUORESCENCETYPESTR,
- paex.SIZESTR,
- paex.YIELDRATE,
- paex.QTYDESC,
- paex.WEIGHTDESC,
- paex.YSPRODUCTIONMODE,
- paex.REMARK
- from WR_PresaleInfo pi
- left join userinfo ui on pi.selluserid = ui.userid
- left join wrtrade_orderdetail ot on pi.sellwrtradeorderid = ot.wrtradeorderid
- left join GZ_WR_PresaleApplyEx paex on pi.presaleapplyid = paex.presaleapplyid
- where 1=1
- `
- sqlId.And("pi.PRESALESTATUS", r.PRESALESTATUS)
- sqlId.And("pi.MARKETID ", r.MARKETID)
- sqlId.AndLike("ui.CUSTOMERNAME", r.Customername)
- sqlId.AndLike("pi.wrstandardname", r.WRSTANDARDNAME)
- sqlId.AndEx("pi.selluserid", r.SELLUSERID, r.SELLUSERID != 0)
- sqlId.OrderBy("pi.createtime DESC, pi.wrstandardname")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *GZPresell) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]GZPresell, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- type GZMyPresell struct {
- ORDERQTY int64 `json:"orderqty" xorm:"ORDERQTY"` // 委托数量
- TRADEPRICE float64 `json:"tradeprice" xorm:"TRADEPRICE"` // 成交价格 - [摘牌] (浮动价 ((商品1价格*商品1价格系数+升贴水)* 商品1重量系数 + 商品2价格*商品2价格系数+商品2升贴水)* 商品2重量系数 ...)* 委托单价格系数 + 委托单升贴水)
- FREEZEMARGIN float64 `json:"freezemargin" xorm:"FREEZEMARGIN"` // 冻结保证金
- ORDERTIME string `json:"ordertime" xorm:"ORDERTIME"` // 委托时间(认购时间)
- Customername string `json:"customername" xorm:"'CUSTOMERNAME'" form:"customername"` // 企业名称(认购方)
- PRESALEAPPLYID string `json:"-" xorm:"-" form:"presaleapplyid" binding:"required"` // 预售申请ID
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *GZMyPresell) calc() {
- }
- func (r *GZMyPresell) buildSql() string {
- var sqlId utils.SQLVal = `
- select
- ui.CUSTOMERNAME,
- od.ORDERQTY,
- od.TRADEPRICE,
- od.FREEZEMARGIN,
- to_char(od.ORDERTIME, 'yyyy-mm-dd hh24:mi:ss') ORDERTIME
- from WRTrade_OrderDetail od
- left join userinfo ui on od.userid = ui.userid
- where od.wrtradetype = 2 and od.buyorsell = 0 and od.wrtradeorderstatus = 3
- `
- sqlId.And("od.presaleapplyid", r.PRESALEAPPLYID)
- sqlId.OrderBy("od.wrtradeorderid desc")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *GZMyPresell) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]GZMyPresell, 0)
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
- type GZMyTradingPresell struct {
- PRESALEAPPLYID string `json:"presaleapplyid" xorm:"PRESALEAPPLYID"` // 预售申请ID(184+Unix秒时间戳(10位)+xxxxxx)
- YSZSCATEGORY int32 `json:"yszscategory" xorm:"YSZSCATEGORY"` // 钻石分类 - 枚举”YSZSCategory“ 1:成品裸钻 2:毛坯钻石
- ZSSHAPETYPESTR string `json:"zsshapetypestr" xorm:"ZSSHAPETYPESTR"` // 形状 [1:成品裸钻]
- ZSCOLORTYPESTR string `json:"zscolortypestr" xorm:"ZSCOLORTYPESTR"` // 颜色 [1:成品裸钻 \ 2:毛坯钻石]
- ZSCLARITYTYPESTR string `json:"zsclaritytypestr" xorm:"ZSCLARITYTYPESTR"` // 净度 [1:成品裸钻 \ 2:毛坯钻石]
- ZSCUTTYPESTR string `json:"zscuttypestr" xorm:"ZSCUTTYPESTR"` // 切工 [1:成品裸钻]
- ZSSYMMETRYTYPESTR string `json:"zssymmetrytypestr" xorm:"ZSSYMMETRYTYPESTR"` // 对称 [1:成品裸钻]
- ZSPOLISHTYPESTR string `json:"zspolishtypestr" xorm:"ZSPOLISHTYPESTR"` // 抛光 [1:成品裸钻]
- ZSFLUORESCENCETYPESTR string `json:"zsfluorescencetypestr" xorm:"ZSFLUORESCENCETYPESTR"` // 荧光 [1:成品裸钻]
- SIZESTR string `json:"sizestr" xorm:"SIZESTR"` // 尺寸 [1:成品裸钻 \ 2:毛坯钻石]
- YIELDRATE string `json:"yieldrate" xorm:"YIELDRATE"` // 成品率 [2:毛坯钻石]
- QTYDESC string `json:"qtydesc" xorm:"QTYDESC"` // 数量描述 [2:毛坯钻石]
- WEIGHTDESC string `json:"weightdesc" xorm:"WEIGHTDESC"` // 重量描述 [2:毛坯钻石]
- YSPRODUCTIONMODE int32 `json:"ysproductionmode" xorm:"YSPRODUCTIONMODE"` // 生产方式 - 枚举”YSProductionMode“ [2:毛坯钻石] 1:HPHT 2:CVD
- REMARK string `json:"remark" xorm:"REMARK"` // 备注
- Customername string `json:"customername" xorm:"'CUSTOMERNAME'" form:"customername"` // 企业名称(预售方)
- ORDERQTY int64 `json:"orderqty" xorm:"ORDERQTY"` // 委托数量
- TRADEPRICE float64 `json:"tradeprice" xorm:"TRADEPRICE"` // 成交价格 - [摘牌] (浮动价 ((商品1价格*商品1价格系数+升贴水)* 商品1重量系数 + 商品2价格*商品2价格系数+商品2升贴水)* 商品2重量系数 ...)* 委托单价格系数 + 委托单升贴水)
- Tradeamount float64 `json:"tradeamount" xorm:"TRADEAMOUNT"` // 货款
- MARGINALGORITHM int32 `json:"marginalgorithm" xorm:"MARGINALGORITHM"` // 保证金方式 - 1:比率 2:固定
- MARGINVALUE float64 `json:"marginvalue" xorm:"MARGINVALUE"` // 保证金设置值
- FREEZEMARGIN float64 `json:"freezemargin" xorm:"FREEZEMARGIN"` // 冻结保证金
- ORDERTIME string `json:"ordertime" xorm:"ORDERTIME"` // 委托时间(认购时间)
- WRTRADEORDERID int64 `json:"wrtradeorderid" xorm:"WRTRADEORDERID"` // 仓单贸易委托单ID(320+Unix秒时间戳(10位)+xxxxxx)
- PERFORMANCETEMPLATEID int64 `json:"performancetemplateid" xorm:"PERFORMANCETEMPLATEID"` // 履约计划模板ID
- PERFORMANCEPLANID int64 `json:"performanceplanid" xorm:"PERFORMANCEPLANID"` // 履约计划ID/合同ID
- STATUS int `json:"status" xorm:"STATUS" form:"status"` // 状态 1:预售中\集采中 2:执行中 3:已完成
- USERID int64 `json:"-" xorm:"-" form:"userid" binding:"required"` // 申请用户ID
- MARKETID int `json:"-" xorm:"-" form:"marketid" binding:"required"` // 市场ID
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *GZMyTradingPresell) calc() {
- }
- func (r *GZMyTradingPresell) buildSql() string {
- var sqlId utils.SQLVal = `
- select
- ui.CUSTOMERNAME,
- od.ORDERQTY,
- od.TRADEPRICE,
- (od.orderqty * od.tradeprice) TRADEAMOUNT,
- od.MARGINALGORITHM,
- od.MARGINVALUE,
- od.FREEZEMARGIN,
- to_char(od.ORDERTIME, 'yyyy-mm-dd hh24:mi:ss') ORDERTIME,
- od.WRTRADEORDERID,
- od.PERFORMANCETEMPLATEID,
- td.PERFORMANCEPLANID,
- pi.PRESALESTATUS,
- to_char(paex.PRESALEAPPLYID) PRESALEAPPLYID,
- paex.YSZSCATEGORY,
- paex.ZSSHAPETYPESTR,
- paex.ZSCOLORTYPESTR,
- paex.ZSCLARITYTYPESTR,
- paex.ZSCUTTYPESTR,
- paex.ZSSYMMETRYTYPESTR,
- paex.ZSPOLISHTYPESTR,
- paex.ZSFLUORESCENCETYPESTR,
- paex.SIZESTR,
- paex.YIELDRATE,
- paex.QTYDESC,
- paex.WEIGHTDESC,
- paex.YSPRODUCTIONMODE,
- paex.REMARK,
- %v STATUS
- from WRTrade_OrderDetail od
- left join WRTrade_TradeDetail td
- on od.wrtradeorderid = td.WRTradeOrderID
- left join WR_PresaleInfo pi
- on od.presaleapplyid = pi.presaleapplyid
- left join userinfo ui
- on pi.selluserid = ui.userid
- left join GZ_WR_PresaleApplyEx paex
- on pi.presaleapplyid = paex.presaleapplyid
- where od.buyorsell = 0
- `
- sqlId.FormatParam(r.STATUS)
- sqlId.And("od.marketid", r.MARKETID)
- sqlId.And("pi.presalestatus", r.STATUS)
- sqlId.And("od.userid", r.USERID)
- sqlId.OrderByDesc("od.wrtradeorderid")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *GZMyTradingPresell) buildSql2() string {
- var sqlId utils.SQLVal = `
- select
- ui.CUSTOMERNAME,
- hod.ORDERQTY,
- hod.TRADEPRICE,
- htd.TRADEAMOUNT,
- hod.MARGINALGORITHM,
- hod.MARGINVALUE,
- hod.FREEZEMARGIN,
- to_char(htd.tradetime, 'yyyy-mm-dd hh24:mi:ss') ORDERTIME,
- hod.WRTRADEORDERID,
- hod.PERFORMANCETEMPLATEID,
- htd.PERFORMANCEPLANID,
- paex.PRESALEAPPLYID,
- paex.YSZSCATEGORY,
- paex.ZSSHAPETYPESTR,
- paex.ZSCOLORTYPESTR,
- paex.ZSCLARITYTYPESTR,
- paex.ZSCUTTYPESTR,
- paex.ZSSYMMETRYTYPESTR,
- paex.ZSPOLISHTYPESTR,
- paex.ZSFLUORESCENCETYPESTR,
- paex.SIZESTR,
- paex.YIELDRATE,
- paex.QTYDESC,
- paex.WEIGHTDESC,
- paex.YSPRODUCTIONMODE,
- paex.REMARK
- from his_wrtrade_tradedetail htd
- left join his_wrtrade_orderdetail hod
- on hod.isvaliddata = 1
- and htd.wrtradeorderid = hod.wrtradeorderid
- left join WR_PresaleInfo pi
- on hod.presaleapplyid = pi.presaleapplyid
- left join userinfo ui
- on pi.selluserid = ui.userid
- left join GZ_WR_PresaleApplyEx paex
- on pi.presaleapplyid = paex.presaleapplyid
- where htd.isvaliddata = 1
- and htd.HandleStatus = 4
- and htd.buyorsell = 0
- `
- sqlId.And("htd.marketid", r.MARKETID)
- sqlId.And("hod.userid", r.USERID)
- sqlId.OrderByDesc("hod.wrtradeorderid")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *GZMyTradingPresell) GetDataByPage() (interface{}, error, int, int, int) {
- sql := r.buildSql()
- if r.STATUS == 3 {
- sql = r.buildSql2()
- }
- sData := make([]GZMyTradingPresell, 0)
- err := db.GetEngine().SQL(sql).Find(&sData)
- total := 0
- for i := range sData {
- sData[i].calc()
- total = sData[i].Total
- }
- return sData, err, r.Page, r.PageSize, total
- }
|