def info_submit(request): rt = '1' act = request.POST.get('act') if (act == 'del'): code = request.POST.get('code').strip() jy_id = request.POST.get('jy_id') try: print 'code=%s' % code del_stock = Stock.objects.filter(code=code).filter(jy_id=jy_id) for dstock in del_stock: del_issueprice = dstock.issueprice break #print 'del_issueprice=%s'%del_issueprice del_stock.delete() #同步到mysql sync_mysql_by_code(code=code, old_code=code, jy_id=int(jy_id)) #for notify issueprice change result = oracle_connect.execute( select([zjjy_hk_ipo.c.issueprice ]).select_from(zjjy_hk_ipo).where( zjjy_hk_ipo.c.code == code).where( zjjy_hk_ipo.c.jy_id == int(jy_id))).fetchall() if (len(result) > 0): #print 'issueprice=%s,in jy'%result[0].issueprice newissueprice = result[0].issueprice else: #print 'code:%s,jyid:%s is not record in jy'%(code,jy_id) newissueprice = '' if (newissueprice != '' and newissueprice != del_issueprice): notify_issueprice(exchange='HKEX', code=code, lclose=float(newissueprice)) except Exception as e: print e rt = str(e).replace('\'', '') return HttpResponse("<script>parent.del_result('" + rt + "')</script>") elif act == 'update' or act == 'add': code = request.POST.get('code').strip() old_code = request.POST.get('old_code').strip() id = request.POST.get('stockid') #check whether this is a new code if (code != old_code and False == is_zj_new_code(code)): return HttpResponse("<script>parent.submit_result('2','" + act + "')</script>") #return HttpResponse("<script>parent.submit_result('can submit','"+act+"')</script>") if (act == 'update'): if (code != old_code and False == is_jy_new_code(code)): return HttpResponse("<script>parent.submit_result('3','" + act + "')</script>") try: print 'oldcode=%s' % old_code stock = Stock.objects.get(code=old_code) except Exception as e: print e else: #act==add stock = Stock() stockname = request.POST.get('stockname').strip() issuevolplanned = request.POST.get('issuevolplanned').strip() issuevolplanned = issuevolplanned.replace(',', '') publicnewshareplanned = request.POST.get( 'publicnewshareplanned').strip() publicnewshareplanned = publicnewshareplanned.replace(',', '').strip() issuepriceceiling = request.POST.get('issuepriceceiling').strip() issuepricefloor = request.POST.get('issuepricefloor').strip() tradeunitpriceatceiling = request.POST.get( 'tradeunitpriceatceiling').strip() exchange = request.POST.get('exchange').strip() issuetype = request.POST.get('issuetype').strip() applystartdate = request.POST.get('applystartdate').strip() issueenddate = request.POST.get('issueenddate').strip() proposedlistdate = request.POST.get('proposedlistdate').strip() datetoaccount = request.POST.get('datetoaccount').strip() tradeunit = request.POST.get('tradeunit').strip() issueprice = request.POST.get('issueprice').strip() marketcode = request.POST.get('marketcode').strip() pin_yin = request.POST.get('pin_yin').strip().upper() old_issueprice = request.POST.get('old_issueprice').strip() jy_id = request.POST.get('jy_id').strip() try: stock.code = code stock.name = stockname if (issuevolplanned != ''): stock.issuevolplanned = issuevolplanned else: stock.issuevolplanned = None if (publicnewshareplanned != ''): stock.publicnewshareplanned = publicnewshareplanned else: stock.publicnewshareplanned = None if (issuepriceceiling != ''): stock.issuepriceceiling = issuepriceceiling else: stock.issuepriceceiling = None if (issuepricefloor != ''): stock.issuepricefloor = issuepricefloor else: stock.issuepricefloor = None if (tradeunitpriceatceiling != ''): stock.tradeunitpriceatceiling = tradeunitpriceatceiling else: stock.tradeunitpriceatceiling = None stock.exchange = exchange stock.issuetype = issuetype stock.applystartdate = applystartdate stock.issueenddate = issueenddate if (proposedlistdate != ''): stock.proposedlistdate = proposedlistdate else: stock.proposedlistdate = None if (datetoaccount != ''): stock.datetoaccount = datetoaccount else: stock.datetoaccount = None if (tradeunit != ''): stock.tradeunit = tradeunit else: stock.tradeunit = None if (issueprice != ''): stock.issueprice = issueprice else: stock.issueprice = None stock.marketcode = marketcode stock.pin_yin = pin_yin if (jy_id != ''): stock.jy_id = jy_id ijy_id = int(jy_id) else: ijy_id = 0 stock.save() id = stock.id print 'id=%d' % id #se='select * from nls_session_parameters' #print oracle_connect.execute(se).fetchall() if (old_issueprice != issueprice): if (issueprice == ''): #修改了发行价为空 issueprice = '0' print("use redis interface") notify_issueprice(exchange='HKEX', code=code, lclose=float(issueprice)) #同步到 mysql print 'code=%s' % code sync_mysql_by_code(code=code, old_code=old_code, jy_id=ijy_id) except Exception as e: print e rt = str(e).replace("'", "") return HttpResponse("<script>parent.submit_result('" + rt + "','" + act + "')</script>") elif (act == 'sync_data'): try: add_count = 0 rt = sync_database(calltype='django') except Exception as e: rt = str(e).replace("'", "") #print rt print "rt=%s" % (rt) return HttpResponse("<script>parent.sync_result('" + str(rt) + "','" + str(add_count) + "')</script>") else: #处理get的情况 act = request.GET.get('act') if (act == 'set_issueprice'): #在列表页填issueprice code = request.GET.get('code') jy_id = request.GET.get('jy_id') issueprice = request.GET.get('issueprice_' + code + '_' + jy_id).strip() old_issueprice = request.GET.get('old_issueprice_' + code + '_' + jy_id).strip() source = request.GET.get('source') try: if (source == 'ZJ'): stock = Stock.objects.get(code=code) stock.issueprice = issueprice stock.save() elif (source == 'JY'): stock = Stock() ipo = oracle_connect.execute(zjjy_hk_ipo.select().where( zjjy_hk_ipo.c.code == code).where( zjjy_hk_ipo.c.jy_id == jy_id)).first() stock.name = ipo.name stock.code = ipo.code if (ipo.issuevolplanned): stock.issuevolplanned = ipo.issuevolplanned if (ipo.publicnewshareplanned): stock.publicnewshareplanned = ipo.publicnewshareplanned if (ipo.issuepriceceiling): stock.issuepriceceiling = ipo.issuepriceceiling if (ipo.issuepricefloor): stock.issuepricefloor = ipo.issuepricefloor if (ipo.tradeunitpriceatceiling): stock.tradeunitpriceatceiling = ipo.tradeunitpriceatceiling stock.exchange = ipo.exchange stock.issuetype = ipo.issuetype stock.applystartdate = ipo.applystartdate.strftime( '%Y-%m-%d') stock.issueenddate = ipo.issueenddate.strftime('%Y-%m-%d') if (ipo.proposedlistdate): stock.proposedlistdate = ipo.proposedlistdate.strftime( '%Y-%m-%d') if (ipo.datetoaccount): stock.datetoaccount = ipo.datetoaccount.strftime( '%Y-%m-%d') if (ipo.tradeunit): stock.tradeunit = ipo.tradeunit stock.marketcode = ipo.marketcode if (ipo.pin_yin): stock.pin_yin = ipo.pin_yin stock.issueprice = issueprice stock.jy_id = jy_id stock.save() #use redis interface if (issueprice != '' and old_issueprice != issueprice): notify_issueprice(exchange='HKEX', code=code, lclose=float(issueprice)) #save to mysql sync_mysql_by_code(code=code, old_code=code, jy_id=int(jy_id)) except Exception as e: str(e).replace("'", "") return HttpResponse("<script>parent.set_issuprice_result('" + rt + "','" + code + "','" + jy_id + "','" + issueprice + "')</script>")