assword', models.CharField(blank=True, help_text='\u7ba1\u7406\u5458\u5bc6\u7801', max_length=255, null=True, verbose_name='password')), ('encryption', models.CharField(blank=True, help_text='\u7ba1\u7406\u5458\u5bc6\u7801', max_length=255, null=True, verbose_name='encryption')), ('name', models.CharField(blank=True, help_text='\u7ba1\u7406\u5458\u59d3\u540d', max_length=255, null=True, verbose_name='name')), ('brand_id', models.CharField(blank=True, db_index=True, help_text='\u54c1\u724c\u552f\u4e00\u6807\u8bc6', max_length=32, null=True, verbose_name='brand_id')), ('brand_name', models.CharField(blank=True, help_text='\u54c1\u724c\u540d\u79f0', max_length=255, null=True, verbose_name='brand_name')), ('user_status', models.IntegerField(choices=[(1, '\u5df2\u6fc0\u6d3b'), (2, '\u5df2\u7981\u7528')], db_index=True, default=1, help_text='\u7ba1\u7406\u5458\u72b6\u6001', verbose_name='user_status')), ], options={ 'verbose_name': '\u7ba1\u7406\u5458\u4fe1\u606f', 'verbose_name_plural': '\u7ba1\u7406\u5458\u4fe1\u606f', }, ), migrations.AddField( model_name='modelinfo', name='factory_fee', field=models.IntegerField(default=100000, help_text='\u51fa\u5382\u4ef7(\u5206)', verbose_name='factory_fee'), ), migrations.AddField( model_name='modelinfo', name='factory_yuan', field=models.FloatField(default=1000, help_text='\u51fa\u5382\u4ef7(\u5143)', verbose_name='factory_yuan'), ), ] kodo - Gogs: Go Git Service

No Description

tests.py 61B

    from django.test import TestCase # Create your tests here.
lensman - Gogs: Go Git Service

No Description

