| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948 |
- 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)
- 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、
- PageEx `xorm:"extends"` // 页码信息
- WRUSERID int64 `json:"wruserid" xorm:"WRUSERID" form:"wruserid" binding:"required"` // 登录用户ID
- MARKETFLAG int `json:"marketflag" form:"marketflag"` // 是否上架,1-已上架 2-未上架 3-履约中
- }
- 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
- }
- // 8:已成 时为 “履约中”,不能上架\下架
- if r.WRTRADEORDERSTATUS == 8 {
- r.MARKETFLAG = 3
- }
- }
- func (r *MyWRPosition) buildSql() string {
- var sqlId utils.SQLVal = `
- SELECT
- t.QTY,
- t.FREEZERQTY,
- od.WRTRADEORDERSTATUS,
- 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,8) and od.userid = %v
- WHERE t.qty > 0 AND t.userid = %v
- `
- sqlId.FormatParam(r.WRUSERID, 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"` // 钻石分类 - 枚举”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
- ZSCATEGORYS string `json:"zscategorys" ` // 钻石分类 - 枚举”ZSCategorys“ 逗号分隔
- 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
- `
- 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
- `
- 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 AND od.WRTradeOrderStatus in (3,7)
- LEFT JOIN WAREHOUSEINFO wh ON wh.AUTOID = t.WAREHOUSEID
- WHERE GOODSNO = '%v'
- `
- 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(req *MyPerformanc) {
- r.BuyOrSell = req.BuyOrSell
- }
- 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 ,
- nvl(wr.GOODSNO, wd.wrstandardname) 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
- left 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
- left join wrfactortype ft on td.wrfactortypeid = ft.wrfactortypeid
- left join View_GZ_WRStandard_Ex_Query wr on ft.wrstandardid = wr.wrstandardid
- left join wrstandard wd on wd.wrstandardid = ft.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 ,
- nvl(wr.GOODSNO, wd.wrstandardname) 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 HIS_PerformancePlan pp
- left join HIS_PerformanceStep ps on pp.curstepid = ps.performancestepid and ps.isvaliddata = 1
- inner join HIS_wrtrade_tradedetail td on pp.relatedorderid = td.wrtradedetailid and td.isvaliddata = 1
- 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
- left join wrfactortype ft on td.wrfactortypeid = ft.wrfactortypeid
- left join View_GZ_WRStandard_Ex_Query wr on ft.wrstandardid = wr.wrstandardid
- left join wrstandard wd on wd.wrstandardid = ft.wrstandardid
- where pp.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.histradedate >= '%v' AND pp.histradedate <='%v')", 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(r)
- 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 string `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 float64 `json:"presaleqty" xorm:"PRESALEQTY"` // 预售总量\预售数量
- BASEQTY float64 `json:"baseqty" xorm:"BASEQTY"` // 中签基数
- MAXBUYQTY float64 `json:"maxbuyqty" xorm:"MAXBUYQTY"` // 单人最大申购量
- MAXLUCKYQTY float64 `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"` // 预售状态 - 1:未开始 2:进行中 3:已结束 4:已关闭 5:处理中 6::处理失败 7:已完成
- LOTTERYFLAG int32 `json:"lotteryflag" xorm:"LOTTERYFLAG"` // 摇号标识 - 0:未摇号 1:已摇号 2:摇号中 3:摇号失败
- LOTTERYQTY float64 `json:"lotteryqty" xorm:"LOTTERYQTY"` // 摇号总量
- LUCKYQTY float64 `json:"luckyqty" xorm:"LUCKYQTY"` // 已中签量\成交量
- PLACEQTY float64 `json:"placeqty" xorm:"PLACEQTY"` // 已配售量
- MARKETID int32 `json:"marketid" xorm:"MARKETID" form:"marketid" binding:"required"` // 市场ID
- SELLWRTRADEORDERID string `json:"sellwrtradeorderid" xorm:"SELLWRTRADEORDERID"` // 发行方卖委托单ID
- CREATETIME string `json:"createtime" 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 float64 `json:"tradeqty" xorm:"TRADEQTY"` // 成交数量(已预售数量)
- SELLMARGINALGORITHM int64 `json:"sellmarginalgorithm" xorm:"SELLMARGINALGORITHM"` // 卖方保证金方式
- SELLMARGINVALUE float64 `json:"sellmarginvalue" xorm:"SELLMARGINVALUE"` // 卖方保证金值
- PERFORMANCETEMPLATEID int64 `json:"performancetemplateid" xorm:"PERFORMANCETEMPLATEID"` // 履约模板ID
- MINBUYQTY float64 `json:"minbuyqty" xorm:"MINBUYQTY"` // 最小采购单位
- MINSUCCESSQTY float64 `json:"minsuccessqty" xorm:"MINSUCCESSQTY"` // 最低成团量
- BUYMARGINALGORITHM int64 `json:"buymarginalgorithm" xorm:"BUYMARGINALGORITHM"` // 采购保证金方式
- BUYMARGINVALUE float64 `json:"buymarginvalue" xorm:"BUYMARGINVALUE"` // 采购保证金值
- PageEx `xorm:"extends"` // 页码信息
- PRESALESTATUSES string `json:"presalestatuses" xorm:"PRESALESTATUSES" form:"presalestatuses"` // 预售状态 - 1:未开始 2:进行中 3:已结束 4:已关闭 5:处理中 6::处理失败 7:已完成; 逗号分隔
- }
- func (r *GZPresell) calc() {
- if r.PRESALEQTY != 0 {
- a := SFLOAT64(float64(r.PRESALEQTY) / 100)
- a.Round(2)
- r.PRESALEQTY = a.Float64()
- }
- if r.TRADEQTY != 0 {
- a := SFLOAT64(float64(r.TRADEQTY) / 100)
- a.Round(2)
- r.TRADEQTY = a.Float64()
- }
- if r.BASEQTY != 0 {
- a := SFLOAT64(float64(r.BASEQTY) / 100)
- a.Round(2)
- r.BASEQTY = a.Float64()
- }
- if r.MAXBUYQTY != 0 {
- a := SFLOAT64(float64(r.MAXBUYQTY) / 100)
- a.Round(2)
- r.MAXBUYQTY = a.Float64()
- }
- if r.LOTTERYQTY != 0 {
- a := SFLOAT64(float64(r.LOTTERYQTY) / 100)
- a.Round(2)
- r.LOTTERYQTY = a.Float64()
- }
- if r.LUCKYQTY != 0 {
- a := SFLOAT64(float64(r.LUCKYQTY) / 100)
- a.Round(2)
- r.LUCKYQTY = a.Float64()
- }
- if r.PLACEQTY != 0 {
- a := SFLOAT64(float64(r.PLACEQTY) / 100)
- a.Round(2)
- r.PLACEQTY = a.Float64()
- }
- if r.MINBUYQTY != 0 {
- a := SFLOAT64(float64(r.MINBUYQTY) / 100)
- a.Round(2)
- r.MINBUYQTY = a.Float64()
- }
- if r.MINSUCCESSQTY != 0 {
- a := SFLOAT64(float64(r.MINSUCCESSQTY) / 100)
- a.Round(2)
- r.MINSUCCESSQTY = a.Float64()
- }
- }
- func (r *GZPresell) buildSql() string {
- var sqlId utils.SQLVal = `
- select
- ui.CUSTOMERNAME,
- nvl(ot.TRADEQTY, pi.luckyqty) TRADEQTY,
- to_char(pi.PRESALEAPPLYID) PRESALEAPPLYID,
- pi.SELLUSERID,
- pi.SELLACCOUNTID,
- pi.DELIVERYGOODSID,
- pi.WAREHOUSEID,
- pi.WRSTANDARDID,
- to_char(pi.WRFACTORTYPEID) 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,
- to_char(pi.SELLWRTRADEORDERID) SELLWRTRADEORDERID,
- to_char(pi.CREATETIME,'yyyy-mm-dd hh24:mi:ss') 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.AndEx("pi.PRESALESTATUS", r.PRESALESTATUS, r.PRESALESTATUS > 0)
- sqlId.JoinEx(r.PRESALESTATUSES != "", fmt.Sprintf(" and pi.PRESALESTATUS in(%s)", r.PRESALESTATUSES))
- 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 float64 `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() {
- if r.ORDERQTY != 0 {
- a := SFLOAT64(float64(r.ORDERQTY) / 100)
- a.Round(2)
- r.ORDERQTY = a.Float64()
- }
- }
- 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
- (select o.ORDERQTY,
- o.TRADEPRICE,
- o.FREEZEMARGIN, o.ORDERTIME, o.wrtradeorderid, o.userid from WRTrade_OrderDetail o
- where o.wrtradetype = 2 and o.buyorsell = 0 and o.wrtradeorderstatus in(3,8)
- and o.presaleapplyid = %v
- union
- select ho.ORDERQTY,
- ho.TRADEPRICE,
- ho.FREEZEMARGIN, ho.ORDERTIME, ho.wrtradeorderid, ho.userid from his_WRTrade_OrderDetail ho
- where ho.wrtradetype = 2 and ho.buyorsell = 0 and ho.wrtradeorderstatus in(3,8) and ho.isvaliddata=1
- and ho.presaleapplyid = %v) od
- left join userinfo ui on od.userid = ui.userid
- `
- sqlId.FormatParam(r.PRESALEAPPLYID, r.PRESALEAPPLYID)
- // 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 float64 `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
- WRSTANDARDNAME string `json:"wrstandardname" xorm:"WRSTANDARDNAME" form:"wrstandardname"` // 商品
- THUMURLS string `json:"thumurls" xorm:"THUMURLS"` // 缩略图片(1:1)(逗号分隔)
- PICTUREURLS string `json:"pictureurls" xorm:"PICTUREURLS"` // 详情图片(逗号分隔)
- BANNERPICURL string `json:"bannerpicurl" xorm:"BANNERPICURL"` // Banner图(逗号分隔)
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *GZMyTradingPresell) calc() {
- if r.ORDERQTY != 0 {
- a := SFLOAT64(float64(r.ORDERQTY) / 100)
- a.Round(2)
- r.ORDERQTY = a.Float64()
- }
- }
- func (r *GZMyTradingPresell) buildSql() string {
- var sqlId utils.SQLVal = `
- select
- ui.CUSTOMERNAME,
- pi.WRSTANDARDNAME,
- od.ORDERQTY,
- od.TRADEPRICE,
- od.ORDERAMOUNT 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.THUMURLS,
- pi.PICTUREURLS,
- pi.BANNERPICURL,
- 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)
- //1-预售中: 状态 = 2-进行中 2-执行中: 状态 = 3-已结束
- sqlId.And("pi.presalestatus", r.STATUS+1)
- sqlId.And("od.userid", r.USERID)
- sqlId.AndLike("ui.customername", r.CUSTOMERNAME)
- sqlId.AndLike("pi.wrstandardname", r.WRSTANDARDNAME)
- 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,
- pi.WRSTANDARDNAME,
- 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.AndLike("ui.customername", r.CUSTOMERNAME)
- sqlId.AndLike("pi.wrstandardname", r.WRSTANDARDNAME)
- 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
- }
- // Wrpresaleapply 仓单预售申请表
- type Wrpresaleapply struct {
- PRESALEAPPLYID string `json:"presaleapplyid" xorm:"PRESALEAPPLYID"` // 预售申请ID(184+Unix秒时间戳(10位)+xxxxxx)
- SELLUSERID int64 `json:"selluserid" xorm:"SELLUSERID" form:"userid" binding:"required"` // 发行方用户ID
- SELLACCOUNTID int64 `json:"sellaccountid" xorm:"SELLACCOUNTID"` // 发行方资金账户ID
- DELIVERYGOODSID int32 `json:"deliverygoodsid" xorm:"DELIVERYGOODSID"` // 现货品种ID
- WRSTANDARDNAME string `json:"wrstandardname" xorm:"WRSTANDARDNAME"` // 现货商品名称
- UNITID int32 `json:"unitid" xorm:"UNITID"` // 单位ID
- WAREHOUSEID int64 `json:"warehouseid" xorm:"WAREHOUSEID"` // 仓库ID
- UNITPRICE float64 `json:"unitprice" xorm:"UNITPRICE"` // 商品单价
- PRESALEQTY float64 `json:"presaleqty" xorm:"PRESALEQTY"` // 预售总量
- BASEQTY float64 `json:"baseqty" xorm:"BASEQTY"` // 中签基数
- MAXBUYQTY float64 `json:"maxbuyqty" xorm:"MAXBUYQTY"` // 单人最大申购量
- MAXLUCKYQTY float64 `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图(逗号分隔)
- MARKETID int32 `json:"marketid" xorm:"MARKETID" form:"marketid" binding:"required"` // 市场ID
- APPLYREMARK string `json:"applyremark" xorm:"APPLYREMARK"` // 备注
- CLIENTTICKET string `json:"clientticket" xorm:"CLIENTTICKET"` // 客户端流水号
- APPLYSRC int32 `json:"applysrc" xorm:"APPLYSRC"` // 申请来源 - 1:管理端 2:终端
- APPLYID int64 `json:"applyid" xorm:"APPLYID"` // 申请人
- APPLYTIME string `json:"applytime" xorm:"APPLYTIME"` // 申请时间
- APPLYSTATUS int32 `json:"applystatus" xorm:"APPLYSTATUS"` // 申请状态(inoutapplystatus) - 1:待审核 2:审核通过 3:审核拒绝 4:处理失败 5:已撤回
- AUDITTRADEDATE string `json:"audittradedate" xorm:"AUDITTRADEDATE"` // 审核交易日(yyyyMMdd)
- AUDITID int64 `json:"auditid" xorm:"AUDITID"` // 审核人
- AUDITSRC int32 `json:"auditsrc" xorm:"AUDITSRC"` // 审核来源 - 1:管理端 2:终端
- AUDITTIME time.Time `json:"audittime" xorm:"AUDITTIME"` // 审核时间
- AUDITREMARK string `json:"auditremark" xorm:"AUDITREMARK"` // 审核备注
- HANDLESTATUS int32 `json:"handlestatus" xorm:"HANDLESTATUS"` // 处理状态
- WRSTANDARDID int64 `json:"wrstandardid" xorm:"WRSTANDARDID"` // 现货商品ID
- WRFACTORTYPEID int64 `json:"wrfactortypeid" xorm:"WRFACTORTYPEID"` // 仓单要素类型ID - 根据现货商品\仓库生成
- BUYMARGINALGORITHM int32 `json:"buymarginalgorithm" xorm:"BUYMARGINALGORITHM"` // 买方保证金方式 - 1:比率 2:固定
- BUYMARGINVALUE float64 `json:"buymarginvalue" xorm:"BUYMARGINVALUE"` // 买方保证金设置值
- PERFORMANCETEMPLATEID int64 `json:"performancetemplateid" xorm:"PERFORMANCETEMPLATEID"` // 履约计划模板ID(方式为1时填-1, 为2时选择模板)
- MINBUYQTY float64 `json:"minbuyqty" xorm:"MINBUYQTY"` // 单人最小申购量
- MINSUCCESSQTY float64 `json:"minsuccessqty" xorm:"MINSUCCESSQTY"` // 最低成团量
- 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"` // 备注
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *Wrpresaleapply) calc() {
- if r.PRESALEQTY != 0 {
- a := SFLOAT64(float64(r.PRESALEQTY) / 100)
- a.Round(2)
- r.PRESALEQTY = a.Float64()
- }
- if r.BASEQTY != 0 {
- a := SFLOAT64(float64(r.BASEQTY) / 100)
- a.Round(2)
- r.BASEQTY = a.Float64()
- }
- if r.MAXBUYQTY != 0 {
- a := SFLOAT64(float64(r.MAXBUYQTY) / 100)
- a.Round(2)
- r.MAXBUYQTY = a.Float64()
- }
- if r.MAXLUCKYQTY != 0 {
- a := SFLOAT64(float64(r.MAXLUCKYQTY) / 100)
- a.Round(2)
- r.MAXLUCKYQTY = a.Float64()
- }
- if r.MINBUYQTY != 0 {
- a := SFLOAT64(float64(r.MINBUYQTY) / 100)
- a.Round(2)
- r.MINBUYQTY = a.Float64()
- }
- if r.MINSUCCESSQTY != 0 {
- a := SFLOAT64(float64(r.MINSUCCESSQTY) / 100)
- a.Round(2)
- r.MINSUCCESSQTY = a.Float64()
- }
- }
- func (r *Wrpresaleapply) buildSql() string {
- var sqlId utils.SQLVal = `
- select
- to_char(pi.presaleapplyid) PRESALEAPPLYID,
- pi.selluserid,
- pi.sellaccountid,
- pi.deliverygoodsid,
- pi.wrstandardname,
- pi.unitid,
- pi.warehouseid,
- 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.marketid,
- pi.applyremark,
- pi.clientticket,
- pi.applysrc,
- pi.applyid,
- to_char(pi.applytime, 'yyyy-mm-dd hh24:mi:ss') APPLYTIME,
- pi.applystatus,
- pi.audittradedate,
- pi.auditid,
- pi.auditsrc,
- pi.audittime,
- pi.auditremark,
- pi.handlestatus,
- pi.wrstandardid,
- pi.wrfactortypeid,
- pi.buymarginalgorithm,
- pi.buymarginvalue,
- 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_Presaleapply pi
- left join GZ_WR_PresaleApplyEx paex
- on pi.presaleapplyid = paex.presaleapplyid
- where 1=1
- `
- sqlId.And("pi.marketid", r.MARKETID)
- sqlId.And("pi.selluserid", r.SELLUSERID)
- sqlId.OrderBy("pi.presaleapplyid desc")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *Wrpresaleapply) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]Wrpresaleapply, 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
- }
- // Presaleorderapplyprice 预售申请价格表 - 导历史(不导历史)
- type Presaleorderapplyprice struct {
- APPLYID string `json:"applyid" xorm:"APPLYID" form:"applyid" binding:"required"` // 预售申请ID
- STEPINDEX int32 `json:"stepindex" xorm:"STEPINDEX"` // 档位序号
- QTY float64 `json:"qty" xorm:"QTY"` // 档位数量
- PRICE float64 `json:"price" xorm:"PRICE"` // 档位价格
- CREATETIME time.Time `json:"createtime" xorm:"CREATETIME"` // 创建时间
- GOODSCODE string `json:"goodscode" xorm:"GOODSCODE"` // 商品代码 系统自动生成 [#P(2位) + ApplyID十六进制(6位) ]
- MARKETID int32 `json:"marketid" xorm:"MARKETID"` // 市场ID
- }
- func (r *Presaleorderapplyprice) calc() {
- if r.QTY != 0 {
- a := SFLOAT64(float64(r.QTY) / 100)
- a.Round(2)
- r.QTY = a.Float64()
- }
- }
- func (r *Presaleorderapplyprice) buildSql() string {
- var sqlId utils.SQLVal = `
- select
- to_char(t.APPLYID) APPLYID,
- t.STEPINDEX,
- t.QTY,
- t.PRICE,
- t.CREATETIME,
- t.GOODSCODE,
- t.MARKETID
- from PreSale_OrderApplyPrice t
- where t.APPLYID = %v
- order by t.STEPINDEX
- `
- sqlId.FormatParam(r.APPLYID)
- return sqlId.String()
- }
- // GetDataEx 从数据库中查询数据
- func (r *Presaleorderapplyprice) GetDataEx() (interface{}, error) {
- e := db.GetEngine()
- s := e.SQL(r.buildSql())
- sData := make([]Presaleorderapplyprice, 0)
- if err := s.Find(&sData); err != nil {
- return nil, err
- }
- for i := range sData {
- sData[i].calc()
- }
- return sData, nil
- }
- // Gzbscreckonorder 保税仓结算单表 - WMS系统导入
- type Gzbscreckonorder struct {
- ORDERID int64 `json:"orderid" xorm:"ORDERID"` // 单据ID(SEQ_GZ_BSCRECKONORDER)
- USERKEY string `json:"userkey" xorm:"USERKEY"` // 用户唯一标识
- WMSORDERID string `json:"wmsorderid" xorm:"WMSORDERID"` // WMS结算单流水号
- CONTRACTNO string `json:"contractno" xorm:"CONTRACTNO"` // 合同编号
- RECKONMONTH string `json:"reckonmonth" xorm:"RECKONMONTH"` // 结算月份(yyyyMM)
- SERVICEFEE string `json:"servicefee" xorm:"SERVICEFEE"` // 分拣室服务费
- STORAGEFEE string `json:"storagefee" xorm:"STORAGEFEE"` // 仓储费
- PREMIUM string `json:"premium" xorm:"PREMIUM"` // 保险费
- POWERFEE string `json:"powerfee" xorm:"POWERFEE"` // 分拣室电费
- CUSTOMSFEE string `json:"customsfee" xorm:"CUSTOMSFEE"` // 报关费
- TOTALFEE float64 `json:"totalfee" xorm:"TOTALFEE"` // 合计费用
- APPLICANT string `json:"applicant" xorm:"APPLICANT"` // 申请人
- APPLICANTTIME string `json:"applicanttime" xorm:"APPLICANTTIME"` // 申请时间
- IMPORTFILE string `json:"importfile" xorm:"IMPORTFILE"` // 导入文件名
- IMPORTTIME string `json:"importtime" xorm:"IMPORTTIME"` // 导入时间
- USERID int64 `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 用户ID
- ACCOUNTID int64 `json:"accountid" xorm:"ACCOUNTID"` // 资金账户ID
- PAYSTATUS int32 `json:"paystatus" xorm:"PAYSTATUS" form:"paystatus"` // 支付状态 - 2:待支付 3:已支付(枚举:GZBSCPayStatus)
- CONFIRMTIME string `json:"confirmtime" xorm:"CONFIRMTIME"` // 确认时间
- PAYTIME string `json:"paytime" xorm:"PAYTIME"` // 支付时间
- HANDLESTATUS int32 `json:"handlestatus" xorm:"HANDLESTATUS"` // 处理状态
- PAYTRADEDATE string `json:"paytradedate" xorm:"PAYTRADEDATE"` // 支付交易日(yyyyMMdd)
- PageEx `xorm:"extends"` // 页码信息
- }
- func (r *Gzbscreckonorder) calc() {
- }
- func (r *Gzbscreckonorder) buildSql() string {
- var sqlId utils.SQLVal = `
- select
- t.ORDERID,
- t.USERKEY,
- t.WMSORDERID,
- t.CONTRACTNO,
- t.RECKONMONTH,
- t.SERVICEFEE,
- t.STORAGEFEE,
- t.PREMIUM,
- t.POWERFEE,
- t.CUSTOMSFEE,
- t.TOTALFEE,
- t.APPLICANT,
- t.APPLICANTTIME,
- t.IMPORTFILE,
- to_char(t.IMPORTTIME, 'yyyy-mm-dd hh24:mi:ss') IMPORTTIME,
- t.USERID,
- t.ACCOUNTID,
- t.PAYSTATUS,
- to_char(t.CONFIRMTIME, 'yyyy-mm-dd hh24:mi:ss') CONFIRMTIME,
- to_char(t.PAYTIME, 'yyyy-mm-dd hh24:mi:ss') PAYTIME,
- t.HANDLESTATUS,
- t.PAYTRADEDATE
- from GZ_BSCReckonOrder t
- where 1=1
- `
- sqlId.And("t.USERID", r.USERID)
- sqlId.AndEx("t.PAYSTATUS", r.PAYSTATUS, r.PAYSTATUS > 0)
- sqlId.OrderBy("t.RECKONMONTH desc")
- sqlId.Page(r.Page, r.PageSize)
- return sqlId.String()
- }
- func (r *Gzbscreckonorder) GetDataByPage() (interface{}, error, int, int, int) {
- sData := make([]Gzbscreckonorder, 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
- }
|