chenweida 7 lat temu
rodzic
commit
5305a30937

+ 5 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/wechat/WechatTagDao.java

@ -8,6 +8,8 @@ import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created by chenweida on 2017/8/4.
 */
@ -24,4 +26,7 @@ public interface WechatTagDao extends PagingAndSortingRepository<WechatTag, Long
    @Query(" update WechatTag set del=0 where tagId=?1 ")
    @Modifying
    void deleteTag(Integer tagId);
    @Query(" from WechatTag where  del=1")
    List<WechatTag> findAllTag();
}

+ 2 - 6
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/account/WechatController.java

@ -425,9 +425,7 @@ public class WechatController extends WeixinBaseController {
                   //if (!(Patient.isWchatTage.yes.getValue() == p.getIsWxtag())) {
                    //清空患者的微信标签
                    if(p.getWxtagid()!=null){
                        weiXinTagUtil.deleteTagWithOpenid(p.getOpenid(),p.getWxtagid());
                    }
                    weiXinTagUtil.deleteTagWithOpenid(p.getOpenid());
                    //给患者打微信标签
                    weiXinTagUtil.addTagWithOpenid(openid, p.getCode(), p.getName());
                    //}
@ -551,9 +549,7 @@ public class WechatController extends WeixinBaseController {
                    //判断是否打过标签
                    //if (!(Patient.isWchatTage.yes.getValue() == p.getIsWxtag())) {
                    //清空患者的微信标签
                    if(p.getWxtagid()!=null){
                        weiXinTagUtil.deleteTagWithOpenid(p.getOpenid(),p.getWxtagid());
                    }
                    weiXinTagUtil.deleteTagWithOpenid(p.getOpenid());
                    //给患者打微信标签
                    weiXinTagUtil.addTagWithOpenid(openid, p.getCode(), p.getName());
                    //}

+ 44 - 14
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/wechat/util/WeiXinTagUtil.java

@ -31,8 +31,6 @@ import java.util.List;
 */
@Component
public class WeiXinTagUtil {
    @Autowired
    private WechatTagDao wechatTagDao;
    @Autowired
    private WechatTagLogDao wechatTagLogDao;
@ -48,6 +46,8 @@ public class WeiXinTagUtil {
    private SignFamilyDao signFamilyDao;
    @Autowired
    private PatientDao patientDao;
    @Autowired
    private WechatTagDao wechatTagDao;
    // 创建标签
@ -76,11 +76,11 @@ public class WeiXinTagUtil {
            net.sf.json.JSONObject params = new net.sf.json.JSONObject();
            //为openID分组
            List<List<String>> list = getSplitList(openIds,40);
            List<List<String>> list = getSplitList(openIds, 40);
            if(list!=null&&list.size()>0){
            if (list != null && list.size() > 0) {
                for(List<String> ops : list){
                for (List<String> ops : list) {
                    params.put("openid_list", net.sf.json.JSONArray.fromObject(openIds));
                    params.put("tagid", tagId);
                    String result = httpUtil.sendPost(add_user_tag + weiXinAccessTokenUtils.getAccessToken(), params.toString());
@ -101,23 +101,20 @@ public class WeiXinTagUtil {
    }
    /**
     *
     * @param list 要拆分的集合
     * @param size 指定的大小
     * @return
     */
    public static List<List<String>> getSplitList(List<String> list , int size)
    {
    public static List<List<String>> getSplitList(List<String> list, int size) {
        List<List<String>> returnList = new ArrayList<List<String>>();
        int listSize = list.size();
        int num = listSize%size==0?listSize/size:(listSize/size+1);
        int num = listSize % size == 0 ? listSize / size : (listSize / size + 1);
        int start = 0;
        int end = 0;
        for(int i=1;i<=num;i++)
        {
            start = (i-1)*size;
            end = i*size>listSize?listSize:i*size;
            System.out.println(start+":"+end);
        for (int i = 1; i <= num; i++) {
            start = (i - 1) * size;
            end = i * size > listSize ? listSize : i * size;
            System.out.println(start + ":" + end);
            returnList.add(list.subList(start, end));
        }
        return returnList;
@ -326,6 +323,39 @@ public class WeiXinTagUtil {
        }
    }
    /**
     * 根据openID给用户取消标签,
     *
     * @param openIds
     * @return
     */
    public String deleteTagWithOpenid(String openIds) {
        try {
            List<WechatTag> wechatTags = wechatTagDao.findAllTag();
            for (WechatTag wechatTag : wechatTags) {
                net.sf.json.JSONObject params = new net.sf.json.JSONObject();
                net.sf.json.JSONArray ja = new JSONArray();
                ja.add(openIds);
                params.put("openid_list", ja);
                params.put("tagid", wechatTag.getTagId());
                String result = httpUtil.sendPost(delete_user_tag + weiXinAccessTokenUtils.getAccessToken(), params.toString());
                net.sf.json.JSONObject resultJson = net.sf.json.JSONObject.fromObject(result);
                if (resultJson.containsKey("errcode")) {
                    Integer status = resultJson.getInt("errcode");
                    if (status != 0) {
                        throw new Exception("创建失败," + result);
                    }
                }
            }
            return "";
        } catch (Exception e) {
            logger.error(e.getMessage());
            return null;
        }
    }
    /**
     * 获取用户身上的标签列表
     *