Explorar o código

广告位添加内链/外链,登录调整

ZhangWenQiang %!s(int64=6) %!d(string=hai) anos
pai
achega
dab2cad927

+ 126 - 115
src/main/java/com/jeeplus/modules/hpadvertisement/entity/HpAdvBanner.java

@@ -4,7 +4,9 @@
 package com.jeeplus.modules.hpadvertisement.entity;
 
 import java.util.Date;
+
 import com.fasterxml.jackson.annotation.JsonFormat;
+
 import javax.validation.constraints.NotNull;
 
 import com.jeeplus.core.persistence.DataEntity;
@@ -13,123 +15,132 @@ import io.swagger.models.auth.In;
 
 /**
  * 广告位Entity
+ *
  * @author zwq
  * @version 2019-06-18
  */
 public class HpAdvBanner extends DataEntity<HpAdvBanner> {
-	
-	private static final long serialVersionUID = 1L;
-	private String title;		// 标题
-	private Integer application;		// 适用程序(0:小程序 1:APP 2:小程序+APP)
-	private Integer bannerPosition;		// 位置(0:首页轮播)
-	private String sort;		// 排序
-	private String picUrl;		// 图片地址(上传的为相对地址,或图片地址为全路径地址)
-	private String picDetail;		// 图片详情链接
-	private String positionDetail;		// 跳转岗位详情(格式:category,id)
-	private Date createTime;		// 创建时间
-	private Date updateTime;		// 更新时间
-	private Date endTime;		// 结束时间(不填表示长期)
-	
-	public HpAdvBanner() {
-		super();
-		this.setIdType(IDTYPE_AUTO);
-	}
-
-	public HpAdvBanner(String id){
-		super(id);
-	}
-
-	@ExcelField(title="标题", align=2, sort=1)
-	public String getTitle() {
-		return title;
-	}
-
-	public void setTitle(String title) {
-		this.title = title;
-	}
-	
-	@ExcelField(title="适用程序(0:小程序 1:APP 2:小程序+APP)", dictType="", align=2, sort=2)
-	public Integer getApplication() {
-		return application;
-	}
-
-	public void setApplication(Integer application) {
-		this.application = application;
-	}
-	
-	@ExcelField(title="位置(0:首页轮播)", align=2, sort=3)
-	public Integer getBannerPosition() {
-		return bannerPosition;
-	}
-
-	public void setBannerPosition(Integer bannerPosition) {
-		this.bannerPosition = bannerPosition;
-	}
-	
-	@ExcelField(title="排序", align=2, sort=4)
-	public String getSort() {
-		return sort;
-	}
-
-	public void setSort(String sort) {
-		this.sort = sort;
-	}
-	
-	@ExcelField(title="图片地址(上传的为相对地址,或图片地址为全路径地址)", align=2, sort=5)
-	public String getPicUrl() {
-		return picUrl;
-	}
-
-	public void setPicUrl(String picUrl) {
-		this.picUrl = picUrl;
-	}
-	
-	@ExcelField(title="图片详情链接", align=2, sort=6)
-	public String getPicDetail() {
-		return picDetail;
-	}
-
-	public void setPicDetail(String picDetail) {
-		this.picDetail = picDetail;
-	}
-	
-	@ExcelField(title="跳转岗位详情(格式:category,id)", align=2, sort=7)
-	public String getPositionDetail() {
-		return positionDetail;
-	}
-
-	public void setPositionDetail(String positionDetail) {
-		this.positionDetail = positionDetail;
-	}
-	
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	@ExcelField(title="创建时间", align=2, sort=8)
-	public Date getCreateTime() {
-		return createTime;
-	}
-
-	public void setCreateTime(Date createTime) {
-		this.createTime = createTime;
-	}
-	
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	@ExcelField(title="更新时间", align=2, sort=10)
-	public Date getUpdateTime() {
-		return updateTime;
-	}
-
-	public void setUpdateTime(Date updateTime) {
-		this.updateTime = updateTime;
-	}
-	
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	@ExcelField(title="结束时间(不填表示长期)", align=2, sort=12)
-	public Date getEndTime() {
-		return endTime;
-	}
-
-	public void setEndTime(Date endTime) {
-		this.endTime = endTime;
-	}
-	
+
+    private static final long serialVersionUID = 1L;
+    private String title;        // 标题
+    private Integer application;        // 适用程序(0:小程序 1:APP 2:小程序+APP)
+    private Integer bannerPosition;        // 位置(0:首页轮播)
+    private String sort;        // 排序
+    private String picUrl;        // 图片地址(上传的为相对地址,或图片地址为全路径地址)
+    private String picDetail;        // 图片详情链接
+    private String positionDetail;        // 跳转岗位详情(格式:category,id)
+    private Date createTime;        // 创建时间
+    private Date updateTime;        // 更新时间
+    private Date endTime;        // 结束时间(不填表示长期)
+    private Boolean linkFlag;   //是否内链(0:内链;1:外链)
+
+    public HpAdvBanner() {
+        super();
+        this.setIdType(IDTYPE_AUTO);
+    }
+
+    public HpAdvBanner(String id) {
+        super(id);
+    }
+
+    @ExcelField(title = "标题", align = 2, sort = 1)
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    @ExcelField(title = "适用程序(0:小程序 1:APP 2:小程序+APP)", dictType = "", align = 2, sort = 2)
+    public Integer getApplication() {
+        return application;
+    }
+
+    public void setApplication(Integer application) {
+        this.application = application;
+    }
+
+    @ExcelField(title = "位置(0:首页轮播)", align = 2, sort = 3)
+    public Integer getBannerPosition() {
+        return bannerPosition;
+    }
+
+    public void setBannerPosition(Integer bannerPosition) {
+        this.bannerPosition = bannerPosition;
+    }
+
+    @ExcelField(title = "排序", align = 2, sort = 4)
+    public String getSort() {
+        return sort;
+    }
+
+    public void setSort(String sort) {
+        this.sort = sort;
+    }
+
+    @ExcelField(title = "图片地址(上传的为相对地址,或图片地址为全路径地址)", align = 2, sort = 5)
+    public String getPicUrl() {
+        return picUrl;
+    }
+
+    public void setPicUrl(String picUrl) {
+        this.picUrl = picUrl;
+    }
+
+    @ExcelField(title = "图片详情链接", align = 2, sort = 6)
+    public String getPicDetail() {
+        return picDetail;
+    }
+
+    public void setPicDetail(String picDetail) {
+        this.picDetail = picDetail;
+    }
+
+    @ExcelField(title = "跳转岗位详情(格式:category,id)", align = 2, sort = 7)
+    public String getPositionDetail() {
+        return positionDetail;
+    }
+
+    public void setPositionDetail(String positionDetail) {
+        this.positionDetail = positionDetail;
+    }
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ExcelField(title = "创建时间", align = 2, sort = 8)
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ExcelField(title = "更新时间", align = 2, sort = 10)
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ExcelField(title = "结束时间(不填表示长期)", align = 2, sort = 12)
+    public Date getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(Date endTime) {
+        this.endTime = endTime;
+    }
+
+    public Boolean getLinkFlag() {
+        return linkFlag;
+    }
+
+    public void setLinkFlag(Boolean linkFlag) {
+        this.linkFlag = linkFlag;
+    }
 }

