Exemplo n.º 1
0
    def post(self, request):

        username = request.POST.get('username')
        feed_id = request.POST.get('feed_id')
        title = request.POST.get('title')
        reco_num = int(request.POST.get('reco_num'))
        # calc_num = request.POST.get('calc_num')
        display_time = request.POST.get('display_time')
        user = get_object_or_none(User, email=username)
        weixin_user = WeixinService.get_weixin_user_by_uid(user=user)
        if not weixin_user:
            return JsonResponse(
                {
                    'msg': 'not found weixin user',
                    'status': 'error'
                }
            )

        openid = weixin_user.openid

        send_data = WeixinService.get_feed_notify_msg_tpl()
        url = '{0}{1}/'.format(
            WeixinService.get_recommand_url(),
            feed_id
        )

        send_data['first']['value'] = "聘宝刚刚为您推荐了{0}封简历,优质候选人不能等,请尽快查阅简历".format(reco_num),
        send_data['remark']['value'] = "小宝提示:手机上每个职位定制只能浏览最多5封简历哦,请返回PC上查看全部的简历推荐."
        if reco_num == 0:
            send_data['first']['value'] = "小宝遗憾的通知您,以下职位暂时没有合适的人才匹配:",
            send_data['remark']['value'] = "不要气馁!小宝秘籍在此:你可以尝试修改定制内容,可能会有惊喜哦!"
            url = WeixinService.get_customize_url()

        send_data['keyword1']['value'] = title
        send_data['keyword2']['value'] = reco_num
        send_data['keyword3']['value'] = display_time

        ret = WxUtils.send_tpl_msg(
            openid=openid,
            tpl_id=WeixinService.get_template_msg_id(),
            data=send_data,
            url=url,
        )

        if ret.get('errcode') != 0:
            return JsonResponse(
                {
                    'status': 'error',
                    'msg': ret.get('errmsg')
                }
            )

        return JsonResponse(
            {
                'status': 'ok',
                'msg': 'success'
            }
        )
def send_feed_msg():

    need_send_email = EmailFeedData.objects(
        is_send=False,
    ).distinct('email')

    weixin_users = WeixinUser.objects.filter(
        user__username__in=need_send_email
    )
    for send_user in weixin_users:
        feed_data = get_feed_data(send_user)
        feed_id = feed_data.get('feed_id')
        title = feed_data['title']
        reco_num = feed_data['reco_num']
        display_time = feed_data['display_time']

        send_data = WeixinService.get_feed_notify_msg_tpl()
        send_data['first']['value'] = "聘宝刚刚为您推荐了{0}封简历,优质候选人不能等,请尽快查阅简历".format(feed_data['reco_num'])
        send_data['keyword1']['value'] = title
        send_data['keyword2']['value'] = reco_num
        send_data['keyword3']['value'] = display_time
        send_data['remark']['value'] = "小宝提示:手机上每个职位定制只能浏览最多5封简历哦,请返回PC上查看全部的简历推荐."

        urls = WeixinService.get_recommand_url().split('?from=')
        url = '{0}{1}/?from={2}'.format(urls[0], feed_id, urls[1])

        if reco_num == 0:
            send_data['first']['value'] = "小宝遗憾的通知您,以下职位暂时没有合适的人才匹配:",
            send_data['remark']['value'] = "不要气馁!小宝秘籍在此:你可以尝试修改定制内容,可能会有惊喜哦!"
            url = WeixinService.get_customize_url()

        ret = WxUtils.send_tpl_msg(
            openid=feed_data.get('openid'),
            tpl_id=WeixinService.get_template_msg_id(),
            data=send_data,
            url=url
        )

        if ret.get('errcode') == 0:
            print '%s,(openid:%s) send weixin msg success' % (send_user.user.username, feed_data.get('openid'))
        else:
            print '%s,(openid:%s) send weixin msg error' % (send_user.user.username, feed_data.get('openid'))
 def test_get_template_msg_id(self):
     self.assertIsNotNone(WeixinService.get_template_msg_id())