Parcourir la source

Merge branch 'dev' of chenyongxing/jw2.0 into dev

chenweida il y a 8 ans
Parent
commit
a25d80cfa3

+ 6 - 0
svr/svr-base/src/main/java/com/yihu/jw/wx/service/WxAccessTokenService.java

@ -10,6 +10,8 @@ import com.yihu.jw.wx.dao.WxAccessTokenDao;
import com.yihu.jw.wx.model.WxAccessToken;
import com.yihu.jw.wx.model.WxWechat;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
@ -24,6 +26,9 @@ import java.util.UUID;
@Service
public class WxAccessTokenService extends BaseJpaService<WxAccessToken, WxAccessTokenDao> {
    private Logger logger= LoggerFactory.getLogger(WxAccessTokenService.class);
    @Autowired
    private WxAccessTokenDao wxAccessTokenDao;
@ -66,6 +71,7 @@ public class WxAccessTokenService extends BaseJpaService<WxAccessToken, WxAccess
            }
            String params = "grant_type=client_credential&appid=" + appId + "&secret=" + appSecret;
            String result = HttpUtil.sendGet(token_url, params);
            logger.info("--------------微信返回结果:"+result+"---------------");
            JSONObject json = new JSONObject(result);
            if (json.has("access_token")) {
                String token = json.get("access_token").toString();

+ 7 - 2
svr/svr-base/src/main/java/com/yihu/jw/wx/service/WxMenuService.java

@ -10,6 +10,8 @@ import com.yihu.jw.wx.model.WxAccessToken;
import com.yihu.jw.wx.model.WxMenu;
import com.yihu.jw.wx.model.WxWechat;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
@ -25,6 +27,8 @@ import java.util.List;
@Service
public class WxMenuService extends BaseJpaService<WxMenu, WxMenuDao> {
    private Logger logger= LoggerFactory.getLogger(WxMenuService.class);
    @Autowired
    private WxMenuDao wxMenuDao;
@ -35,7 +39,7 @@ public class WxMenuService extends BaseJpaService<WxMenu, WxMenuDao> {
    private WxAccessTokenService wxAccessTokenService;
    /**
     * 将菜单保存至数据库(微信未创建)
     * 将菜单保存至数据库
     * @param wxMenu
     * @return
     */
@ -120,18 +124,19 @@ public class WxMenuService extends BaseJpaService<WxMenu, WxMenuDao> {
        if(wechat==null){
            throw new ApiException(WxContants.Wechat.message_fail_wxWechat_is_no_exist, CommonContants.common_error_params_code);
        }
        //首先根据wechatCode获取菜单,然后封装成json字符串
        List<WxMenu> menus = wxMenuDao.findByWechatCode(wechatCode);
        if(menus==null){
            throw new ApiException(WxContants.WxMenu.message_fail_WxMenu_is_no_exist, CommonContants.common_error_params_code);
        }
        String menuJsonString = getMenuToString(menus, wechatCode);
        logger.info("-----------------微信菜单json字符串:"+ menuJsonString+"--------------------");
        WxAccessToken wxAccessTokenByCode = wxAccessTokenService.getWxAccessTokenByCode(wechatCode);
        String token = wxAccessTokenByCode.getAccessToken();
        // 请求微信接口创建菜单
        String url = " https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" + token;
        String jsonStr = HttpUtil.sendPost(url, menuJsonString);
        logger.info("------------------创建微信菜单,微信返回结果:"+jsonStr+"---------------------");
        JSONObject result = new JSONObject(jsonStr);
        return result;
    }

+ 7 - 0
svr/svr-base/src/main/java/com/yihu/jw/wx/service/WxTemplateService.java

@ -10,6 +10,8 @@ import com.yihu.jw.util.HttpUtil;
import com.yihu.jw.wx.dao.WxTemplateDao;
import com.yihu.jw.wx.model.*;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
@ -22,6 +24,8 @@ import java.util.*;
@Service
public class WxTemplateService extends BaseJpaService<WxTemplate, WxTemplateDao> {
    private Logger logger= LoggerFactory.getLogger(WxTemplateService.class);
    @Autowired
    private WxTemplateDao wxTemplateDao;
@ -148,11 +152,14 @@ public class WxTemplateService extends BaseJpaService<WxTemplate, WxTemplateDao>
            wechatTemplate.setData(newDataMap);
            String params = mapper.writeValueAsString(wechatTemplate);
            logger.info("----------------------模版消息json字符串:"+params+"------------------");
            WxAccessToken wxAccessTokenByCode = wxAccessTokenService.getWxAccessTokenByCode(wechatCode);
            String token = wxAccessTokenByCode.getAccessToken();
            String token_url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + token;
            String result = HttpUtil.sendPost(token_url, params);
            logger.info("------------------------发送模板消息,微信返回结果:"+result+"-----------------------");
            JSONObject jsonResult = new JSONObject(result);
            return jsonResult;
        } catch (Exception e) {

+ 2 - 3
svr/svr-manage/src/main/java/com/yihu/jw/manage/controller/login/LoginController.java

@ -5,7 +5,6 @@ import com.yihu.jw.manage.service.login.LoginService;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.restmodel.common.EnvelopRestController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@ -38,10 +37,10 @@ public class LoginController extends EnvelopRestController {
    @GetMapping("/index")
    public Envelop index(
            @RequestParam(required = true, name = "usercode") String usercode
            @RequestParam(required = true, name = "userCode") String userCode
    ) {
        try {
            Map<String, List> data = loginService.index(usercode);
            Map<String, List> data = loginService.index(userCode);
            return Envelop.getSuccess("获取信息成功", data);
        }catch (Exception e){
            return Envelop.getError("获取信息成功:"+e.getMessage(), -1);

+ 32 - 0
svr/svr-manage/src/main/java/com/yihu/jw/manage/model/system/MenuItems.java

@ -0,0 +1,32 @@
package com.yihu.jw.manage.model.system;
import java.util.List;
/**
 * Created by Administrator on 2017/6/10 0010.
 *
 *  该model用于vue页面展示菜单
 */
public class MenuItems {
    private ManageMenu parentMenu;//父菜单
    private List<ManageMenu> childMenus;//子菜单
    public ManageMenu getParentMenu() {
        return parentMenu;
    }
    public void setParentMenu(ManageMenu parentMenu) {
        this.parentMenu = parentMenu;
    }
    public void setChildMenus(List<ManageMenu> childMenus) {
        this.childMenus = childMenus;
    }
    public List<ManageMenu> getChildMenus() {
        return childMenus;
    }
}

+ 19 - 7
svr/svr-manage/src/main/java/com/yihu/jw/manage/service/login/LoginService.java

@ -6,6 +6,7 @@ import com.yihu.jw.manage.model.login.ManageLoginLog;
import com.yihu.jw.manage.model.system.ManageMenu;
import com.yihu.jw.manage.model.system.ManageRole;
import com.yihu.jw.manage.model.system.ManageUser;
import com.yihu.jw.manage.model.system.MenuItems;
import com.yihu.jw.manage.service.system.MenuService;
import com.yihu.jw.manage.service.system.RoleService;
import com.yihu.jw.manage.service.system.UserService;
@ -17,10 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * Created by chenweida on 2017/6/8.
@ -85,10 +83,24 @@ public class LoginService {
        Map<String, List> data = new HashMap<>();
        //得到角色
        List<ManageRole> roles = roleService.findByUserCode(usercode);
        //得到用户所有菜单
        List<ManageMenu> menus = menuService.findByUserCode(usercode);
        List<MenuItems> menuItemses = new ArrayList<>();
        //查询所有父菜单
        List<ManageMenu> parentMenus = menuService.findParentMenus(usercode);
        //查询所有子菜单
        if(parentMenus!=null){
            for(ManageMenu parentMenu:parentMenus){
                //通过父菜单查找对应的子菜单
                List<ManageMenu> childMenus = menuService.findChildMenus(usercode,parentMenu.getCode());
                MenuItems menuItem = new MenuItems();
                menuItem.setParentMenu(parentMenu);
                menuItem.setChildMenus(childMenus);
                menuItemses.add(menuItem);
            }
        }
        data.put("role", roles);
        data.put("menus", menus);
        data.put("menus", menuItemses);
        return data;
    }
}

+ 12 - 1
svr/svr-manage/src/main/java/com/yihu/jw/manage/service/system/MenuService.java

@ -2,7 +2,6 @@ package com.yihu.jw.manage.service.system;
import com.yihu.jw.manage.dao.system.MenuDao;
import com.yihu.jw.manage.model.system.ManageMenu;
import com.yihu.jw.manage.model.system.ManageRole;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
@ -43,6 +42,18 @@ public class MenuService {
        List<ManageMenu> mr = jdbcTemplate.query(sql, new BeanPropertyRowMapper(ManageMenu.class), code);
        return mr;
    }
    public List<ManageMenu> findParentMenus(String usercode) {
        String sql = "SELECT * FROM (SELECT DISTINCT  m.* FROM manage_menu m,manage_role_menu rm WHERE m.code = rm.menu_code and m.status=1 AND rm.role_code IN (SELECT r.CODE FROM manage_role r, manage_user_role ur WHERE r.code = ur.role_code AND ur.user_code = ?   AND r.status = 1 )) A WHERE A.parent_code = 0";
        List<ManageMenu> mr = jdbcTemplate.query(sql, new BeanPropertyRowMapper(ManageMenu.class), usercode);
        return mr;
    }
    public List<ManageMenu> findChildMenus(String usercode, String code) {
        String sql = "SELECT * FROM (SELECT DISTINCT  m.* FROM manage_menu m,manage_role_menu rm WHERE m.code = rm.menu_code and m.status=1 AND rm.role_code IN (SELECT r.CODE FROM manage_role r, manage_user_role ur WHERE r.code = ur.role_code AND ur.user_code = ?   AND r.status = 1 )) A WHERE A.parent_code = ?";
        List<ManageMenu> mr = jdbcTemplate.query(sql, new BeanPropertyRowMapper(ManageMenu.class), usercode,code);
        return mr;
    }
}

+ 18 - 26
svr/svr-manage/src/main/resources/webapp/html/index/index.html

@ -6,6 +6,7 @@
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="renderer" content="webkit">
    <title>基卫后台管理系统</title>
    <!--[if lt IE 8]>
@ -54,7 +55,7 @@
                    <div class="logo-element">
                    </div>
                </li>
                <li>
                <!--<li>
                    <a href="#">
                        <i class="fa fa-home"></i>
                        <span class="nav-label">主页</span>
@ -66,6 +67,20 @@
                        </li>
                    </ul>
                </li>-->
                <li v-for="menu in menus">
                    <a href="#">
                        <i class="fa fa-home"></i>
                        <span class="nav-label">{{menu.parentMenu.name}}</span>
                        <span class="fa arrow"></span>
                    </a>
                        <ul class="nav nav-second-level" v-for="childMenu in menu.childMenus">
                            <li>
                                <a class="J_menuItem" :href="childMenu.url" data-index="0">{{childMenu.name}}</a>
                            </li>
                        </ul>
                </li>
@ -115,7 +130,7 @@
            <a href="login.html" class="roll-nav roll-right J_tabExit"><i class="fa fa fa-sign-out"></i> 退出</a>
        </div>
        <div class="row J_mainContent" id="content-main">
            <iframe class="J_iframe" name="iframe0" width="100%" height="100%" src="index_v1.html?v=3.0" frameborder="0"
            <iframe class="J_iframe" name="iframe0" width="100%" height="100%" src="" frameborder="0"
                    data-id="index_v1.html" seamless></iframe>
        </div>
        <div class="footer">
@ -606,6 +621,7 @@
<script src="/common/js/vue/vue.min.js"></script>
<!-- 自定义js -->
<script src="/common/js/common.js"></script>
<script src="/index/hplus.min.js?v=3.0.0"></script>
<script type="text/javascript" src="/index/contabs.min.js"></script>
<script type="text/javascript" src="/index/index.js"></script>
@ -777,30 +793,6 @@
        }
    }
    //获取请求中的参数
    var userId=UrlParm.parm("u");
    //根据用户id初始化菜单
    $.ajax({
        type: "GET",
        url: "ajax/Handler.ashx?M=" + Math.random(),
        data: "username=" + $("#TxtUserName").val().toString() + "&pwd=" + $("#TxtPassword").val().toString(),
        success: function (data) {
            if (data == "1") {
                location.href = "index.aspx";
                return true;
            }
            else {
                alert("请确认您输入的用户名或密码输入是否正确!");
                $("#TxtUserName").val("");
                $("#TxtPassword").val("");
                $("#TxtUserName").focus();
                return false;
            }
        }
    })
</script>
<style>
    .fixed-nav .slimScrollDiv #side-menu {

+ 21 - 2
svr/svr-manage/src/main/resources/webapp/html/index/index.js

@ -1,4 +1,23 @@
//获取用户的菜单和角色
var contentVM;
do_get(
    server+"/index"
)
    "/index",
    {},
    function(data){
        if(data.successFlg==true){
            contentVM = new Vue({
                el: '#wrapper',
                data: {
                    role: '',
                    menus:'',
                    aaa:'aaa'
                }
            });
            contentVM.role = data.obj.role;
            contentVM.menus = data.obj.menus;
        }else{
            alert("获取角色,菜单失败")
        }
    }
)

+ 1 - 1
svr/svr-manage/src/main/resources/webapp/html/login/login.html

@ -63,7 +63,7 @@
            success: function(data){
                if(data.successFlg){
                    //保存用户信息到缓存中
                    window.localStorage.setItem("usercode",data.obj.code);//用户code
                    window.localStorage.setItem("userCode",data.obj.code);//用户code
                    window.location.href='/index/index.html?u='+data.obj.id;
                }else{
                    alert("账号或密码错误")

+ 0 - 4
svr/svr-wlyy/pom.xml

@ -15,10 +15,6 @@
    <version>1.0.0</version>
    <dependencies>
        <dependency>
            <groupId>com.yihu.jw</groupId>
            <artifactId>svr-base</artifactId>
        </dependency>
        <dependency>
            <groupId>com.yihu.jw</groupId>
            <artifactId>common-swagger</artifactId>

+ 14 - 15
svr/svr-wlyy/src/main/java/com/yihu/jw/util/AddressUtils.java

@ -34,7 +34,6 @@ public class AddressUtils {
        String returnStr = this.getResult(urlStr, content, encodingString);
        if (returnStr != null) {
            // 处理返回的省市区信息
            System.out.println(returnStr);
            String[] temp = returnStr.split(",");
            if (temp.length < 3) {
                return "0";//无效IP,局域网测试
@ -204,18 +203,18 @@ public class AddressUtils {
    }
    // 测试
    public static void main(String[] args) {
        AddressUtils addressUtils = new AddressUtils();
        // 测试ip 219.136.134.157 中国-华南-广东省-广州市-越秀区-电信
        String ip = "219.136.134.157";
        String address = "";
        try {
            address = addressUtils.getAddresses(ip);
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        System.out.println(address);
        // 输出结果为:广东省,广州市,越秀区
    }
    //public static void main(String[] args) {
    //    AddressUtils addressUtils = new AddressUtils();
    //    // 测试ip 219.136.134.157 中国-华南-广东省-广州市-越秀区-电信
    //    String ip = "219.136.134.157";
    //    String address = "";
    //    try {
    //        address = addressUtils.getAddresses(ip);
    //    } catch (UnsupportedEncodingException e) {
    //        // TODO Auto-generated catch block
    //        e.printStackTrace();
    //    }
    //    System.out.println(address);
    //    // 输出结果为:广东省,广州市,越秀区
    //}
}

+ 8 - 8
svr/svr-wlyy/src/main/java/com/yihu/jw/util/IDCard.java

@ -205,14 +205,14 @@ public class IDCard {
     * @param args
     * @throws ParseException
     */
    @SuppressWarnings("static-access")
    public static void main(String[] args) throws ParseException {
        // String IDCardNum="210102820826411";
        // String IDCardNum="210102198208264114";
        String IDCardNum = "350583199301130079";
        IDCard cc = new IDCard();
        // System.out.println(cc.isDate("1996-02-29"));
    }
    //@SuppressWarnings("static-access")
    //public static void main(String[] args) throws ParseException {
    //    // String IDCardNum="210102820826411";
    //    // String IDCardNum="210102198208264114";
    //    String IDCardNum = "350583199301130079";
    //    IDCard cc = new IDCard();
    //    // System.out.println(cc.isDate("1996-02-29"));
    //}
    /*********************************** 身份证验证结束 ****************************************/
}

+ 10 - 0
svr/svr-wlyy/src/main/java/com/yihu/jw/wlyy/service/patient/AdvertisementService.java

@ -12,6 +12,8 @@ import com.yihu.jw.wlyy.entity.agreement.WlyySignFamily;
import com.yihu.jw.wlyy.entity.patient.WlyyAdvertisement;
import com.yihu.jw.wlyy.service.BaseSaasService;
import com.yihu.jw.wlyy.service.agreement.WlyySignFamilyService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
@ -28,6 +30,8 @@ import java.util.List;
@Service
public class AdvertisementService extends BaseJpaService<WlyyAdvertisement, AdvertisementDao> {
    private Logger logger= LoggerFactory.getLogger(AdvertisementService.class);
    @Autowired
    private AdvertisementDao advertisementDao;
@ -166,9 +170,11 @@ public class AdvertisementService extends BaseJpaService<WlyyAdvertisement, Adve
     */
    public  List<WlyyAdvertisement> getByHttp(HttpServletRequest request){
        String ipAddress = CusAccessObjectUtil.getIpAddress(request);
        logger.info("-------------请求的ip地址为:"+ipAddress+"--------------");
        AddressUtils addressUtils = new AddressUtils();
        try {
            String address = addressUtils.getAddresses(ipAddress);//"中国-西南-四川省-成都市- -电信"  (没有值,中间用空格隔开  country-area-region-city-county-isp)或者返回0
            logger.info("ip地址:"+ipAddress+"解析为:"+address);
            String[] addresses = address.split("-");
            if(addresses.length<6){
                return  getDefaultList();
@ -187,6 +193,7 @@ public class AdvertisementService extends BaseJpaService<WlyyAdvertisement, Adve
            }
        } catch (UnsupportedEncodingException e) {//解析ip失败,展示默认广告
            logger.warn("解析ip:"+ipAddress+"解析失败,失败原因:"+e.getMessage());
            return  getDefaultList();
        }
@ -199,8 +206,10 @@ public class AdvertisementService extends BaseJpaService<WlyyAdvertisement, Adve
     */
    public  List<WlyyAdvertisement> getListByIp(String ipaddress){
        try {
            logger.info("-------------请求的ip地址为:"+ipaddress+"--------------");
            AddressUtils addressUtils = new AddressUtils();
            String address = addressUtils.getAddresses(ipaddress);
            logger.info("ip地址:"+ipaddress+"解析为:"+address);
            String[] addresses = address.split("-");
            if(addresses.length<6){
                return  getDefaultList();
@ -219,6 +228,7 @@ public class AdvertisementService extends BaseJpaService<WlyyAdvertisement, Adve
            }
        } catch (UnsupportedEncodingException e) {//解析ip失败,展示默认广告
            logger.warn("解析ip:"+ipaddress+"解析失败,失败原因:"+e.getMessage());
            return  getDefaultList();
        }