+ 4 - 0
src/main/java/com/jeeplus/modules/hpadvertisement/mapper/xml/HpAdvBannerMapper.xml

@@ -11,6 +11,7 @@
 		a.pic_url AS "picUrl",
 		a.pic_detail AS "picDetail",
 		a.position_detail AS "positionDetail",
+		a.link_flag AS "linkFlag",
 		a.create_time AS "createTime",
 		a.create_by AS "createBy.id",
 		a.update_time AS "updateTime",
@@ -85,6 +86,7 @@
 			pic_url,
 			pic_detail,
 			position_detail,
+			link_flag,
 			create_time,
 			create_by,
 			update_time,
@@ -99,6 +101,7 @@
 			#{picUrl},
 			#{picDetail},
 			#{positionDetail},
+			#{linkFlag},
 			#{createTime},
 			#{createBy.id},
 			#{updateTime},
@@ -117,6 +120,7 @@
 			pic_url = #{picUrl},
 			pic_detail = #{picDetail},
 			position_detail = #{positionDetail},
+			link_flag = #{linkFlag},
 			create_time = #{createTime},
 			update_time = #{updateTime},
 			update_by = #{updateBy.id},

+ 98 - 5
src/main/java/com/jeeplus/modules/sys/service/HpUserService.java

@@ -1130,7 +1130,6 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
                         list.add(map);
                     }
                 }
-
             } else {
                 hpUser1 = hpUserList.get(0);
             }
@@ -1379,7 +1378,11 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
         String loginType = requestMap.get("login_type");   //0:小程序;1:微信授权;2:手机号
         HpUser hpUser = this.get(userId);
         //更新用户新信息
-        hpUser = upDateHpUser(hpUser, userIds, currentUser_id, loginType);
+        if ("2".equals(loginType)) {//手机号登录
+            hpUser = upDateHpUserForPhone(hpUser, userIds, loginType);
+        } else {
+            hpUser = upDateHpUser(hpUser, userIds, currentUser_id, loginType);
+        }
         //合并用户信息
         HpMember hpMember = checkMember(hpUser, phone, userIds);
         returnMap.put("hpUser", hpUser);
