|
# -*- coding: utf-8 -*-
from __future__ import division
import logging
from django_logit import logit
from django.conf import settings
from django_response import response
from TimeConvert import TimeConvert as tc
from pywe_template_message import send_template_message
from account.models import UserInfo
from household.models import HouseholdThermometerMeasureLogInfo, HouseholdThermometerEquipmentBindInfo
logger = logging.getLogger('console')
@logit
def mp_bind_thermometer(request):
user_id = request.POST.get('user_id', '')
macid = request.POST.get('macid', '')
HouseholdThermometerEquipmentBindInfo.objects.get_or_create(user_id=user_id, macid=macid)
return response()
@logit
def mp_thermometer_list(request):
user_id = request.POST.get('user_id', '')
eqpts = HouseholdThermometerEquipmentBindInfo.objects.filter(user_id=user_id, status=True)
eqpts = [eqpt.data for eqpt in eqpts]
return response(data={
eqpts: eqpts
})
@logit
def mp_upload_temperature(request):
user_id = request.POST.get('user_id', '')
macid = request.POST.get('macid', '')
temperature = request.POST.get('temperature', '')
HouseholdThermometerMeasureLogInfo.objects.create(user_id=user_id, macid=macid, temperature=temperature)
userids = HouseholdThermometerEquipmentBindInfo.objects.values_list('user_id', flat=True).filter(macid=macid, status=True)
wxcfg = settings.WECHAT.get('JSAPI', {})
appid = wxcfg.get('appID')
secret = wxcfg.get('appsecret')
wxcfg = settings.WECHAT.get('MINIAPP', {})
miniappid = wxcfg.get('appID')
users = UserInfo.objects.filter(user_id__in=userids)
data = {
"first": {
"value": u'你的家人测温了,请查收~~~',
"color": "#173177"
},
"product": {
"value": macid,
"color": "#173177"
},
"price": {
"value": temperature,
"color": "#173177"
},
"time": {
"value": tc.local_string(),
"color": "#173177"
},
"remark": {
"value": u'感谢你的使用',
"color": "#173177"
}
}
for user in users:
res = send_template_message(user_id=user.openid, template_id=settings.TEMPLATE_ID_HOUSEHOLD_THERMOMETER_MEASURE, data=data, miniappid=miniappid, minipagepath='/pages/index/index', appid=appid, secret=secret, storage=RedisStorage(r))
logger.info(res)
return response()
@logit
def mp_temperature_list(request):
user_id = request.POST.get('user_id', '')
macid = request.POST.get('macid', '')
logs = HouseholdThermometerMeasureLogInfo.objects.filter(macid=macid, status=True)
logs = [log.data for log in logs]
return response(data={
'logs': logs
})
|