ApiuserController.class.php 88 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519
  1. <?php
  2. /**nanodreamtech.com
  3. * 小梦科技资源nanodreamtech.com
  4. *
  5. * @author fish
  6. * 处理订单相关内容
  7. */
  8. namespace Home\Controller;
  9. class ApiuserController extends CommonController {
  10. protected function _initialize()
  11. {
  12. parent::_initialize();
  13. $this->cur_page = 'apicheckout';
  14. $this->member_id = 1;
  15. }
  16. public function get_user_info()
  17. {
  18. $token = I('get.token');
  19. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  20. $member_id = $weprogram_token['member_id'];
  21. $member_info = M('member')->field('name,avatar,score,member_id,comsiss_flag,level_id,account_money')->where( array('member_id' => $member_id) )->find();
  22. $opencommiss = C('opencommiss');
  23. $is_open_integral = C('is_open_integral');
  24. $level_name = C('member_default_levelname');
  25. $member_info['level'] = 0;
  26. if(!empty($member_info['level_id']) && $member_info['level_id'] > 0)
  27. {
  28. $level_info = M('member_level')->where( array('id' => $member_info['level_id']) )->find();
  29. if( !empty($level_info) )
  30. {
  31. $level_name = $level_info['levelname'];
  32. }
  33. //level
  34. $member_info['level'] = $level_info['level'];
  35. }
  36. $config_name = M('config')->where( array('name' => 'is_yue_open') )->find();
  37. $member_level_is_open_arr = M('config')->where( array('name' => 'member_level_is_open') )->find();
  38. $member_level_list = array();
  39. if( $member_level_is_open_arr['value'] == 1)
  40. {
  41. $member_level_list = M('member_level')->order('id asc')->select();
  42. if( !empty($member_level_list) )
  43. {
  44. foreach( $member_level_list as $key => $val )
  45. {
  46. $val['discount'] = $val['discount'] / 10;
  47. $member_level_list[$key] = $val;
  48. }
  49. }
  50. }
  51. echo json_encode( array('code' => 0,'member_level_list' => $member_level_list,'level_name' => $level_name,'member_level_is_open' => $member_level_is_open_arr['value'],'is_yue_open' => $config_name['value'], 'opencommiss' => $opencommiss,'data' =>$member_info ,'is_open_integral' => $is_open_integral) );
  52. die();
  53. }
  54. public function myask_detail()
  55. {
  56. $id = I('get.id');
  57. $blog_info = M('blog')->where( array('blog_id' => $id) )->find();
  58. $blog_content = M('blog_content')->where( array('blog_id' => $id) )->find();
  59. $info = array();
  60. $info['title'] = $blog_info['title'];
  61. $info['update_time'] = $blog_info['update_time'];
  62. $info['image'] = C('SITE_URL').'/Uploads/image/'. $blog_info['image'];
  63. $qian = array(
  64. "/Uploads/image"
  65. );
  66. $hou = array(
  67. C('SITE_URL') . "/Uploads/image"
  68. );
  69. $blog_content['content'] = str_replace($qian, $hou, $blog_content['content']);
  70. $info['summary'] = $blog_content['summary'];
  71. $info['content'] = htmlspecialchars_decode($blog_content['content']);
  72. echo json_encode( array('code' => 0, 'info' => $info) );
  73. die();
  74. }
  75. public function myask_list()
  76. {
  77. $type = I('get.type',1);
  78. $page = I('get.page',1);
  79. $pre_page = I('get.pre_page',15);
  80. $offset = ($page -1) * $pre_page;
  81. $condition = array('type' => 'question');
  82. $list = M('blog')->where($condition)->order('blog_id desc')->limit($offset,$pre_page)->select();
  83. $now_time = time();
  84. foreach($list as $key => $val)
  85. {
  86. $val['create_time'] = date('Y.m.d H:i:s', $val['create_time']);
  87. $list[$key] = $val;
  88. }
  89. $this->type = $type;
  90. $this->list = $list;
  91. if( empty($list) )
  92. {
  93. echo json_encode( array('code' =>1) );
  94. }else {
  95. echo json_encode( array('code' =>0, 'list' => $list) );
  96. }
  97. }
  98. public function get_address_info()
  99. {
  100. $token = I('get.token');
  101. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  102. $member_id = $weprogram_token['member_id'];
  103. $id = I('get.id', 0);
  104. $address_info = M('address')->where( array('address_id' => $id) )->find();
  105. $province_info = M('area')->field('area_name')->where( array('area_id' => $address_info['province_id']) )->find();
  106. $city_info = M('area')->field('area_name')->where( array('area_id' => $address_info['city_id']) )->find();
  107. $country_info = M('area')->field('area_name')->where( array('area_id' => $address_info['country_id']) )->find();
  108. $address_info['province_name'] = $province_info['area_name'];
  109. $address_info['city_name'] = $city_info['area_name'];
  110. $address_info['country_name'] = $country_info['area_name'];
  111. echo json_encode( array('code' => 0 , 'info' =>$address_info) );
  112. die();
  113. }
  114. public function set_default_address()
  115. {
  116. $token = I('get.token');
  117. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  118. $member_id = $weprogram_token['member_id'];
  119. $id = I('get.id', 0);
  120. M('address')->where( array('member_id' => $member_id) )->save( array('is_default' => 0) );
  121. M('address')->where( array('address_id' => $id) )->save( array('is_default' => 1) );
  122. echo json_encode( array('code' => 0) );
  123. die();
  124. }
  125. public function del_address()
  126. {
  127. $token = I('get.token');
  128. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  129. $member_id = $weprogram_token['member_id'];
  130. $id = I('get.id', 0);
  131. M('address')->where( array('address_id' => $id) )->delete( );
  132. echo json_encode( array('code' => 0) );
  133. die();
  134. }
  135. public function getaddress()
  136. {
  137. $token = I('get.token');
  138. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  139. $member_id = $weprogram_token['member_id'];
  140. $address_list = M('address')->where( array('member_id' => $member_id) )->order( "is_default desc , address_id desc " )->select();
  141. foreach( $address_list as $key => $val )
  142. {
  143. //province_id city_id country_id
  144. $province_info = M('area')->field('area_name')->where( array('area_id' => $val['province_id']) )->find();
  145. $city_info = M('area')->field('area_name')->where( array('area_id' => $val['city_id']) )->find();
  146. $country_info = M('area')->field('area_name')->where( array('area_id' => $val['country_id']) )->find();
  147. $val['province_name'] = $province_info['area_name'];
  148. $val['city_name'] = $city_info['area_name'];
  149. $val['country_name'] = $country_info['area_name'];
  150. $address_list[$key] = $val;
  151. }
  152. if( !empty($address_list) )
  153. {
  154. echo json_encode( array('code' => 0, 'list' => $address_list) );
  155. die();
  156. }else{
  157. echo json_encode( array('code' => 1) );
  158. die();
  159. }
  160. }
  161. public function apply()
  162. {
  163. //token
  164. $token = I('get.token');
  165. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  166. $member_id = $weprogram_token['member_id'];
  167. $result = array('code' => 0);
  168. $member_commiss_apply = M('member_commiss_apply')->where(array('member_id' =>$member_id, 'state' =>0))->find();
  169. if(!empty($member_commiss_apply)) {
  170. $result['code'] = 1;
  171. $result['msg'] = '您已经申请,等待审核!';
  172. } else {
  173. $data = array();
  174. $data['member_id'] = $member_id;
  175. $data['state'] = 0;
  176. $data['addtime'] = time();
  177. $res = M('member_commiss_apply')->add($data);
  178. if($res){
  179. } else {
  180. $result['code'] = 1;
  181. $result['msg'] = '提交失败';
  182. }
  183. }
  184. echo json_encode($result);
  185. die();
  186. }
  187. //member_formid
  188. public function get_member_form_id()
  189. {
  190. //token/' + token + '/from_id/' + from_id
  191. $token = I('get.token');
  192. $from_id = I('get.from_id');
  193. if($from_id != 'the formId is a mock one')
  194. {
  195. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  196. $member_id = $weprogram_token['member_id'];
  197. $member_formid_data = array();
  198. $member_formid_data['member_id'] = $member_id;
  199. $member_formid_data['state'] = 0;
  200. $member_formid_data['formid'] = $from_id;
  201. $member_formid_data['addtime'] = time();
  202. M('member_formid')->add($member_formid_data);
  203. }
  204. echo json_encode( array('code' => 1) );
  205. die();
  206. }
  207. public function get_user_addresslist()
  208. {
  209. $token = I('get.token');
  210. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  211. $member_id = $weprogram_token['member_id'];
  212. //group ->group('user_id,test_time')
  213. $list=M('address')->where(array('member_id'=>$member_id))->group('province_id,country_id,city_id,address')->order('address_id desc ')->select();
  214. if(!empty($list)){
  215. foreach ($list as $k => $v) {
  216. $list[$k]['id'] = $v['address_id'];
  217. }
  218. }
  219. if(!empty($list))
  220. {
  221. foreach($list as &$address)
  222. {
  223. $province_info = M('area')->where( array('area_id' => $address['province_id']) )->find();
  224. $city_info = M('area')->where( array('area_id' => $address['city_id']) )->find();
  225. $country_info = M('area')->where( array('area_id' => $address['country_id']) )->find();
  226. $address['province_name'] = $province_info['area_name'];
  227. $address['city_name'] = $city_info['area_name'];
  228. $address['country'] = $country_info['area_name'];
  229. }
  230. }
  231. if( !empty($list) )
  232. {
  233. echo json_encode( array('code' => 0 , 'data' => $list) );
  234. die();
  235. } else{
  236. echo json_encode( array('code' => 1) );
  237. die();
  238. }
  239. }
  240. public function group_orders()
  241. {
  242. $token = I('get.token');
  243. $type = I('get.type',0);
  244. $page = I('get.page',0);//当前第几页
  245. $pre_page = I('get.pre_page',10);//每页数量
  246. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  247. $member_id = $weprogram_token['member_id'];
  248. $data_json = file_get_contents('php://input');
  249. $data = json_decode($data_json, true);
  250. $offset = ($page -1) * $pre_page;
  251. $where = ' ';
  252. if($type == 1)
  253. {
  254. $where .= ' and p.state = 0 and p.end_time >'.time();
  255. } else if($type == 2){
  256. $where .= ' and p.state = 1 ';
  257. } else if($type == 3){
  258. $where .= ' and (o.order_status_id != 5 && o.order_status_id != 3) and (p.state = 2 or (p.state =0 and p.end_time <'.time().')) ';
  259. }else if($type == 0){
  260. //$where .= ' and o.order_status_id != 3 ';
  261. }
  262. $sql = "select g.name,og.goods_images,g.price as orign_price,o.voucher_credit,g.fan_image,os.name as status_name,os.order_status_id,og.quantity,og.order_goods_id,p.need_count,p.state,p.is_lottery,p.lottery_state,p.end_time,o.delivery,o.lottery_win,o.total,o.shipping_fare,o.order_id,o.store_id,og.price,po.pin_id,o.order_status_id from ".C('DB_PREFIX')."order as o, ".C('DB_PREFIX')."order_goods as og,
  263. ".C('DB_PREFIX')."pin as p,".C('DB_PREFIX')."goods as g ,".C('DB_PREFIX')."order_status as os ,".C('DB_PREFIX')."pin_order as po
  264. where po.order_id = o.order_id and o.order_status_id = os.order_status_id and o.order_id = og.order_id and og.goods_id = g.goods_id and po.pin_id = p.pin_id
  265. and o.member_id = ".$member_id." {$where} order by o.date_added desc limit {$offset},{$pre_page}";
  266. $list = M()->query($sql);
  267. foreach($list as $key => $val)
  268. {
  269. $val['price'] = round($val['price'],2);
  270. if($val['shipping_fare']<=0.001 || $val['delivery'] == 'pickup')
  271. {
  272. $val['shipping_fare'] = '免运费';
  273. }else{
  274. $val['shipping_fare'] = '运费:'.$val['shipping_fare'];
  275. }
  276. //delivery
  277. if($val['order_status_id'] == 10)
  278. {
  279. $val['status_name'] = '等待退款';
  280. }
  281. else if($val['order_status_id'] == 4 && $val['delivery'] =='pickup')
  282. {
  283. //delivery 6
  284. $val['status_name'] = '待自提';
  285. //已自提
  286. }
  287. else if($val['order_status_id'] == 6 && $val['delivery'] =='pickup')
  288. {
  289. //delivery 6
  290. $val['status_name'] = '已自提';
  291. }else if($val['order_status_id'] == 10)
  292. {
  293. $val['status_name'] = '等待退款';
  294. }else if($val['order_status_id'] == 1 && $val['type'] == 'lottery')
  295. {
  296. //等待开奖
  297. //一等奖
  298. if($val['lottery_win'] == 1)
  299. {
  300. $val['status_name'] = '一等奖';
  301. }else {
  302. $val['status_name'] = '等待开奖';
  303. }
  304. }
  305. //p.state,p.end_time
  306. $pin_type = $val['state'];
  307. if($pin_type == 0 && $val['end_time'] <= time() )
  308. {
  309. $pin_type = 2;
  310. }
  311. switch($pin_type)
  312. {
  313. case 0:
  314. if($val['order_status_id'] == 2)
  315. {
  316. $val['status_name'] = $val['status_name'];
  317. }else{
  318. $val['status_name'] = '拼团中,'.$val['status_name'];
  319. }
  320. break;
  321. case 1:
  322. //7
  323. if($val['order_status_id'] == 7)
  324. {
  325. $val['status_name'] = '拼团成功,售后已退款';
  326. }else if($val['order_status_id'] == 1)
  327. {
  328. $val['status_name'] = '拼团成功,待发货';
  329. }
  330. else{
  331. $val['status_name'] = '拼团成功,'.$val['status_name'];
  332. }
  333. break;
  334. case 2:
  335. $val['status_name'] = '拼团失败,'.$val['status_name'];
  336. //order_status_id 2
  337. if($val['order_status_id'] == 2)
  338. {
  339. $val['status_name'] = '拼团失败';
  340. }
  341. break;
  342. }
  343. $val['goods_images']= C('SITE_URL') .resize($val['goods_images'], C('common_image_thumb_width'), C('common_image_thumb_height'));
  344. //s_true_name seller_id option_str
  345. $order_option_list = M('order_option')->where( array('order_goods_id' =>$val['order_goods_id']) )->select();
  346. foreach($order_option_list as $option)
  347. {
  348. $val['option_str'][] = $option['value'];
  349. }
  350. if( !isset($val['option_str']) )
  351. {
  352. $val['option_str'] = '';
  353. }else{
  354. $val['option_str'] = implode(',', $val['option_str']);
  355. }
  356. $store_info = M('seller')->field('s_true_name,s_logo')->where('s_id='.$val['store_id'])->find();
  357. $store_info['s_logo'] = C('SITE_URL').'/Uploads/image/'.$store_info['s_logo'];
  358. $val['store_info'] = $store_info;
  359. unset($val['fan_image']);
  360. //unset($val['goods_images']);
  361. $val['price'] = round($val['price'],2);
  362. $val['total'] = round($val['total'],2);
  363. if($val['delivery'] == 'pickup')
  364. {
  365. $val['total'] = round($val['total'],2) - round($val['voucher_credit'],2);
  366. }else{
  367. $val['total'] = round($val['total'],2)+round($val['shipping_fare'],2) - round($val['voucher_credit'],2);
  368. }
  369. $val['orign_price'] = round($val['orign_price'],2);
  370. if($val['state'] == 0 && $val['end_time'] < time())
  371. {
  372. $val['state'] = 2;
  373. }
  374. $list[$key] = $val;
  375. }
  376. $need_data = array();
  377. $need_data['code'] = 1;
  378. if( !empty($list) )
  379. {
  380. $need_data['code'] = 0;
  381. $need_data['data'] = $list;
  382. }
  383. echo json_encode($need_data);
  384. die();
  385. }
  386. function fav_toggle()
  387. {
  388. $token = I('get.token');
  389. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  390. $member_id = $weprogram_token['member_id'];
  391. if( empty($member_id) )
  392. {
  393. $result['code'] = 3;
  394. $result['msg'] = '登录失效';
  395. echo json_encode($result);
  396. die();
  397. }
  398. $goods_id = I('goods_id');
  399. $goods_model = D('Home/Goods');
  400. //1 取消收藏 2 添加收藏
  401. $code = $goods_model->user_fav_goods_toggle($goods_id, $member_id);
  402. echo json_encode( array('code' => $code) );
  403. die();
  404. }
  405. public function fav_storetoggle()
  406. {
  407. $token = I('get.token');
  408. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  409. $member_id = $weprogram_token['member_id'];
  410. if( empty($member_id) )
  411. {
  412. $result['code'] = 3;
  413. $result['msg'] = '登录失效';
  414. echo json_encode($result);
  415. die();
  416. }
  417. $store_id = I('store_id');
  418. $goods_model = D('Home/Goods');
  419. //1 取消收藏 2 添加收藏
  420. $code = $goods_model->user_fav_store_toggle($store_id, $member_id);
  421. echo json_encode( array('code' => $code) );
  422. die();
  423. }
  424. public function myfavshop()
  425. {
  426. $page = I('get.page',1);
  427. $pre_page = I('get.pre_page',6);
  428. $offset = ($page -1) * $pre_page;
  429. $token = I('get.token');
  430. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  431. $member_id = $weprogram_token['member_id'];
  432. $list = M('user_favstore')->where( array('member_id' => $member_id) )->order('add_time desc')->limit($offset,$pre_page)->select();
  433. foreach($list as $key => $val)
  434. {
  435. $tp_store = M('seller')->field('s_true_name,s_logo')->where( array('s_id' => $val['store_id']) )->find();
  436. $tp_store['logo'] = C('SITE_URL').'Uploads/image/'. $tp_store['s_logo'];
  437. unset($tp_store['s_logo']);
  438. $store_goods = M('goods')->field('goods_id,name,quantity,seller_count,virtual_count,image,price,danprice')->where( array('store_id' => $val['store_id'],'status'=>1,'quantity' =>array('gt',0)) )->order('is_index_show desc, seller_count desc')->limit(3)->select();
  439. foreach($store_goods as $kk => $vv)
  440. {
  441. $vv['image'] = C('SITE_URL').'Uploads/image/'. $vv['image'];
  442. $vv['seller_count'] = $vv['seller_count'] + $vv['virtual_count'];
  443. unset($vv['virtual_count']);
  444. $store_goods[$kk] = $vv;
  445. }
  446. $val['tp_store'] = $tp_store;
  447. $val['goods'] = $store_goods;
  448. //$val = $tp_goods;
  449. $list[$key] = $val;
  450. }
  451. if( empty($list) )
  452. {
  453. echo json_encode( array('code' => 1) );
  454. die();
  455. } else {
  456. echo json_encode( array('code' => 0 , 'data' => $list) );
  457. die();
  458. }
  459. }
  460. public function myvoucherlist()
  461. {
  462. $type = I('get.type',1);
  463. $page = I('get.page',1);
  464. $pre_page = I('get.pre_page',4);
  465. $offset = ($page -1) * $pre_page;
  466. $token = I('get.token');
  467. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  468. $member_id = $weprogram_token['member_id'];
  469. //$member_id = 1;
  470. //$type = 3;
  471. if( empty($member_id) )
  472. {
  473. $result['code'] = 3;
  474. $result['msg'] = '登录失效';
  475. echo json_encode($result);
  476. die();
  477. }
  478. $condition = "user_id=".$member_id;
  479. if($type == 1)
  480. {
  481. //未使用
  482. $condition .= " and consume= 'N' and end_time> ".time();
  483. } else if($type == 2){
  484. //已使用
  485. $condition .= " and (consume= 'Y' or end_time< ".time().")";
  486. }
  487. $list = M('voucher_list')->field('voucher_title,store_id,type,credit,limit_money,consume,begin_time,end_time')->where($condition)->order('add_time desc')->limit($offset,$pre_page)->select();
  488. $now_time = time();
  489. foreach($list as $key => $val)
  490. {
  491. $store_info = M('seller')->field('s_true_name,s_logo')->where( array('s_id' => $val['store_id']) )->find();
  492. $val['store_name'] = $store_info['s_true_name'];
  493. $store_info['s_logo'] = C('SITE_URL').'/Uploads/image/'.$store_info['s_logo'];
  494. $val['s_logo'] = $store_info['s_logo'];
  495. //now_time
  496. $val['is_over'] = 0;
  497. if($val['end_time'] < $now_time)
  498. {
  499. $val['is_over'] = 1;
  500. }
  501. if($val['consume'] == 'Y')
  502. {
  503. $val['is_over'] = 1;
  504. }
  505. $val['begin_time'] = date('Y.m.d H:i:s', $val['begin_time']);
  506. $val['end_time'] = date('Y.m.d H:i:s', $val['end_time']);
  507. $list[$key] = $val;
  508. }
  509. $this->type = $type;
  510. $this->list = $list;
  511. if( empty($list) )
  512. {
  513. echo json_encode( array('code' =>1) );
  514. }else {
  515. echo json_encode( array('code' =>0, 'list' => $list) );
  516. }
  517. }
  518. public function myscores()
  519. {
  520. $page = I('get.page',1);
  521. $type = I('get.type','all');
  522. $pre_page = I('get.pre_page',10);
  523. $offset = ($page -1) * $pre_page;
  524. $token = I('get.token');
  525. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  526. $member_id = $weprogram_token['member_id'];
  527. if( empty($member_id) )
  528. {
  529. $result['code'] = 3;
  530. $result['msg'] = '登录失效';
  531. echo json_encode($result);
  532. die();
  533. }
  534. $where = "";
  535. if($type == 'all')
  536. {
  537. }else if($type =='in'){
  538. $where = " and in_out = 'in' ";
  539. }else if($type == 'out'){
  540. $where = " and in_out = 'out' ";
  541. }
  542. $sql ="select * from ".C('DB_PREFIX')."integral_flow where member_id = {$member_id} {$where} and state = 1
  543. order by addtime desc limit {$offset},{$pre_page} ";
  544. $list = M()->query($sql);
  545. foreach($list as $key => $val)
  546. {
  547. //type
  548. //'goodsbuy','refundorder','system_add','system_del','orderbuy'
  549. $val['score'] = intval($val['score']);
  550. switch($val['type'])
  551. {
  552. case 'goodsbuy':
  553. $val['typename'] = '商品购买奖励积分';
  554. $val['score'] = '+'.$val['score'];
  555. break;
  556. case 'orderbuy':
  557. $val['typename'] = '积分兑换商品';
  558. $val['score'] = -$val['score'];
  559. break;
  560. case 'refundorder':
  561. $val['typename'] = '订单退款';
  562. $val['score'] = -$val['score'];
  563. break;
  564. case 'system_add':
  565. $val['typename'] = '后台充值';
  566. $val['score'] = '+'.$val['score'];
  567. break;
  568. case 'system_del':
  569. $val['typename'] = '后台扣除';
  570. $val['score'] = -$val['score'];
  571. break;
  572. //score
  573. }
  574. $val['addtime'] = date('Y-m-d H:i:s', $val['addtime']);
  575. $list[$key] = $val;
  576. }
  577. //myscores
  578. $integral_rules = C('integral_description');
  579. $qian=array("\r\n");
  580. $hou=array("@F@");
  581. $integral_rules_str = str_replace($qian,$hou,$integral_rules);
  582. $integral_rules_str = explode('@F@',$integral_rules_str);
  583. if( empty($list) )
  584. {
  585. echo json_encode( array('code' => 1,'integral_rules_str' => $integral_rules_str) );
  586. die();
  587. } else {
  588. echo json_encode( array('code' => 0 , 'data' => $list,'integral_rules_str' => $integral_rules_str) );
  589. die();
  590. }
  591. }
  592. public function myfavgoods()
  593. {
  594. $page = I('get.page',1);
  595. $pre_page = I('get.pre_page',6);
  596. $offset = ($page -1) * $pre_page;
  597. $token = I('get.token');
  598. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  599. $member_id = $weprogram_token['member_id'];
  600. //$member_id = 1;
  601. if( empty($member_id) )
  602. {
  603. $result['code'] = 3;
  604. $result['msg'] = '登录失效';
  605. echo json_encode($result);
  606. die();
  607. }
  608. $sql ="select g.goods_id,g.name,g.quantity,g.seller_count,g.virtual_count,g.image,g.price,g.danprice,f.* from
  609. ".C('DB_PREFIX')."user_favgoods as f , ".C('DB_PREFIX')."goods as g where f.goods_id = g.goods_id and ( g.type ='pintuan' or g.type = 'lottery' ) and f.member_id = {$member_id}
  610. order by f.add_time desc limit {$offset},{$pre_page} ";
  611. $list = M()->query($sql);
  612. //$list = M('user_favgoods')->where( array('member_id' => $member_id) )->order('add_time desc')->limit($offset,$pre_page)->select();
  613. $goods_model = D('Home/goods');
  614. foreach($list as $key => $val)
  615. {
  616. //$tp_goods = M('goods')->field('goods_id,name,quantity,seller_count,virtual_count,image,price,danprice')->where( array('goods_id' => $val['goods_id']) )->find();
  617. //if(empty($tp_goods))
  618. //{
  619. // continue;
  620. //}
  621. $price_arr = $goods_model->get_goods_price($val['goods_id']);
  622. $val['seller_count'] = $val['seller_count'] + $val['virtual_count'];
  623. //danprice
  624. $val['danprice'] = $price_arr['price'];
  625. $val['image'] = C('SITE_URL').'Uploads/image/'. $val['image'];
  626. //$val = $tp_goods;
  627. $list[$key] = $val;
  628. }
  629. if( empty($list) )
  630. {
  631. echo json_encode( array('code' => 1) );
  632. die();
  633. } else {
  634. echo json_encode( array('code' => 0 , 'data' => $list) );
  635. die();
  636. }
  637. }
  638. public function order_comment()
  639. {
  640. $order_id = I('get.order_id',0);
  641. $token = I('get.token');
  642. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  643. $member_id = $weprogram_token['member_id'];
  644. if( empty($member_id) )
  645. {
  646. $result['code'] = 3;
  647. $result['msg'] = '登录失效';
  648. echo json_encode($result);
  649. die();
  650. }
  651. $order_goods = M('order_goods')->where( array('order_id' => $order_id) )->find();
  652. $order_option_list = M('order_option')->where( array('order_goods_id' =>$order_goods['order_goods_id']) )->select();
  653. $order_goods['goods_images']= C('SITE_URL') .resize($order_goods['goods_images'], C('common_image_thumb_width'), C('common_image_thumb_height'));
  654. //price orign_price
  655. $goods_filed = M('goods')->field('price')->where( array('goods_id' => $order_goods['goods_id']) )->find();
  656. $order_goods['orign_price'] = $goods_filed['price'];
  657. foreach($order_option_list as $option)
  658. {
  659. $order_goods['option_str'][] = $option['value'];
  660. }
  661. if( !isset($order_goods['option_str']) )
  662. {
  663. $order_goods['option_str'] = '';
  664. }else{
  665. $order_goods['option_str'] = implode(',', $order_goods['option_str']);
  666. }
  667. $order_goods['price'] = round($order_goods['price'],2);
  668. $order_goods['orign_price'] = round($order_goods['orign_price'],2);
  669. $goods_info = M('goods')->field('image')->where( array('goods_id' => $order_goods['goods_id']) )->find();
  670. $goods_image = resize($goods_info['image'], C('common_image_thumb_width'), C('common_image_thumb_height'));
  671. if(!empty($goods_image['fan_image'])){
  672. $goods_image = C('SITE_URL'). resize($goods_info['fan_image'], C('common_image_thumb_width'), C('common_image_thumb_height'));
  673. }else {
  674. $goods_image = C('SITE_URL').resize($goods_info['image'], C('common_image_thumb_width'), C('common_image_thumb_height'));
  675. }
  676. echo json_encode( array('code' => 0 ,'order_goods' =>$order_goods, 'goods_image' => $goods_image,'goods_id' =>$order_goods['goods_id']) );
  677. die();
  678. //$this->goods_image = $goods_image;
  679. //$this->order_goods = $order_goods;
  680. //$this->display();
  681. }
  682. /**
  683. * 提交评论信息
  684. */
  685. public function sub_comment()
  686. {
  687. //cur_rel:cur_rel,cur2_rel:cur2_rel,cur3_rel:cur3_rel,imgs:imgs,
  688. $data_json = file_get_contents('php://input');
  689. $data = json_decode($data_json, true);
  690. $order_id = $data['order_id'];
  691. $goods_id = $data['goods_id'];
  692. $cur_rel = empty($data['cur_rel']) ? 5:$data['cur_rel'];
  693. $cur2_rel = empty($data['cur2_rel']) ? 5:$data['cur2_rel'];
  694. $cur3_rel = empty($data['cur3_rel']) ? 5:$data['cur3_rel'];
  695. $imgs = $data['imgs'];
  696. $comment_content = htmlspecialchars($data['comment_content']);
  697. $token = I('get.token');
  698. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  699. $member_id = $weprogram_token['member_id'];
  700. if( empty($member_id) )
  701. {
  702. $result['code'] = 3;
  703. $result['msg'] = '登录失效';
  704. echo json_encode($result);
  705. die();
  706. }
  707. //goods_name
  708. //goods_image
  709. //order_num_alias
  710. //avatar
  711. //user_name
  712. $order_goods = M('order_goods')->field('name,goods_images')->where( array('order_id' => $order_id,'goods_id' => $goods_id) )->find();
  713. $order_info = M('order')->field('order_num_alias')->where( array('order_id' => $order_id) )->find();
  714. $member_info = M('member')->field('uname,avatar')->where( array('member_id' => $member_id) )->find();
  715. $data = array();
  716. $data['member_id'] = $member_id;
  717. $data['order_id'] = $order_id;
  718. $data['goods_id'] = $goods_id;
  719. $data['goods_name'] = $order_goods['name'];
  720. $data['goods_image'] = $order_goods['goods_images'];
  721. $data['order_num_alias'] = $order_info['order_num_alias'];
  722. $data['avatar'] = $member_info['avatar'];
  723. $data['user_name'] = $member_info['uname'];
  724. $data['star'] = $cur_rel;
  725. $data['star2'] = $cur2_rel;
  726. $data['star3'] = $cur3_rel;
  727. $data['images'] = serialize($imgs);
  728. $data['is_picture'] = empty($imgs) ? 0 :1;
  729. $data['content'] = $comment_content;
  730. $data['add_time'] = time();
  731. M('order_comment')->add($data);
  732. //order_comment
  733. $goods_info = M('goods')->field('store_id')->where( array('goods_id' => $goods_id) )->find();
  734. $group_info = M('group')->field('seller_id')->where( array('seller_id' => $goods_info['store_id']) )->find();
  735. if( !empty($group_info) )
  736. {
  737. $quan_model = D('Home/Quan');
  738. $post_data['member_id'] = $member_id;
  739. $post_data['group_id'] = $group_info['seller_id'];
  740. $post_data['goods_id'] = $goods_id;
  741. $post_data['title'] = $comment_content;
  742. $post_data['content'] = serialize($imgs);
  743. $rs = $quan_model->send_group_post($post_data);
  744. }
  745. $order_history = array();
  746. $order_history['order_id'] = $order_id;
  747. $order_history['order_status_id'] = 11;
  748. $order_history['notify'] = 0;
  749. $order_history['comment'] = '用户提交评论,订单完成。';
  750. $order_history['date_added']=time();
  751. M('order_history')->add($order_history);
  752. M('order')->where( array('order_id' =>$order_id ) )->save( array('order_status_id' => 11) );
  753. echo json_encode( array('code' => 1) );
  754. die();
  755. }
  756. /**
  757. 获取订单金额
  758. **/
  759. public function get_order_money()
  760. {
  761. $token = I('get.token');
  762. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  763. $member_id = $weprogram_token['member_id'];
  764. if( empty($member_id) )
  765. {
  766. $result['code'] = 0;
  767. $result['msg'] = '登录失效';
  768. echo json_encode($result);
  769. die();
  770. }
  771. $order_id = I('get.order_id');
  772. //total
  773. $order_info = M('order')->field('total')->where( array('order_id' => $order_id ,'member_id' => $member_id) )->find();
  774. $order_info['total'] = round($order_info['total'], 2);
  775. echo json_encode( array('code' =>1, 'total' => $order_info['total']) );
  776. die();
  777. }
  778. /**
  779. 退款提交
  780. **/
  781. public function refund_sub()
  782. {
  783. $token = I('get.token');
  784. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  785. $member_id = $weprogram_token['member_id'];
  786. if( empty($member_id) )
  787. {
  788. $result['code'] = 0;
  789. $result['msg'] = '登录失效';
  790. echo json_encode($result);
  791. die();
  792. }
  793. $data_json = file_get_contents('php://input');
  794. $data = json_decode($data_json, true);
  795. //$data = I('post.');
  796. $order_id = $data['order_id'];
  797. $order_info = M('order')->where( array('member_id' => $member_id, 'order_id' => $order_id) )->find();
  798. if(empty($order_info) )
  799. {
  800. $result['code'] = 0;
  801. $result['msg'] = '没有此订单';
  802. echo json_encode($result);
  803. die();
  804. }
  805. $result = array('code' => 0);
  806. $refdata = array();
  807. $refdata['order_id'] = intval($data['order_id']);
  808. $refdata['ref_type'] = intval($data['complaint_type']);
  809. $refdata['ref_money'] = floatval($data['complaint_money']);
  810. $refdata['ref_member_id'] = $member_id;
  811. $refdata['ref_name'] = htmlspecialchars($data['complaint_reason']);
  812. $refdata['ref_mobile'] = htmlspecialchars($data['complaint_mobile']);
  813. $refdata['ref_description'] = htmlspecialchars($data['complaint_desc']);
  814. $refdata['state'] = 0;
  815. $refdata['addtime'] = time();
  816. if($refdata['ref_money'] > $order_info['total'])
  817. {
  818. $result['msg'] = '退款金额不能大于订单总额';
  819. echo json_encode($result);
  820. die();
  821. }
  822. if(!empty($data['ref_id']))
  823. {
  824. $ref_id = intval($data['ref_id']);
  825. unset($refdata['order_id']);
  826. unset($refdata['ref_member_id']);
  827. unset($refdata['addtime']);
  828. M('order_refund')->where( array('ref_id' => $ref_id) )->save($refdata);
  829. $order_history = array();
  830. $order_history['order_id'] = $order_id;
  831. $order_history['order_status_id'] = $order_info['order_status_id'];
  832. $order_history['notify'] = 0;
  833. $order_history['comment'] = '用户修改退款资料';
  834. $order_history['date_added']=time();
  835. M('order_history')->add($order_history);
  836. $order_refund_history = array();
  837. $order_refund_history['order_id'] = $order_id;
  838. $order_refund_history['message'] = $refdata['ref_description'];
  839. $order_refund_history['type'] = 1;
  840. $order_refund_history['addtime'] = time();
  841. $orh_id = M('order_refund_history')->add($order_refund_history);
  842. if(!empty($data['complaint_images']))
  843. {
  844. foreach($data['complaint_images'] as $complaint_images)
  845. {
  846. $img_data = array();
  847. $img_data['orh_id'] = $orh_id;
  848. $img_data['image'] = htmlspecialchars($complaint_images);
  849. $img_data['addtime'] = time();
  850. M('order_refund_history_image')->add($img_data);
  851. }
  852. }
  853. }else {
  854. $ref_id = M('order_refund')->add($refdata);
  855. $up_order = array();
  856. $up_order['order_status_id'] = 12;
  857. M('order')->where( array('order_id' => $order_id) )->save($up_order);
  858. $order_history = array();
  859. $order_history['order_id'] = $order_id;
  860. $order_history['order_status_id'] = 12;
  861. $order_history['notify'] = 0;
  862. $order_history['comment'] = '用户申请退款中';
  863. $order_history['date_added']=time();
  864. M('order_history')->add($order_history);
  865. if(!empty($data['complaint_images']))
  866. {
  867. foreach($data['complaint_images'] as $complaint_images)
  868. {
  869. $img_data = array();
  870. $img_data['ref_id'] = $ref_id;
  871. $img_data['image'] = htmlspecialchars($complaint_images);
  872. $img_data['addtime'] = time();
  873. M('order_refund_image')->add($img_data);
  874. }
  875. }
  876. }
  877. $result['code'] = 1;
  878. echo json_encode($result);
  879. die();
  880. }
  881. /**
  882. 退款详情
  883. **/
  884. public function refunddetail()
  885. {
  886. $token = I('get.token');
  887. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  888. $member_id = $weprogram_token['member_id'];
  889. if( empty($member_id) )
  890. {
  891. $result['code'] = 0;
  892. $result['msg'] = '登录失效';
  893. echo json_encode($result);
  894. die();
  895. }
  896. $order_id = I('get.order_id',0);
  897. $order_info = M('order')->where( array('member_id' => $member_id, 'order_id' => $order_id) )->find();
  898. if(empty($order_info) )
  899. {
  900. $result['code'] = 0;
  901. $result['msg'] = '无此订单';
  902. echo json_encode($result);
  903. die();
  904. }
  905. $order_goods = M('order_goods')->where( array('order_id' => $order_id) )->find();
  906. $order_refund = M('order_refund')->where( array('order_id' => $order_id) )->find();
  907. $order_refund_history = M('order_refund_history')->where( array('order_id' => $order_id, 'type' => 2) )->order('addtime asc ')->find();
  908. $refund_reason = array(
  909. '97' =>'商品有质量问题',
  910. '98' =>'没有收到货',
  911. '99' =>'商品少发漏发发错',
  912. '100' =>'商品与描述不一致',
  913. '101' =>'收到商品时有划痕或破损',
  914. '102' =>'质疑假货',
  915. '111' =>'其他',
  916. );
  917. //ref_type
  918. $order_refund['ref_type'] = $order_refund['ref_type'] ==1 ? '仅退款': '退款退货';
  919. //$order_refund['ref_name'] = $refund_reason[$order_refund['ref_name']];
  920. $refund_state = array(
  921. 0 => '申请中',
  922. 1 => '商家拒绝',
  923. 2 => '平台介入',
  924. 3 => '退款成功',
  925. 4 => '退款失败',
  926. 5 => '撤销申请',
  927. );
  928. $order_refund['state'] = $refund_state[$order_refund['state']];
  929. $order_refund['addtime'] = date('Y-m-d H:i:s', $order_refund['addtime']);
  930. //$this->order_refund = $order_refund;
  931. $order_refund_image = M('order_refund_image')->where( array('ref_id' => $order_refund['ref_id']) )->select();
  932. $refund_images = array();
  933. if(!empty($order_refund_image))
  934. {
  935. foreach($order_refund_image as $refund_image)
  936. {
  937. $refund_image['thumb_image'] = C('SITE_URL').resize($refund_image['image'], 100, 100);
  938. $refund_images[] = $refund_image;
  939. }
  940. }
  941. $order_refund_historylist = M('order_refund_history')->where( array('order_id' => $order_id) )->order('addtime asc')->select();
  942. //.type ==3
  943. $pingtai_deal = 0;
  944. foreach($order_refund_historylist as $key => $val)
  945. {
  946. if($val['type'] ==3)
  947. {
  948. $pingtai_deal = 1;
  949. }
  950. $order_refund_history_image = M('order_refund_history_image')->where( array('orh_id' => $val['id']) )->select();
  951. if(!empty($order_refund_history_image))
  952. {
  953. foreach($order_refund_history_image as $kk => $vv)
  954. {
  955. $vv['thumb_image'] = resize($vv['image'], 100, 100);
  956. $order_refund_history_image[$kk] = $vv;
  957. }
  958. }
  959. $val['order_refund_history_image'] = $order_refund_history_image;
  960. $val['addtime'] = date('Y-m-d H:i:s', $val['addtime']);
  961. $order_refund_historylist[$key] = $val;
  962. }
  963. echo json_encode( array('code' => 1,'pingtai_deal' => $pingtai_deal,'order_refund' =>$order_refund, 'order_id' => $order_id ,'order_refund_history' => $order_refund_history,'order_refund_historylist' => $order_refund_historylist, 'refund_images' => $refund_images,'order_goods' => $order_goods ,'order_info' => $order_info) );
  964. die();
  965. //$this->refund_images = $refund_images;
  966. //$this->order_goods = $order_goods;
  967. //$this->order_info = $order_info;
  968. //$this->order_refund_historylist = $order_refund_historylist;
  969. //$this->order_refund_history = $order_refund_history;
  970. //$this->order_id = $order_id;
  971. //$this->display();
  972. }
  973. /**
  974. 申请平台介入
  975. **/
  976. public function judgement_refund()
  977. {
  978. $result = array('code' => 0);
  979. $token = I('get.token');
  980. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  981. $member_id = $weprogram_token['member_id'];
  982. $order_id = I('get.order_id');
  983. $order_info = M('order')->where( array('member_id' => $member_id, 'order_id' => $order_id) )->find();
  984. if(empty($order_info) )
  985. {
  986. $result['msg'] = '非法操作';
  987. echo json_encode($result);
  988. die();
  989. }
  990. M('order_refund')->where( array('order_id' => $order_id) )->save( array('state' => 2) );
  991. M('order')->where( array('member_id' => $member_id, 'order_id' => $order_id) )->save( array('order_status_id' => 13) );
  992. $order_history = array();
  993. $order_history['order_id'] = $order_id;
  994. $order_history['order_status_id'] = 13;
  995. $order_history['notify'] = 0;
  996. $order_history['comment'] = '申请平台介入';
  997. $order_history['date_added']=time();
  998. M('order_history')->add($order_history);
  999. $order_refund_history = array();
  1000. $order_refund_history['order_id'] = $order_id;
  1001. $order_refund_history['message'] = '申请平台介入';
  1002. $order_refund_history['type'] = 1;
  1003. $order_refund_history['addtime'] = time();
  1004. M('order_refund_history')->add($order_refund_history);
  1005. $result['code'] = 1;
  1006. echo json_encode($result);
  1007. die();
  1008. }
  1009. /**
  1010. 撤销退款
  1011. **/
  1012. public function cancel_refund()
  1013. {
  1014. $token = I('get.token');
  1015. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  1016. $member_id = $weprogram_token['member_id'];
  1017. $order_id = I('get.order_id');
  1018. if( empty($member_id) )
  1019. {
  1020. $result['code'] = 0;
  1021. $result['msg'] = '登录失效';
  1022. echo json_encode($result);
  1023. die();
  1024. }
  1025. $result = array('code' => 0);
  1026. $order_info = M('order')->where( array('member_id' => $member_id, 'order_id' => $order_id) )->find();
  1027. if(empty($order_info) )
  1028. {
  1029. $result['msg'] = '非法操作';
  1030. echo json_encode($result);
  1031. die();
  1032. }
  1033. M('order_refund')->where( array('order_id' => $order_id) )->save( array('state' => 5) );
  1034. $order_history = array();
  1035. $order_history['order_id'] = $order_id;
  1036. $order_history['order_status_id'] = 4;
  1037. $order_history['notify'] = 0;
  1038. $order_history['comment'] = '用户撤销退款';
  1039. $order_history['date_added']=time();
  1040. M('order_history')->add($order_history);
  1041. // state
  1042. M('order')->where( array('member_id' => $member_id, 'order_id' => $order_id) )->save( array('order_status_id' => 4) );
  1043. $result['code'] = 1;
  1044. echo json_encode($result);
  1045. die();
  1046. }
  1047. /**
  1048. 物流快递
  1049. **/
  1050. public function goods_express()
  1051. {
  1052. $token = I('get.token');
  1053. $order_id = I('get.order_id',0);
  1054. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  1055. $member_id = $weprogram_token['member_id'];
  1056. if( empty($member_id) )
  1057. {
  1058. $result['code'] = 2;
  1059. $result['msg'] = '登录失效';
  1060. echo json_encode($result);
  1061. die();
  1062. }
  1063. $order_info = M('order')->where( array('order_id' => $order_id) )->find();
  1064. //shipping_cha_time 86400 43200
  1065. $now_time = time();
  1066. if($now_time - $order_info['shipping_cha_time'] >= 43200)
  1067. {
  1068. //即时查询接口
  1069. $seller_express = M('seller_express')->where( array('id' =>$order_info['shipping_method'] ) )->find();
  1070. //$seller_express['jianma'] = 'YTO';
  1071. //$order_info['shipping_no'] = '887406591556327434';
  1072. if(!empty($seller_express['jianma']))
  1073. {
  1074. //887406591556327434 YTO
  1075. //TODO...
  1076. $ebuss_info = M('config')->where( array('name' => 'EXPRESS_EBUSS_ID') )->find();
  1077. $exappkey = M('config')->where( array('name' => 'EXPRESS_APPKEY') )->find();
  1078. $req_url = "http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx";
  1079. $this->ebusinessid = $ebuss_info['value'];
  1080. $this->appkey = $exappkey['value'];
  1081. $requestData= "{'OrderCode':'".$order_id."','ShipperCode':'".$seller_express['jianma']."','LogisticCode':'". $order_info['shipping_no']."'}";
  1082. $datas = array(
  1083. 'EBusinessID' => $ebuss_info['value'],
  1084. 'RequestType' => '1002',
  1085. 'RequestData' => urlencode($requestData) ,
  1086. 'DataType' => '2',
  1087. );
  1088. $datas['DataSign'] = $this->encrypt($requestData, $exappkey['value']);
  1089. $result=$this->sendPost($req_url, $datas);
  1090. $result = json_decode($result);
  1091. //根据公司业务处理返回的信息......
  1092. //Traces
  1093. if(!empty($result->Traces))
  1094. {
  1095. $order_info['shipping_traces'] = serialize($result->Traces);
  1096. M('order')->where( array('order_id' => $order_id) )->save( array('shipping_cha_time' => time(), 'shipping_traces' => $order_info['shipping_traces']) );
  1097. }
  1098. }
  1099. }
  1100. $order_goods = M('order_goods')->where( array('order_id' => $order_id) )->find();
  1101. $goods_info = M('goods')->field('image')->where( array('goods_id' => $order_goods['goods_id']) )->find();
  1102. $goods_info['image']=C('SITE_URL'). resize($goods_info['image'], C('common_image_thumb_width'), C('common_image_thumb_height'));
  1103. $seller_express = M('seller_express')->where( array('id' =>$order_info['shipping_method'] ) )->find();
  1104. //shipping_traces
  1105. $order_info['shipping_traces'] = unserialize($order_info['shipping_traces']) ;
  1106. echo json_encode( array('code' => 0, 'seller_express' => $seller_express, 'goods_info' => $goods_info, 'order_info' => $order_info) );
  1107. die();
  1108. //$this->seller_express = $seller_express;
  1109. //$this->goods_info = $goods_info;
  1110. //$this->order_info = $order_info;
  1111. //$this->display();
  1112. }
  1113. /**
  1114. * post提交数据
  1115. * @param string $url 请求Url
  1116. * @param array $datas 提交的数据
  1117. * @return url响应返回的html
  1118. */
  1119. function sendPost($url, $datas) {
  1120. $temps = array();
  1121. foreach ($datas as $key => $value) {
  1122. $temps[] = sprintf('%s=%s', $key, $value);
  1123. }
  1124. $post_data = implode('&', $temps);
  1125. $url_info = parse_url($url);
  1126. if(empty($url_info['port']))
  1127. {
  1128. $url_info['port']=80;
  1129. }
  1130. $httpheader = "POST " . $url_info['path'] . " HTTP/1.0\r\n";
  1131. $httpheader.= "Host:" . $url_info['host'] . "\r\n";
  1132. $httpheader.= "Content-Type:application/x-www-form-urlencoded\r\n";
  1133. $httpheader.= "Content-Length:" . strlen($post_data) . "\r\n";
  1134. $httpheader.= "Connection:close\r\n\r\n";
  1135. $httpheader.= $post_data;
  1136. $fd = fsockopen($url_info['host'], $url_info['port']);
  1137. fwrite($fd, $httpheader);
  1138. $gets = "";
  1139. $headerFlag = true;
  1140. while (!feof($fd)) {
  1141. if (($header = @fgets($fd)) && ($header == "\r\n" || $header == "\n")) {
  1142. break;
  1143. }
  1144. }
  1145. while (!feof($fd)) {
  1146. $gets.= fread($fd, 128);
  1147. }
  1148. fclose($fd);
  1149. return $gets;
  1150. }
  1151. /**
  1152. * 电商Sign签名生成
  1153. * @param data 内容
  1154. * @param appkey Appkey
  1155. * @return DataSign签名
  1156. */
  1157. function encrypt($data, $appkey) {
  1158. return urlencode(base64_encode(md5($data.$appkey)));
  1159. }
  1160. /**
  1161. 订单确认收货接口
  1162. **/
  1163. function receive_order()
  1164. {
  1165. $token = I('get.token');
  1166. $order_id = I('get.order_id');
  1167. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  1168. $member_id = $weprogram_token['member_id'];
  1169. if( empty($member_id) )
  1170. {
  1171. $result['code'] = 2;
  1172. $result['msg'] = '登录失效';
  1173. echo json_encode($result);
  1174. die();
  1175. }
  1176. $order_info = M('order')->where( array('member_id' => $member_id,'order_id' => $order_id) )->find();
  1177. if(empty($order_info)){
  1178. $result['code'] = 1;
  1179. $result['msg'] = '非法操作,会员不存在该订单';
  1180. echo json_encode($result);
  1181. die();
  1182. }
  1183. $model = D('Home/Order');
  1184. $model->receive_order($order_id);
  1185. $result['code'] = 0;
  1186. echo json_encode($result);
  1187. die();
  1188. }
  1189. /**
  1190. 取消订单操作
  1191. **/
  1192. public function cancel_order()
  1193. {
  1194. $token = I('get.token');
  1195. $order_id = I('get.order_id');
  1196. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  1197. $member_id = $weprogram_token['member_id'];
  1198. if( empty($member_id) )
  1199. {
  1200. $result['code'] = 2;
  1201. $result['msg'] = '登录失效';
  1202. echo json_encode($result);
  1203. die();
  1204. }
  1205. $order_info = M('order')->where( array('member_id' => $member_id,'order_id' => $order_id) )->find();
  1206. if(empty($order_info)){
  1207. $result['code'] = 1;
  1208. $result['msg'] = '非法操作,会员不存在该订单';
  1209. echo json_encode($result);
  1210. die();
  1211. }
  1212. $model = D('Home/Order');
  1213. $model->cancel_order($order_id);
  1214. $result['code'] = 0;
  1215. echo json_encode($result);
  1216. die();
  1217. }
  1218. function group_info()
  1219. {
  1220. $interface_get_time = time();
  1221. $token = I('get.token');
  1222. $order_id = I('get.order_id');
  1223. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  1224. $member_id = $weprogram_token['member_id'];
  1225. $is_show = 0;
  1226. //获取拼团商品信息
  1227. $order_goods_sql = "select name,goods_id,price,total,goods_images,quantity from ".C('DB_PREFIX')."order_goods
  1228. where order_id = {$order_id} limit 1";
  1229. $order_goods_arr = M()->query($order_goods_sql);
  1230. if(empty($order_goods_arr))
  1231. {
  1232. //未找到
  1233. echo json_encode( array('code' =>1) );
  1234. die();
  1235. }
  1236. $order_goods = $order_goods_arr[0];
  1237. $order_goods['price'] = round($order_goods['price'],2);
  1238. $order_goods['total'] = round($order_goods['total'],2);
  1239. //"price": "0.0100",
  1240. //"total": "0.0100",
  1241. $order_info = M('order')->field('member_id')->where( array('order_id' => $order_id) )->find();
  1242. $order_goods['image']=C('SITE_URL'). resize($order_goods['goods_images'], C('common_image_thumb_width'), C('common_image_thumb_height'));
  1243. $order_goods['goods_images'] = C('SITE_URL').'Uploads/image/'.$order_goods['goods_images'];
  1244. $goods_info = M('goods')->field('name,price,seller_count,virtual_count')->where( array('goods_id' => $order_goods['goods_id']) )->find();
  1245. $goods_desc = M('goods_description')->field('share_group_title')->where( array('goods_id' => $order_goods['goods_id']) )->find();
  1246. $goods_info['seller_count'] = $goods_info['seller_count'] + $goods_info['virtual_count'];
  1247. unset($goods_info['virtual_count']);
  1248. //pin_price
  1249. // $pin_goods = M('pin_goods')->where( array('goods_id' => $order_goods['goods_id']) )->find();
  1250. //pin_price
  1251. //$pin_goods['pin_price_del'] = explode('.',$pin_goods['pin_price']);
  1252. //price
  1253. //unset($pin_goods['customer_id']);
  1254. $water_image = '';
  1255. $pin_order = M('pin_order')->where( array('order_id' =>$order_id) )->find();
  1256. //获取拼团信息
  1257. $pin_info = M('pin')->where( array('pin_id' => $pin_order['pin_id']) )->find();
  1258. if($pin_info['state'] == 0 && $pin_info['end_time'] < time()){
  1259. $pin_info['state'] = 2;
  1260. }
  1261. $tuanzhang_info = M('member')->where( array('member_id' => $pin_info['user_id']) )->find();
  1262. $pin_order_sql = "select po.add_time,m.member_id,m.name,m.telephone,m.avatar from ".C('DB_PREFIX')."pin_order as po,".C('DB_PREFIX')."order as o,
  1263. ".C('DB_PREFIX')."order_goods as og,".C('DB_PREFIX')."member as m
  1264. where po.pin_id = ".$pin_info['pin_id']." and o.order_status_id in(1,2,4,6,7,8,9,10,11)
  1265. and og.order_id = po.order_id and o.order_id = po.order_id and o.member_id= m.member_id order by po.add_time asc ";
  1266. $pin_order_arr = M()->query($pin_order_sql);
  1267. $me_take_in = 0;
  1268. foreach($pin_order_arr as $key =>$val)
  1269. {
  1270. if($member_id == $val['member_id'])
  1271. {
  1272. $me_take_in = 1;
  1273. }
  1274. $pin_order_arr[$key] = $val;
  1275. }
  1276. if($pin_info['is_jiqi'] == 1)
  1277. {
  1278. $jia_list = M('jiapinorder')->where( array('pin_id' => $pin_info['pin_id']) )->select();
  1279. foreach( $jia_list as $jia_val )
  1280. {
  1281. $tmp_arr = array();
  1282. $tmp_arr['add_time'] = $jia_val['addtime'];
  1283. $tmp_arr['member_id'] = 1;
  1284. $tmp_arr['name'] = $jia_val['uname'];
  1285. $tmp_arr['telephone'] = $jia_val['mobile'];
  1286. $tmp_arr['avatar'] = $jia_val['avatar'];
  1287. $pin_order_arr[] = $tmp_arr;
  1288. //po.add_time,m.member_id,m.name,m.telephone,m.avatar
  1289. }
  1290. }
  1291. $is_me = 0;
  1292. if($order_info['member_id'] == $member_id)
  1293. {
  1294. $is_me = 1;
  1295. }
  1296. $share_title = "不要错过~我".round($order_goods['price'],2)."元拼了".$goods_info['name'];
  1297. if(!empty($goods_desc['share_group_title']) )
  1298. {
  1299. $share_title = $goods_desc['share_group_title'];
  1300. $share_title = str_replace('{pin_price}',round($order_goods['price'],2),$share_title);
  1301. $share_title = str_replace('{name}',$goods_info['name'],$share_title);
  1302. }
  1303. $this->is_me = $is_me;
  1304. $this->goods_info = $goods_info;
  1305. //$this->pin_goods = $pin_goods;
  1306. $this->pin_order = $pin_order;
  1307. $this->me_take_in = $me_take_in;
  1308. $this->pin_info = $pin_info;
  1309. $this->share_title = $share_title;
  1310. $this->tuanzhang_info = $tuanzhang_info;
  1311. $this->pin_order_arr = $pin_order_arr;
  1312. $this->order_goods = $order_goods;
  1313. $this->order_id = $order_id;
  1314. $this->group_order_id = $group_order_id;
  1315. /* 商品规格begin */
  1316. //get_goods_options($goods_id)
  1317. $goods_model = D('Home/Goods');
  1318. //$this->options=$goods_model->get_goods_options($order_goods['goods_id']);
  1319. $goods_option_mult_value = M('goods_option_mult_value')->where( array('goods_id' =>$order_goods['goods_id']) )->order('id asc')->select();
  1320. $goods_option_mult_value_ref = array();
  1321. foreach($goods_option_mult_value as $key => $val)
  1322. {
  1323. $val['image'] = resize($val['image'],200,200);
  1324. $goods_option_mult_value[$key] = $val;
  1325. $goods_option_mult_value_ref[ $val['rela_goodsoption_valueid'] ] = $val;
  1326. }
  1327. $this->goods_option_mult_value_ref = $goods_option_mult_value_ref;
  1328. /* 商品规格end */
  1329. unset( $tuanzhang_info['reg_type'] );
  1330. unset( $tuanzhang_info['openid'] );
  1331. unset( $tuanzhang_info['we_openid'] );
  1332. unset( $tuanzhang_info['bindmobile'] );
  1333. unset( $tuanzhang_info['uname'] );
  1334. unset( $tuanzhang_info['email'] );
  1335. unset( $tuanzhang_info['pwd'] );
  1336. unset( $tuanzhang_info['address_id'] );
  1337. unset( $tuanzhang_info['share_id'] );
  1338. unset( $tuanzhang_info['comsiss_flag'] );
  1339. unset( $tuanzhang_info['bind_seller_id'] );
  1340. unset( $tuanzhang_info['bind_seller_pickup'] );
  1341. unset( $tuanzhang_info['cart'] );
  1342. unset( $tuanzhang_info['wishlist'] );
  1343. unset( $tuanzhang_info['id_cardreal_name'] );
  1344. unset( $tuanzhang_info['id_card'] );
  1345. unset( $tuanzhang_info['login_count'] );
  1346. unset( $tuanzhang_info['last_login_ip'] );
  1347. unset( $tuanzhang_info['last_ip_region'] );
  1348. unset( $tuanzhang_info['create_time'] );
  1349. unset( $tuanzhang_info['last_login_time'] );
  1350. unset( $tuanzhang_info['status'] );
  1351. $options = $goods_model->get_goods_options($order_goods['goods_id']);
  1352. if( empty($goods_option_mult_value))
  1353. {
  1354. $options= array('list' => array() );
  1355. }
  1356. $need_data = array();
  1357. $need_data['is_me'] = $is_me;
  1358. $need_data['goods_info'] = $goods_info;
  1359. //$need_data['pin_goods'] = $pin_goods;
  1360. $need_data['pin_order'] = $pin_order;
  1361. $need_data['me_take_in'] = $me_take_in;
  1362. $need_data['share_title'] = $share_title;
  1363. $need_data['pin_info'] = $pin_info;
  1364. $need_data['tuanzhang_info'] = $tuanzhang_info;
  1365. $need_data['pin_order_arr'] = $pin_order_arr;
  1366. $need_data['order_goods'] = $order_goods;
  1367. $need_data['order_id'] = $order_id;
  1368. $need_data['group_order_id'] = $group_order_id;
  1369. $need_data['options'] = $options;
  1370. $need_data['interface_get_time'] = $interface_get_time;
  1371. $need_data['del_count'] = $pin_info['need_count'] - count($pin_order_arr);
  1372. //$need_data['goods_option_mult_value_ref'] = $goods_option_mult_value_ref;
  1373. echo json_encode( array('code' =>0, 'data' => $need_data) );
  1374. die();
  1375. }
  1376. /**
  1377. 核销代码开始
  1378. **/
  1379. public function hexiao_pickup()
  1380. {
  1381. $token = I('get.token');
  1382. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  1383. $member_id = $weprogram_token['member_id'];
  1384. //$member_id = is_login();
  1385. $member_info = M('member')->where( array('member_id' => $member_id) )->find();
  1386. if($member_info['bind_seller_pickup'] <= 0)
  1387. {
  1388. echo json_encode( array('code' => 1,'msg' => '您不是核销人员') );
  1389. die();
  1390. }
  1391. $pick_sn = I('get.pick_sn');
  1392. $pick_order = M('pick_order')->where( array('pick_sn' => $pick_sn) )->find();
  1393. $pick_member_info = M('pick_member')->where( array('member_id' => $member_id) )->find();
  1394. if($pick_member_info['pick_up_id'] > 0 && $pick_member_info['pick_up_id'] != $pick_order['pick_id'])
  1395. {
  1396. echo json_encode( array('code' => 1,'msg' => '您无此门店核销权限') );
  1397. die();
  1398. }
  1399. //pick_id
  1400. //order_id pick_id
  1401. $order_id = $pick_order['order_id'];
  1402. $order_goods = M('order_goods')->where( array('order_id' => $pick_order['order_id']) )->find();
  1403. if($order_goods['store_id'] != $member_info['bind_seller_pickup'])
  1404. {
  1405. echo json_encode( array('code' => 1,'msg' => '您无此商家核销权限') );
  1406. die();
  1407. }
  1408. $store_info = M('seller')->where('s_id='.$order_goods['store_id'])->find();
  1409. $order_info = M('order')->where( array('order_id' => $order_id) )->find();
  1410. $pick_up_info = array();
  1411. $pick_order_info = array();
  1412. if( $order_info['delivery'] == 'pickup' )
  1413. {
  1414. //查询自提点
  1415. $pick_order_info = M('pick_order')->where( array('order_id' => $order_id) )->find();
  1416. $pick_id = $pick_order_info['pick_id'];
  1417. $pick_up_info = M('pick_up')->where( array('id' => $pick_id) )->find();
  1418. }
  1419. //$this->pick_up_info = $pick_up_info;
  1420. $order_status_info = M('order_status')->where( array('order_status_id' => $order_info['order_status_id']) )->find();
  1421. //10 name
  1422. if($order_info['order_status_id'] == 10)
  1423. {
  1424. $order_status_info['name'] = '等待退款';
  1425. }
  1426. else if($order_info['order_status_id'] == 1 && $order_info['type'] == 'lottery')
  1427. {
  1428. //等待开奖
  1429. //一等奖
  1430. if($order_info['lottery_win'] == 1)
  1431. {
  1432. $order_status_info['name'] = '一等奖';
  1433. }else {
  1434. $order_status_info['name'] = '等待开奖';
  1435. }
  1436. }
  1437. $shipping_province = M('area')->where( array('area_id' => $order_info['shipping_province_id']) )->find();
  1438. $shipping_city = M('area')->where( array('area_id' => $order_info['shipping_city_id']) )->find();
  1439. $shipping_country = M('area')->where( array('area_id' => $order_info['shipping_country_id']) )->find();
  1440. $order_goods_list = M('order_goods')->where( array('order_id' => $order_id) )->select();
  1441. foreach($order_goods_list as $key => $order_goods)
  1442. {
  1443. $order_option_info = M('order_option')->field('value')->where( array('order_id' =>$order_id,'order_goods_id' => $order_goods['order_goods_id']) )->select();
  1444. foreach($order_option_info as $option)
  1445. {
  1446. $vv['option_str'][] = $option['value'];
  1447. }
  1448. if(empty($vv['option_str']))
  1449. {
  1450. //option_str
  1451. $order_goods['option_str'] = '';
  1452. }else{
  1453. $order_goods['option_str'] = implode(',', $vv['option_str']);
  1454. }
  1455. //
  1456. $order_goods['shipping_fare'] = round($order_goods['shipping_fare'],2);
  1457. $order_goods['price'] = round($order_goods['price'],2);
  1458. $order_goods['total'] = round($order_goods['total'],2);
  1459. $order_goods['image']=C('SITE_URL').resize($order_goods['goods_images'], C('common_image_thumb_width'), C('common_image_thumb_height'));
  1460. $order_goods['goods_images']= C('SITE_URL').'/Uploads/image/'.$order_goods['goods_images'];
  1461. $store_info = M('seller')->field('s_true_name,s_logo')->where('s_id='.$order_goods['store_id'])->find();
  1462. $store_info['s_logo'] = C('SITE_URL').'/Uploads/image/'.$store_info['s_logo'];
  1463. $order_goods['store_info'] = $store_info;
  1464. unset($order_goods['model']);
  1465. unset($order_goods['rela_goodsoption_valueid']);
  1466. unset($order_goods['comment']);
  1467. $order_goods_list[$key] = $order_goods;
  1468. }
  1469. unset($order_info['store_id']);
  1470. unset($order_info['type']);
  1471. unset($order_info['email']);
  1472. unset($order_info['shipping_city_id']);
  1473. unset($order_info['shipping_country_id']);
  1474. unset($order_info['shipping_province_id']);
  1475. unset($order_info['comment']);
  1476. unset($order_info['voucher_id']);
  1477. unset($order_info['voucher_credit']);
  1478. unset($order_info['is_balance']);
  1479. unset($order_info['lottery_win']);
  1480. unset($order_info['ip']);
  1481. unset($order_info['ip_region']);
  1482. unset($order_info['user_agent']);
  1483. $order_info['shipping_fare'] = round($order_info['shipping_fare'],2);
  1484. $order_info['total'] = round($order_info['total'],2);
  1485. $order_info['price'] = round($order_info['price'],2);
  1486. $order_info['date_added'] = date('Y-m-d H:i:s', $order_info['date_added']);
  1487. $need_data = array();
  1488. $need_data['order_info'] = $order_info;
  1489. $need_data['order_status_info'] = $order_status_info;
  1490. $need_data['shipping_province'] = $shipping_province;
  1491. $need_data['shipping_city'] = $shipping_city;
  1492. $need_data['shipping_country'] = $shipping_country;
  1493. $need_data['order_goods_list'] = $order_goods_list;
  1494. //$order_info['order_status_id'] 13 平台介入退款
  1495. $order_refund_historylist = array();
  1496. $pingtai_deal = 0;
  1497. //判断是否已经平台处理完毕
  1498. $order_refund_historylist = M('order_refund_history')->where( array('order_id' => $order_id) )->order('addtime asc')->select();
  1499. foreach($order_refund_historylist as $key => $val)
  1500. {
  1501. if($val['type'] ==3)
  1502. {
  1503. $pingtai_deal = 1;
  1504. }
  1505. }
  1506. //order_refund
  1507. $order_refund = M('order_refund')->where( array('order_id' => $order_id) )->find();
  1508. if(!empty($order_refund))
  1509. {
  1510. $order_refund['addtime'] = date('Y-m-d H:i:s', $order_refund['addtime']);
  1511. }
  1512. $need_data['pick_up'] = $pick_up_info;
  1513. $need_data['pick_order_info'] = $pick_order_info;
  1514. //https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
  1515. //https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
  1516. echo json_encode( array('code' => 0,'data' => $need_data,'pingtai_deal' => $pingtai_deal,'order_refund' => $order_refund ) );
  1517. die();
  1518. }
  1519. /**
  1520. 核销
  1521. **/
  1522. public function pickup_pickage()
  1523. {
  1524. $token = I('get.token');
  1525. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  1526. $member_id = $weprogram_token['member_id'];
  1527. //$member_id = is_login();
  1528. $member_info = M('member')->where( array('member_id' => $member_id) )->find();
  1529. if($member_info['bind_seller_pickup'] <= 0)
  1530. {
  1531. echo json_encode( array('code' => 1,'msg' => '您不是核销人员') );
  1532. die();
  1533. }
  1534. $pick_sn = I('get.pick_sn');
  1535. $pick_order = M('pick_order')->where( array('pick_sn' => $pick_sn) )->find();
  1536. $pick_member_info = M('pick_member')->where( array('member_id' => $member_id) )->find();
  1537. if($pick_member_info['pick_up_id'] > 0 && $pick_member_info['pick_up_id'] != $pick_order['pick_id'])
  1538. {
  1539. echo json_encode( array('code' => 1,'msg' => '您无此门店核销权限') );
  1540. die();
  1541. }
  1542. //order_id pick_id
  1543. $order_id = $pick_order['order_id'];
  1544. $order_goods = M('order_goods')->where( array('order_id' => $pick_order['order_id']) )->find();
  1545. if($order_goods['store_id'] != $member_info['bind_seller_pickup'])
  1546. {
  1547. echo json_encode( array('code' => 1,'msg' => '您无此商家核销权限') );
  1548. die();
  1549. }
  1550. $pick_id = $pick_order['id'];
  1551. //$pick_id = I('get.pick_id');
  1552. $pick_order = M('pick_order')->where( array('id' => $pick_id) )->find();
  1553. $member_id = is_login();
  1554. $member_info = M('member')->where( array('member_id' => $member_id) )->find();
  1555. $result = array('code' => 0,'msg' => '');
  1556. $order_goods = M('order_goods')->where( array('order_id' => $pick_order['order_id']) )->find();
  1557. //发送订单佣金
  1558. //pick_member_id
  1559. $res = M('pick_order')->where( array('id' => $pick_id) )->save( array('pick_member_id' => $member_id, 'state' => 1, 'tihuo_time' => time()) );
  1560. if($res)
  1561. {
  1562. M('order')->where( array('order_id' => $pick_order['order_id']) )->save( array('order_status_id' => 6) );
  1563. $fenxiao_model = D('Home/Fenxiao');
  1564. $fenxiao_model->send_order_commiss_money($pick_order['order_id']);
  1565. //准备发送订单的 send_order_score_dr($order_id)
  1566. $integral_model = D('Seller/Integral');
  1567. $integral_model->send_order_score_dr($pick_order['order_id']);
  1568. $history_data = array();
  1569. $history_data['order_id'] = $pick_order['order_id'];
  1570. $history_data['order_status_id'] = 6;
  1571. $history_data['notify'] = 0;
  1572. $history_data['comment'] = '用户提货,核销';
  1573. $history_data['date_added'] = time();
  1574. M('order_history')->add($history_data);
  1575. $notify_model = D('Home/Weixinnotify');
  1576. $notify_model->sendPickupsuccessMsg($pick_order['order_id']);
  1577. $result['code'] = 0;
  1578. }
  1579. echo json_encode($result);
  1580. die();
  1581. }
  1582. /**
  1583. 绑定自提订单核销管理员
  1584. **/
  1585. public function bind_pickup_order()
  1586. {
  1587. $seller_store_id = I('get.seller_store_id');
  1588. $token = I('get.token');
  1589. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  1590. $member_id = $weprogram_token['member_id'];
  1591. //$member_id = is_login();
  1592. $member_info = M('member')->where( array('member_id' => $member_id) )->find();
  1593. if( empty($member_info) )
  1594. {
  1595. echo json_encode( array('code' => 1,'msg' => '您未登录') );
  1596. die();
  1597. }
  1598. $seller_store_arr = explode('_', $seller_store_id);
  1599. $seller_id = $seller_store_arr[0];
  1600. $pick_up_id = $seller_store_arr[1];
  1601. $seller_info = M('seller')->field('s_true_name')->where( array('s_id' => $seller_id) )->find();
  1602. $store_name = '所有门店';
  1603. if( $pick_up_id > 0 )
  1604. {
  1605. $pick_up_info = M('pick_up')->where( array('id' => $pick_up_id) )->find();
  1606. $store_name = $pick_up_info['pick_name'];
  1607. }
  1608. echo json_encode( array('code' => 0,'seller_name' => $seller_info['s_true_name'], 'store_name' => $store_name ) );
  1609. die();
  1610. }
  1611. /**
  1612. 解除绑定自提订单核销管理员
  1613. **/
  1614. public function unbind_pickup_order()
  1615. {
  1616. $seller_store_id = I('get.seller_store_id');
  1617. $token = I('get.token');
  1618. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  1619. $member_id = $weprogram_token['member_id'];
  1620. //$member_id = is_login();
  1621. $member_info = M('member')->where( array('member_id' => $member_id) )->find();
  1622. if( empty($member_info) )
  1623. {
  1624. echo json_encode( array('code' => 1,'msg' => '您未登录') );
  1625. die();
  1626. }
  1627. $seller_store_arr = explode('_', $seller_store_id);
  1628. $seller_id = $seller_store_arr[0];
  1629. $pick_up_id = $seller_store_arr[1];
  1630. $data = array();
  1631. $data['bind_seller_pickup'] = 0;
  1632. $res = M('member')->where( array('member_id' => $member_id) )->save($data);
  1633. $this->display();
  1634. }
  1635. public function bind_pickup_post()
  1636. {
  1637. $seller_store_id = I('get.seller_store_id');
  1638. $token = I('get.token');
  1639. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  1640. $member_id = $weprogram_token['member_id'];
  1641. $member_info = M('member')->where( array('member_id' => $member_id) )->find();
  1642. if( empty($member_info) )
  1643. {
  1644. echo json_encode( array('code' => 1,'msg' => '您未登录') );
  1645. die();
  1646. }
  1647. $seller_store_arr = explode('_', $seller_store_id);
  1648. $seller_id = $seller_store_arr[0];
  1649. $pick_up_id = $seller_store_arr[1];
  1650. $data = array();
  1651. $data['bind_seller_pickup'] = $seller_id;
  1652. $res = M('member')->where( array('member_id' => $member_id) )->save($data);
  1653. M('pick_member')->where( array('member_id' => $member_id) )->delete();
  1654. $pick_member_data = array();
  1655. $pick_member_data['member_id'] = $member_id;
  1656. $pick_member_data['pick_up_id'] = $pick_up_id;
  1657. $pick_member_data['state'] = 1;
  1658. $pick_member_data['store_id'] = $seller_id;
  1659. $pick_member_data['addtime'] = time();
  1660. M('pick_member')->add($pick_member_data);
  1661. $result = array('code' => 0);
  1662. echo json_encode($result);
  1663. die();
  1664. }
  1665. /**
  1666. 核销代码结束
  1667. **/
  1668. /**
  1669. groupleaderindex
  1670. 分销商资料获取
  1671. **/
  1672. public function groupleaderindex()
  1673. {
  1674. $token = I('get.token');
  1675. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  1676. $member_id = $weprogram_token['member_id'];
  1677. $member_info = M('member')->where( array('member_id' => $member_id) )->find();
  1678. if( empty($member_info) )
  1679. {
  1680. echo json_encode( array('code' => 1,'msg' => '您未登录') );
  1681. die();
  1682. }
  1683. //查找一级数量
  1684. $tuanyuan_arr = M('member')->field('member_id')->where( array('share_id' => $member_id) )->select();
  1685. $tuanyuan_count = count($tuanyuan_arr);// $tuanyuan_count;
  1686. //查找二级数量
  1687. $second_tuanyuan_count = 0;
  1688. $second_arr = array();
  1689. if( !empty($tuanyuan_arr) )
  1690. {
  1691. $ids_arr = array();
  1692. foreach($tuanyuan_arr as $val)
  1693. {
  1694. $ids_arr[] = $val['member_id'];
  1695. }
  1696. $second_arr = M('member')->field('member_id')->where( array('share_id' => array('in', $ids_arr) ) )->select();
  1697. $second_tuanyuan_count = count($second_arr);
  1698. }
  1699. $second_tuanyuan_count = $second_tuanyuan_count;
  1700. //查找三级数量
  1701. $three_tuanyuan_count = 0;
  1702. if( !empty($second_arr) )
  1703. {
  1704. $ids_arr = array();
  1705. foreach($second_arr as $val)
  1706. {
  1707. $ids_arr[] = $val['member_id'];
  1708. }
  1709. $three_tuanyuan_count = M('member')->field('member_id')->where( array('share_id' => array('in', $ids_arr) ) )->count();
  1710. }
  1711. $three_tuanyuan_count = $three_tuanyuan_count;
  1712. $member_commiss = M('member_commiss')->where( array('member_id' => $member_id) )->find();
  1713. //$this->member_commiss = $member_commiss;
  1714. $opencommiss_arr = M('config')->where( array('name' => 'opencommiss') )->find();
  1715. $is_open_commiss = $opencommiss_arr['value'];
  1716. $tuijian_ren = '平台';
  1717. if($member_info['share_id'] > 0)
  1718. {
  1719. $tui_member = M('member')->field('uname')->where( array('member_id' => $member_info['share_id']) )->find();
  1720. $tuijian_ren = $tui_member['uname'];
  1721. }
  1722. //$this->tuijian_ren = $tuijian_ren;
  1723. //{{user_info.member_commiss.getmoney}}
  1724. //dongmoney getmoney money
  1725. $member_model = D('Home/Member');
  1726. //待确认收入
  1727. $total_wait_where = array();
  1728. $total_wait_where['member_id'] = $member_id;
  1729. $total_wait_where['state'] = 0;
  1730. $total_wait_commiss = $member_model->sum_member_commiss($total_wait_where);
  1731. $all_commiss_money = $total_wait_commiss + $member_commiss['money'] +$member_commiss['getmoney']+$member_commiss['dongmoney'];
  1732. $need_data = array();
  1733. $need_data['tuanyuan_count'] = $tuanyuan_count;
  1734. $need_data['all_commiss_money'] = $all_commiss_money;
  1735. $need_data['second_tuanyuan_count'] = $second_tuanyuan_count;
  1736. $need_data['three_tuanyuan_count'] = $three_tuanyuan_count;
  1737. $need_data['member_commiss'] = $member_commiss;
  1738. $need_data['is_open_commiss'] = $is_open_commiss;
  1739. $need_data['tuijian_ren'] = $tuijian_ren;
  1740. $need_data['member_info'] = $member_info;
  1741. $need_data['commiss_level_num'] = C('commiss_level_num');
  1742. echo json_encode( array('code' =>0 , 'data' => $need_data) );
  1743. die();
  1744. }
  1745. /**
  1746. 获取佣金首页
  1747. **/
  1748. function tuanbonus_index()
  1749. {
  1750. $token = I('get.token');
  1751. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  1752. $member_id = $weprogram_token['member_id'];
  1753. $member_info = M('member')->where( array('member_id' => $member_id) )->find();
  1754. //sum_member_commiss($where = array())
  1755. $member_model = D('Home/Member');
  1756. //今日收入
  1757. $today_begin_time = strtotime( date('Y-m-d'.' 00:00:00') );
  1758. $today_end_time = $today_begin_time + 86400;
  1759. //$map['id'] = array('between','1,8'); $map['id'] = array('neq',100);
  1760. $today_where = array();
  1761. $today_where['member_id'] = $member_id;
  1762. $today_where['state'] = array('neq',2);
  1763. $today_where['addtime'] = array('between',$today_begin_time.','.$today_end_time);
  1764. $today_commiss = $member_model->sum_member_commiss($today_where);
  1765. //本月收入
  1766. $month_begin_time = strtotime( date("Y-m-d ",mktime(0, 0 , 0,date("m"),1,date("Y"))).' 00:00:00' );
  1767. $month_end_time = strtotime( date("Y-m-d ",mktime(23,59,59,date("m"),date("t"),date("Y"))).' 00:00:00' ) +86400;
  1768. $month_where = array();
  1769. $month_where['member_id'] = $member_id;
  1770. $month_where['state'] = array('neq',2);
  1771. $month_where['addtime'] = array('between',$month_begin_time.','.$month_end_time);
  1772. $month_commiss = $member_model->sum_member_commiss($month_where);
  1773. //累计收入
  1774. $total_where = array();
  1775. $total_where['member_id'] = $member_id;
  1776. $total_where['state'] = array('neq',2);
  1777. $total_commiss = $member_model->sum_member_commiss($total_where);
  1778. //待确认收入
  1779. $total_wait_where = array();
  1780. $total_wait_where['member_id'] = $member_id;
  1781. $total_wait_where['state'] = 0;
  1782. $total_wait_commiss = $member_model->sum_member_commiss($total_wait_where);
  1783. //可提现金额
  1784. $member_commiss = M('member_commiss')->where( array('member_id' => $member_id) )->find();
  1785. $this->today_commiss = round($today_commiss, 2);
  1786. $this->month_commiss = round($month_commiss, 2);
  1787. $this->total_commiss = round($total_commiss, 2);
  1788. $this->total_wait_commiss = round($total_wait_commiss, 2);
  1789. $can_tixian_money = 0;
  1790. if(!empty($member_commiss)) {
  1791. $can_tixian_money = $member_commiss['money'];
  1792. }
  1793. $this->can_tixian_money = round($can_tixian_money, 2);
  1794. $comsiss_flag = $member_info['comsiss_flag'];
  1795. if($member_info['comsiss_flag'] == 0)
  1796. {
  1797. //state
  1798. $member_commiss_apply = M('member_commiss_apply')->where( array('member_id' =>$member_id, 'state' =>0) )
  1799. ->find();
  1800. if(!empty($member_commiss_apply)) {
  1801. $comsiss_flag = 2;
  1802. }
  1803. }
  1804. $this->comsiss_flag = $comsiss_flag;
  1805. $need_data = array();
  1806. $need_data['today_commiss'] = round($today_commiss, 2);
  1807. $need_data['month_commiss'] = round($month_commiss, 2);
  1808. $need_data['total_commiss'] = round($total_commiss, 2);
  1809. $need_data['total_wait_commiss'] = round($total_wait_commiss, 2);
  1810. $need_data['can_tixian_money'] = round($can_tixian_money, 2);
  1811. $need_data['comsiss_flag'] = $comsiss_flag;
  1812. echo json_encode( array('code' =>0, 'data' => $need_data ) );
  1813. die();
  1814. //$this->display();
  1815. }
  1816. /**
  1817. 获取账单详情
  1818. **/
  1819. public function listorder()
  1820. {
  1821. $token = I('get.token');
  1822. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  1823. $member_id = $weprogram_token['member_id'];
  1824. $member_info = M('member')->where( array('member_id' => $member_id) )->find();
  1825. //今日新增
  1826. $today_begin_time = strtotime( date('Y-m-d'.' 00:00:00') );
  1827. $today_end_time = $today_begin_time + 86400;
  1828. $today_where = array();
  1829. $today_where['member_id'] = $member_id;
  1830. $today_where['addtime'] = array('between',$today_begin_time.','.$today_end_time);
  1831. $today_count = M('member_commiss_order')->where( $today_where )->count();
  1832. //昨日新增
  1833. $yes_begin_time = $today_begin_time - 86400;
  1834. $yes_end_time = $today_begin_time;
  1835. $yes_where = array();
  1836. $yes_where['member_id'] = $member_id;
  1837. $yes_where['addtime'] = array('between',$yes_begin_time.','.$yes_end_time);
  1838. $yes_count = M('member_commiss_order')->where( $yes_where )->count();
  1839. //总订单量
  1840. $total_where = array();
  1841. $total_where['member_id'] = $member_id;
  1842. $total_count = M('member_commiss_order')->where( $total_where )->count();
  1843. $need_data = array();
  1844. $need_data['today_count'] = $today_count;
  1845. $need_data['yes_count'] = $yes_count;
  1846. $need_data['total_count'] = $total_count;
  1847. echo json_encode( array('code' =>0, 'data' => $need_data) );
  1848. die();
  1849. $this->display();
  1850. }
  1851. /**
  1852. 获取账单详情列表
  1853. **/
  1854. public function listorder_list()
  1855. {
  1856. $token = I('get.token');
  1857. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  1858. $member_id = $weprogram_token['member_id'];
  1859. $member_info = M('member')->where( array('member_id' => $member_id) )->find();
  1860. $per_page = 6;
  1861. $page = I('get.page',1);
  1862. $offset = ($page - 1) * $per_page;
  1863. $list = array();
  1864. $where = '';
  1865. $state = I('get.state',-1);
  1866. //state
  1867. if($state >=0)
  1868. {
  1869. $where = ' and mco.state = '.$state;
  1870. }
  1871. $commiss_level_num = C('commiss_level_num');
  1872. $where = ' and mco.level <= '.$commiss_level_num;
  1873. //$commiss_level_num = C('commiss_level_num'); level
  1874. $this->state = $state;
  1875. $sql = 'select mco.level, mco.money,mco.child_member_id,mco.addtime,mco.state,o.order_status_id,o.order_num_alias,o.total,og.goods_id,og.quantity,og.name,mco.store_id,m.uname from '.C('DB_PREFIX')."member_commiss_order as mco , ".C('DB_PREFIX')."order_goods as og, ".C('DB_PREFIX')."order as o , ".C('DB_PREFIX')."member as m
  1876. where mco.order_id=og.order_id and mco.order_id = o.order_id and m.member_id=mco.child_member_id and mco.member_id=".$member_id." {$where} order by mco.id desc limit {$offset},{$per_page}";
  1877. $list = M()->query($sql);
  1878. $order_status_list = M('order_status')->select();
  1879. $status_arr = array();
  1880. foreach($order_status_list as $vv)
  1881. {
  1882. $status_arr[$vv['order_status_id']] = $vv['name'];
  1883. }
  1884. foreach($list as $key =>$val)
  1885. {
  1886. $val['total'] = round($val['total'],2);
  1887. $val['money'] = round($val['money'],2);
  1888. $val['status_name'] = $status_arr[$val['order_status_id']];
  1889. $val['addtime'] = date('Y-m-d', $val['addtime']);
  1890. $goods_info = M('goods')->field('image')->where( array('goods_id' => $val['goods_id']) )->find();
  1891. $val['image']=C('SITE_URL'). resize($goods_info['image'], C('common_image_thumb_width'), C('common_image_thumb_height'));
  1892. $list[$key] = $val;
  1893. }
  1894. $this->list = $list;
  1895. if(empty($list))
  1896. {
  1897. echo json_encode( array('code' => 1) );
  1898. die();
  1899. }else {
  1900. echo json_encode( array('code' => 0, 'data' => $list) );
  1901. die();
  1902. }
  1903. }
  1904. /**
  1905. 检测是否绑定了银行卡
  1906. **/
  1907. public function check_tixian()
  1908. {
  1909. $token = I('get.token');
  1910. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  1911. $member_id = $weprogram_token['member_id'];
  1912. $member_info = M('member')->where( array('member_id' => $member_id) )->find();
  1913. $member_commiss = M('member_commiss')->where( array('member_id' => $member_id) )->find();
  1914. if( empty($member_commiss['bankname']) || empty($member_commiss['bankaccount']) || empty($member_commiss['bankusername']))
  1915. {
  1916. echo json_encode( array('code' =>0) );
  1917. die();
  1918. }else{
  1919. echo json_encode( array('code' => 1) );
  1920. die();
  1921. }
  1922. }
  1923. /**
  1924. 获取用户佣金信息
  1925. **/
  1926. public function get_tixian_info()
  1927. {
  1928. $token = I('get.token');
  1929. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  1930. $member_id = $weprogram_token['member_id'];
  1931. $limit_money = C('commiss_money_limit');
  1932. $member_info = M('member')->where( array('member_id' => $member_id) )->find();
  1933. $member_commiss = M('member_commiss')->where( array('member_id' => $member_id) )->find();
  1934. $member_commiss['limit_money'] = $limit_money;
  1935. echo json_encode( array('code' =>0,'data' => $member_commiss) );
  1936. die();
  1937. }
  1938. /**
  1939. 绑定银行卡
  1940. **/
  1941. public function bindcard()
  1942. {
  1943. $token = I('get.token');
  1944. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  1945. $member_id = $weprogram_token['member_id'];
  1946. $data_json = file_get_contents('php://input');
  1947. $datas = json_decode($data_json, true);
  1948. $bankusername = $datas['bankusername'];//I('post.bankusername','','htmlspecialchars');
  1949. $bankname = $datas['bankname'];//I('post.bankname','','htmlspecialchars');
  1950. $bankaccount = $datas['bankaccount'];//I('post.bankaccount','','htmlspecialchars');
  1951. $data = array();
  1952. $data['bankusername'] = $bankusername;
  1953. $data['bankname'] = $bankname;
  1954. $data['bankaccount'] = $bankaccount;
  1955. M('member_commiss')->where( array('member_id' => $member_id) )->save($data);
  1956. echo json_encode( array('code' => 0) );
  1957. die();
  1958. }
  1959. public function tixian_sub()
  1960. {
  1961. $token = I('get.token');
  1962. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  1963. $member_id = $weprogram_token['member_id'];
  1964. $member_info = M('member')->where( array('member_id' => $member_id) )->find();
  1965. $result = array('code' => 1,'msg' => '提现失败');
  1966. $member_commiss = M('member_commiss')->where( array('member_id' => $member_id) )->find();
  1967. $data_json = file_get_contents('php://input');
  1968. $datas = json_decode($data_json, true);
  1969. $money = $datas['money'];//I('post.money',0,'floatval');
  1970. $commiss_money_limit = C('commiss_money_limit');
  1971. if(!empty($commiss_money_limit) && $commiss_money_limit >0)
  1972. {
  1973. if($member_commiss['money'] < $commiss_money_limit)
  1974. {
  1975. $result['msg'] = '佣金满'.$commiss_money_limit.'才能提现';
  1976. echo json_encode($result);
  1977. die();
  1978. }
  1979. }
  1980. if($money > 0 && $money <= $member_commiss['money'])
  1981. {
  1982. $data = array();
  1983. $data['member_id'] = $member_id;
  1984. $data['money'] = $money;
  1985. $data['state'] = 0;
  1986. $data['shentime'] = 0;
  1987. $data['addtime'] = time();
  1988. M('tixian_order')->add($data);
  1989. $com_arr = array();
  1990. $com_arr['money'] = $member_commiss['money'] - $money;
  1991. $com_arr['dongmoney'] = $member_commiss['dongmoney'] + $money;
  1992. M('member_commiss')->where( array('member_id' => $member_id) )->save($com_arr);
  1993. $result['code'] = 0;
  1994. }
  1995. echo json_encode($result);
  1996. die();
  1997. }
  1998. /**
  1999. 提现记录
  2000. **/
  2001. public function tixian_record()
  2002. {
  2003. $token = I('get.token');
  2004. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  2005. $member_id = $weprogram_token['member_id'];
  2006. $member_info = M('member')->where( array('member_id' => $member_id) )->find();
  2007. $per_page = 5;
  2008. $page = I('get.page',1);
  2009. $offset = ($page - 1) * $per_page;
  2010. $list = array();
  2011. $sql = "select * from ".C('DB_PREFIX')."tixian_order
  2012. where member_id=".$member_id." order by addtime desc limit {$offset},{$per_page}";
  2013. $list = M()->query($sql);
  2014. foreach($list as $key => $val)
  2015. {
  2016. $val['addtime'] = date('Y-m-d', $val['addtime']);
  2017. $list[$key] = $val;
  2018. }
  2019. if( !empty($list) )
  2020. {
  2021. echo json_encode( array('code' =>0, 'data'=>$list) );
  2022. die();
  2023. }else{
  2024. echo json_encode( array('code' => 1) );
  2025. die();
  2026. }
  2027. }
  2028. public function cons_member_common($member_id)
  2029. {
  2030. $member_common = array('member_id'=>$member_id,'qrcode_img' => '');
  2031. M('member_common')->add($member_common);
  2032. return $member_common;
  2033. }
  2034. /**
  2035. 团长二维码
  2036. **/
  2037. public function qrcode()
  2038. {
  2039. $member_common = M('member_common')->where( array('member_id' => UID) )->find();
  2040. if(empty($member_common))
  2041. {
  2042. $member_common = $this->cons_member_common(UID);
  2043. }
  2044. $is_tan = 1;
  2045. $hashids = new \Lib\Hashids(C('PWD_KEY'), C('URL_ID'));
  2046. $member_id = UID;
  2047. $hash_member_id = $hashids->encode($member_id);
  2048. $url = C('SITE_URL')."index.php?s=/index/index/rmid/{$hash_member_id}";
  2049. if(empty($member_common['qrcode_img']))
  2050. {
  2051. $content = $url;
  2052. $target = C('SITE_URL').'Uploads/image/'.C('user_qrcode_image');
  2053. $user_qrcodebg_x = C('user_qrcode_x');
  2054. $user_qrcodebg_y = C('user_qrcode_y');
  2055. if(empty($user_qrcodebg_x))
  2056. {
  2057. $user_qrcodebg_x = 0;
  2058. }
  2059. if(empty($user_qrcodebg_y))
  2060. {
  2061. $user_qrcodebg_y = 0;
  2062. }
  2063. $new_image = get_compare_qrcode($content,$target,$user_qrcodebg_x,$user_qrcodebg_y);
  2064. $uarray = array( 'qrcode_img'=>$new_image);
  2065. M('member_common')->where( array('member_id' => $member_id) )->save($uarray);
  2066. $member_common['qrcode_img'] = $new_image;
  2067. cookie('qrcode_tan', 1);
  2068. } else {
  2069. $tan_time = cookie('qrcode_tan');
  2070. if(empty($tan_time))
  2071. {
  2072. cookie('qrcode_tan', 1);
  2073. }else
  2074. {
  2075. cookie('qrcode_tan', $tan_time+1);
  2076. if($tan_time >=2)
  2077. {
  2078. $is_tan = 2;
  2079. }
  2080. }
  2081. $new_image = $login_user['qrcode'];
  2082. }
  2083. $this->member_common = $member_common;
  2084. $this->display();
  2085. }
  2086. function tuanyuan()
  2087. {
  2088. $token = I('get.token');
  2089. $weprogram_token = M('weprogram_token')->field('member_id')->where( array('token' =>$token) )->find();
  2090. $member_id = $weprogram_token['member_id'];
  2091. $member_info = M('member')->where( array('member_id' => $member_id) )->find();
  2092. $per_page = 6;
  2093. $page = I('get.page',1);
  2094. $offset = ($page - 1) * $per_page;
  2095. //type 1 2 3
  2096. $type = I('get.type',1);
  2097. //6
  2098. $list = array();
  2099. if($type == 1)
  2100. {
  2101. $sql = 'select * from '.C('DB_PREFIX')."member
  2102. where share_id = ".$member_id." order by member_id desc limit {$offset},{$per_page}";
  2103. $list = M()->query($sql);
  2104. //var_dump($list, $sql);die();
  2105. }else if( $type ==2 ){
  2106. $sql = 'select member_id from '.C('DB_PREFIX')."member
  2107. where share_id = ".$member_id;
  2108. $first_list = M()->query($sql);
  2109. $list = array();
  2110. if( !empty($first_list) )
  2111. {
  2112. $ids_arr = array();
  2113. foreach( $first_list as $val )
  2114. {
  2115. $ids_arr[] = $val['member_id'];
  2116. }
  2117. $ids_str = implode(',', $ids_arr);
  2118. $sql = 'select * from '.C('DB_PREFIX')."member
  2119. where share_id in (".$ids_str.") order by member_id desc limit {$offset},{$per_page}";
  2120. $list = M()->query($sql);
  2121. }
  2122. } else if( $type ==3 ){
  2123. $sql = 'select member_id from '.C('DB_PREFIX')."member
  2124. where share_id = ".$member_id;
  2125. $first_list = M()->query($sql);
  2126. $list = array();
  2127. if( !empty($first_list) )
  2128. {
  2129. $ids_arr = array();
  2130. foreach( $first_list as $val )
  2131. {
  2132. $ids_arr[] = $val['member_id'];
  2133. }
  2134. $ids_str = implode(',', $ids_arr);
  2135. $sql = 'select member_id from '.C('DB_PREFIX')."member
  2136. where share_id in (".$ids_str.") ";
  2137. $second_list = M()->query($sql);
  2138. if( !empty($second_list) )
  2139. {
  2140. $ids_arr = array();
  2141. foreach( $second_list as $val )
  2142. {
  2143. $ids_arr[] = $val['member_id'];
  2144. }
  2145. $ids_str = implode(',', $ids_arr);
  2146. $sql = 'select * from '.C('DB_PREFIX')."member
  2147. where share_id in (".$ids_str.") order by member_id desc limit {$offset},{$per_page}";
  2148. $list = M()->query($sql);
  2149. }
  2150. }
  2151. }
  2152. //{$member_info.uname}
  2153. foreach($list as $key => $val)
  2154. {
  2155. $parent_name = M('member')->field('name')->where( array('member_id' => $val['share_id']) )->find();
  2156. $val['parent_name'] = $parent_name['name'];
  2157. $val['create_time'] = date('Y-m-d H:i:s', $val['create_time']);
  2158. $list[$key] = $val;
  2159. }
  2160. if( empty($list) )
  2161. {
  2162. echo json_encode( array('code' => 1) );
  2163. die();
  2164. } else{
  2165. echo json_encode( array('code' =>0 , 'data' => $list) );
  2166. die();
  2167. }
  2168. }
  2169. public function yongjing()
  2170. {
  2171. $per_page = 10;
  2172. $page = I('get.page',1);
  2173. $gid = I('get.gid',0);
  2174. $offset = ($page - 1) * $per_page;
  2175. $where = "";
  2176. //danprice pin_price
  2177. if( !empty($gid) && $gid >0 )
  2178. {
  2179. $goods_ids_arr = M('goods_to_category')->where("class_id1 ={$gid} or class_id2 ={$gid} or class_id3 = {$gid} ")->field('goods_id')->select();
  2180. $ids_arr = array();
  2181. foreach($goods_ids_arr as $val){
  2182. $ids_arr[] = $val['goods_id'];
  2183. }
  2184. $ids_str = implode(',',$ids_arr);
  2185. if( !empty($ids_str) )
  2186. {
  2187. $where .= " and a.goods_id in ({$ids_str}) ";
  2188. //a.goods_id
  2189. }
  2190. }
  2191. $sql = " SELECT a.goods_id,a.name,a.quantity,a.danprice,b.pin_price,a.commiss_one_dan_disc,( b.commiss_one_pin_disc * b.pin_price ) as pin_yong_money,( a.commiss_one_dan_disc * a.danprice ) as dan_yong_money, a.price,a.image
  2192. FROM ".C('DB_PREFIX')."goods as a left join ".C('DB_PREFIX')."pin_goods as b on a.goods_id = b.goods_id WHERE (a.commiss_one_dan_disc >0 or b.commiss_one_pin_disc >0) and a.status = 1 {$where} and a.quantity >0 order by dan_yong_money desc, pin_yong_money desc
  2193. limit {$offset},{$per_page}";
  2194. /**
  2195. $sql = 'select g.goods_id,g.name,g.quantity,g.pinprice,g.commiss_one_pin_disc,( g.pinprice * g.commiss_one_pin_disc ) as yong_money, g.price,g.image from '.C('DB_PREFIX')."goods as g
  2196. where g.status =1 and g.quantity > 0 and g.commiss_one_pin_disc >0 order by yong_money desc limit {$offset},{$per_page}";
  2197. **/
  2198. $list = M()->query($sql);
  2199. foreach ($list as $k => $v) {
  2200. $v['image']=C('SITE_URL'). resize($v['image'], C('spike_thumb_width'), C('spike_thumb_height'));
  2201. $pin_yong_money = round( $v['pin_yong_money'] /100 , 2);
  2202. $dan_yong_money = round( $v['dan_yong_money'] /100 , 2);
  2203. if( $pin_yong_money > $dan_yong_money )
  2204. {
  2205. $v['yong_money'] = $pin_yong_money;
  2206. $v['price'] = $v['pin_price'];
  2207. } else {
  2208. $v['yong_money'] = $dan_yong_money;
  2209. $v['price'] = $v['danprice'];
  2210. }
  2211. //"danprice":"0.04","pin_price":"0.01",
  2212. $list[$k] = $v;
  2213. }
  2214. if( empty($list) )
  2215. {
  2216. echo json_encode( array('code' => 1) );
  2217. die();
  2218. } else {
  2219. echo json_encode( array('code' =>0, 'data' => $list) );
  2220. die();
  2221. }
  2222. /**
  2223. SELECT a.goods_id, a.commiss_one_dan_disc, b.commiss_one_pin_disc
  2224. FROM `oscshop_goods` as a left join oscshop_pin_goods as b on a.goods_id = b.goods_id WHERE a.commiss_one_dan_disc >0 and a.status = 1 and a.quantity >0 order by a.goods_id desc
  2225. **/
  2226. }
  2227. }