@@ -1394,14 +1397,15 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
     }
 
     /**
+     * 手机号登录
      * 选择之后更新用户信息到选中的用户
      *
      * @param hpUser
      * @param userIds
      */
-    private HpUser upDateHpUser(HpUser hpUser, String userIds, String currentUserId, String loginType) {
-        //当前用户跟选择的用户不是一个的时候,替换微信参数等
-        if (!currentUserId.equals(hpUser.getId())) {
+    private HpUser upDateHpUserForPhone(HpUser hpUser, String userIds, String loginType) {
+        //没有微信unionid等信息则从废弃的数据里获取
+        if (StringUtils.isBlank(hpUser.getUnionid())) {
             String[] userIdArray = userIds.split(",");
             for (int i = 0; i < userIdArray.length; i++) {
                 HpUser hpUser1 = this.get(userIdArray[i]);
@@ -1415,6 +1419,10 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
                     hpUser.setMinaOpenid(hpUser1.getMinaOpenid());
                 }
             }
+        }
+        //如果没有accesstoken等信息
+        if (StringUtils.isBlank(hpUser.getAccessToken())) {
+            String[] userIdArray = userIds.split(",");
             for (int i = 0; i < userIdArray.length; i++) {
                 HpUser hpUser1 = this.get(userIdArray[i]);
                 if (StringUtils.isNotBlank(hpUser1.getAccessToken())) {
@@ -1427,6 +1435,10 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
                     hpUser.setRefreshToken(hpUser1.getRefreshToken());
                 }
             }
+        }
+        //如果没有小程序SessionKey信息
+        if (StringUtils.isBlank(hpUser.getMinaSessionKey())) {
+            String[] userIdArray = userIds.split(",");
             for (int i = 0; i < userIdArray.length; i++) {
                 HpUser hpUser1 = this.get(userIdArray[i]);
                 if (StringUtils.isNotBlank(hpUser1.getMinaSessionKey())) {
@@ -1472,6 +1484,87 @@ public class HpUserService extends CrudService<HpUserMapper, HpUser> {
     }
 
     /**
+     * 微信/小程序登录
+     * 选择之后更新用户信息到选中的用户
+     *
+     * @param hpUser
+     * @param userIds
+     */
+    private HpUser upDateHpUser(HpUser hpUser, String userIds, String currentUserId, String loginType) {
+        //当前用户跟选择的用户不是一个的时候,替换微信参数等
+        if (StringUtils.isNotBlank(currentUserId)) {
+            if (!currentUserId.equals(hpUser.getId())) {
+                String[] userIdArray = userIds.split(",");
+                for (int i = 0; i < userIdArray.length; i++) {
+                    HpUser hpUser1 = this.get(userIdArray[i]);
+                    if (StringUtils.isNotBlank(hpUser1.getUnionid())) {
+                        hpUser.setUnionid(hpUser1.getUnionid());
+                    }
+                    if (StringUtils.isNotBlank(hpUser1.getWxOpenid())) {
+                        hpUser.setWxOpenid(hpUser1.getWxOpenid());
+                    }
+                    if (StringUtils.isNotBlank(hpUser1.getMinaOpenid())) {
+                        hpUser.setMinaOpenid(hpUser1.getMinaOpenid());
+                    }
+                }
+                for (int i = 0; i < userIdArray.length; i++) {
+                    HpUser hpUser1 = this.get(userIdArray[i]);
+                    if (StringUtils.isNotBlank(hpUser1.getAccessToken())) {
+                        hpUser.setAccessToken(hpUser1.getAccessToken());
+                    }
+                    if (hpUser1.getAccessTokenEndtime() != null) {
+                        hpUser.setAccessTokenEndtime(hpUser1.getAccessTokenEndtime());
+                    }
+                    if (StringUtils.isNotBlank(hpUser1.getRefreshToken())) {
+                        hpUser.setRefreshToken(hpUser1.getRefreshToken());
+                    }
+                }
+                for (int i = 0; i < userIdArray.length; i++) {
+                    HpUser hpUser1 = this.get(userIdArray[i]);
+                    if (StringUtils.isNotBlank(hpUser1.getMinaSessionKey())) {
+                        hpUser.setMinaSessionKey(hpUser1.getMinaSessionKey());
+                    }
+                }
+            }
+        }
+        switch (loginType) {
+            case "0":
+                //如果登录方式不包含小程序授权,则添加
+                if (!hpUser.getLoginType().contains(AppLoginsEnum.MINA.getType())) {
+                    String loginType1 = hpUser.getLoginType() + "," + AppLoginsEnum.MINA.getType();
+                    hpUser.setLoginType(loginType1);
+                }
+                break;
+            case "1":
+                //如果登录方式不包含微信授权,则添加
+                if (!hpUser.getLoginType().contains(AppLoginsEnum.WX_AUTH.getType())) {
+                    String loginType1 = hpUser.getLoginType() + "," + AppLoginsEnum.WX_AUTH.getType();
+                    hpUser.setLoginType(loginType1);
+                }
+                break;
+            case "2":
+                //如果登录方式不包含app,则添加
+                if (!hpUser.getLoginType().contains(AppLoginsEnum.APP.getType())) {
+                    String loginType1 = hpUser.getLoginType() + "," + AppLoginsEnum.APP.getType();
+                    hpUser.setLoginType(loginType1);
+                }
+                break;
+        }
+        if (StringUtils.isBlank(hpUser.getUserToken())) {
+            //用户token作为请求的标准
+            long t1 = System.currentTimeMillis();
+            String timestamp = String.valueOf(t1);
+            String user_token = Md5Encrypt.md5(hpUser.getId() + timestamp);
+            hpUser.setUserToken(user_token);
+        }
+        if (StringUtils.isBlank(hpUser.getUserType())) {
+            hpUser.setUserType("0");
+        }
+        this.save(hpUser);
+        return hpUser;
+    }
+
+    /**
      * app微信授权登录
      *
      * @param requestMap

+ 21 - 2
src/main/webapp/webpage/modules/hpadvertisement/hpAdvBannerForm.jsp

@@ -7,6 +7,7 @@
 	<script type="text/javascript">
         var isValidate;
 		$(document).ready(function() {
+            $('#linkFlag1').iCheck('check');
             //jquery校验
             isValidate = $("#inputForm").validate({
                 rules: {
@@ -34,9 +35,11 @@
                 errorContainer: "#messageBox",
                 errorPlacement: function(error, element) {
                     $("#messageBox").text("输入有误,请先更正。");
-                    if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
+                    if (element.is(":checkbox")||element.parent().is(".input-append")){
                         error.appendTo(element.parent().parent().parent());
-                    } else  if(element.parent().is(".input-group")){
+                    }else if(element.is(":radio")) {
+                        error.appendTo(element.parent().parent());
+					} else  if(element.parent().is(".input-group")){
                         error.insertAfter(element.parent());
                     } else {
                         error.insertAfter(element);
@@ -56,11 +59,20 @@
             var mode = "${mode}";
             if(id != null && id != '' &&  (mode == 'edit' || mode == 'view')){
                 var picUrl = "${hpAdvBanner.picUrl}";
+                //包含http
                 if(picUrl.indexOf("http") != -1){
                     $("#picAddress").val(picUrl);
                     $("input[name='picUrl']").val('');
                     $("#picUrl").val('');
                 }
+                var linkFlag = "${hpAdvBanner.linkFlag}";
+                if(linkFlag){
+                    if(linkFlag == 'true'){
+                        $("input[name='linkFlag'][value='1']").iCheck('check');
+                    }else{
+                        $("input[name='linkFlag'][value='0']").iCheck('check');
+                    }
+                }
             }
 		});
 
@@ -170,6 +182,13 @@
 						<form:input path="picDetail" htmlEscape="false"    class="form-control "/>
 					</div>
 				</div>
+				<div class="form-group">
+					<label class="col-sm-2 control-label"><font color="red">*</font>是否内链:</label>
+					<div class="col-sm-8">
+						<form:radiobutton path="linkFlag" value="0" htmlEscape="false" label="内链" class="i-checks required"/>
+						<form:radiobutton path="linkFlag" value="1" htmlEscape="false" label="外链" class="i-checks"/>
+					</div>
+				</div>
 				<c:if test="${mode == 'add' || mode=='edit'}">
 						<div class="col-sm-3"></div>
 						<div class="col-sm-6">

+ 2 - 2
src/main/webapp/webpage/modules/hpadvertisement/hpAdvBannerList.js

@@ -260,7 +260,7 @@ $(document).ready(function() {
 
 function deleteAll(){
 
-    jp.confirm('确认要删除该广告位记录吗?', function(){
+    jp.confirm('确认要删除该banner位?', function(){
         jp.loading();
         jp.get("${ctx}/hpadvertisement/hpAdvBanner/deleteAll?ids=" + getIdSelections(), function(data){
             if(data.success){
@@ -275,7 +275,7 @@ function deleteAll(){
 }
 
   function del(id){
-		jp.confirm('确认要删除该广告位记录吗?', function(){
+		jp.confirm('确认要删除该banner位?', function(){
 			jp.loading();  	
 			jp.get("${ctx}/hpadvertisement/hpAdvBanner/delete?id=" + id, function(data){
          	  		if(data.success){