OrderDealService.java 7.9KB

    package ai.pai.lensman.service; import android.app.Service; import android.content.Intent; import android.os.AsyncTask; import android.os.Binder; import android.os.Handler; import android.os.IBinder; import android.os.Message; import com.android.common.executors.ThreadExecutor; import com.android.common.utils.LogHelper; import com.android.common.utils.NetworkUtil; import org.json.JSONArray; import org.json.JSONObject; import java.io.File; import java.util.ArrayList; import java.util.HashMap; import ai.pai.lensman.App; import ai.pai.lensman.bean.OrderBean; import ai.pai.lensman.db.Preferences; import ai.pai.lensman.utils.Constants; import ai.pai.lensman.utils.HttpPostTask; import ai.pai.lensman.utils.UrlContainer; public class OrderDealService extends Service implements Handler.Callback{ private ArrayList<OrderBean> orderList; private Handler handler; private OrderServiceListener listener; private static final int MSG_QUERY_ORDER = 2001; private static final String TAG = "OrderDealService"; @Override public void onCreate() { super.onCreate(); handler = new Handler(this); } @Override public IBinder onBind(Intent intent) { return new OrderServiceBinder(); } @Override public int onStartCommand(Intent intent, int flags, int startId) { if (!isQueueEmpty()) { return START_STICKY; } startQuery(); return START_STICKY; } private void startQuery() { if(!NetworkUtil.isNetworkConnected(App.getAppContext())){ return; } HashMap<String, String> params = new HashMap<>(); params.put("user_id", Preferences.getInstance().getLensManId()); new HttpPostTask(params) { @Override protected boolean parseResponse(String response) { // LogHelper.d(TAG, "startQuery 查询是否有新订单 = " + response); try { JSONObject json = new JSONObject(response); int status = json.getInt("status"); if (status == 200) { JSONObject data = json.getJSONObject("data"); JSONArray orders = data.getJSONArray("wanted"); if (orders != null && orders.length() > 0) { orderList = new ArrayList<>(); for (int k = 0; k < orders.length(); k++) { JSONObject orderObj = orders.getJSONObject(k); OrderBean bean = new OrderBean(); bean.sessionId = orderObj.getString("session_id"); bean.photoId = orderObj.getString("photo_id"); bean.orderId = orderObj.getString("order_id"); JSONObject photoObj = orderObj.getJSONObject("group_photo_info"); bean.buyerId = photoObj.getString("user_id"); bean.buyerName = photoObj.getString("nickname"); bean.originExpireTime = photoObj.getLong("origin_expired_stamps"); orderList.add(bean); } } return true; } } catch (Exception e) { e.printStackTrace(); } return false; } @Override protected void onPostSuccess() { super.onPostSuccess(); if(listener!= null) { if (orderList != null && orderList.size() > 0) { listener.onOrderArrived(); LogHelper.d(TAG,"有新的订单"); }else{ listener.onOrderCompleted(); // LogHelper.d(TAG,"当前没有新订单"); } } dealOrder(); } @Override protected void onPostFail() { super.onPostFail(); LogHelper.d(TAG,"查询新订单失败"); dealOrder(); } }.executeOnExecutor(ThreadExecutor.getInstance().getExecutor(), UrlContainer.QUERY_ORIGIN_ORDER_URL); } private void dealOrder() { if (!isQueueEmpty()) { OrderBean orderBean = orderList.get(0); LogHelper.d(TAG,"当前有未处理的订单" +orderBean); uploadOrigin(orderBean); } else { // LogHelper.d(TAG,"当前没有订单,10s后再次查询"); handler.removeMessages(MSG_QUERY_ORDER); handler.sendEmptyMessageDelayed(MSG_QUERY_ORDER,10000); } } private void uploadOrigin(OrderBean bean) { new UploadTask(bean).executeOnExecutor(ThreadExecutor.getInstance().getExecutor()); } private boolean isQueueEmpty() { return (orderList == null || orderList.size() == 0); } @Override public boolean handleMessage(Message message) { if(message.what == MSG_QUERY_ORDER){ startQuery(); } return true; } public class OrderServiceBinder extends Binder { public OrderDealService getService() { return OrderDealService.this; } } public class UploadTask extends AsyncTask<Void, Integer, Boolean> { private OrderBean bean; public UploadTask(OrderBean bean) { this.bean = bean; } @Override protected Boolean doInBackground(Void... params) { for (int k = 0; k < 3; k++) { try { String dirPath = ai.pai.lensman.utils.Constants.APP_IMAGE_DIR + File.separator + bean.sessionId + File.separator + Constants.ORIGIN_DIR_NAME; File dir = new File(dirPath); dir.mkdirs(); File photo = new File(dir, bean.photoBean.photoName); LogHelper.d(TAG, "上传照片 第" + k + "次尝试" + bean); if (photo.exists() && photo.isFile()) { PhotoUploadUtils photoUploadUtils = new PhotoUploadUtils(UrlContainer.ORIGIN_PHOTO_UPLOAD_URL + "?timestamp=" + System.currentTimeMillis()); photoUploadUtils.addTextParameter("deleted", String.valueOf(0)); photoUploadUtils.addFileParameter("photo", photo); photoUploadUtils.addTextParameter("user_id", bean.photoBean.lensmanId); photoUploadUtils.addTextParameter("order_id", bean.orderId); photoUploadUtils.addTextParameter("session_id", bean.photoBean.sessionId); photoUploadUtils.addTextParameter("photo_id", String.valueOf(bean.photoBean.photoId)); String result = new String(photoUploadUtils.send(false), "UTF-8"); JSONObject resultObj = new JSONObject(result); if (resultObj.getInt("status") == 200) { LogHelper.d(TAG, "上传 UploadTask upload result ok "); return true; } } else { return false; } } catch (Exception e) { LogHelper.d(TAG, "上传发生异常 UploadTask :" + bean + " error:" + e); } } return false; } @Override protected void onPostExecute(Boolean result) { LogHelper.d(TAG, "上传 UploadTask " + bean + " success "); orderList.remove(bean); dealOrder(); } } public void setOrderServiceListener(OrderServiceListener listener){ this.listener = listener; } public interface OrderServiceListener{ void onOrderArrived(); void onOrderCompleted(); } }
Accedi - Gogs: Go Git Service

Accedi