wang_xy преди 2 години
родител
ревизия
e16a7a385c
променени са 47 файла, в които са добавени 3903 реда и са изтрити 2724 реда
  1. 693 297
      .idea/workspace.xml
  2. 0 32
      mybusiness/mybusiness.iml
  3. 1 1
      mybusiness/src/main/java/com/ruoyi/business/domain/WxPay.java
  4. 4 4
      mybusiness/src/main/java/com/ruoyi/business/utils/AliyunSendSmsUtil.java
  5. 9 7
      mybusiness/src/main/java/com/ruoyi/business/utils/PayUtils.java
  6. 29 10
      mybusiness/src/main/java/com/ruoyi/business/xhn/controller/XhnController.java
  7. 99 0
      mybusiness/src/main/java/com/ruoyi/business/xhn/domain/RegisteruserUnpaid.java
  8. 0 5
      mybusiness/src/main/java/com/ruoyi/business/xhn/service/impl/WxServiceImpl.java
  9. 3 0
      mybusiness/src/main/java/com/ruoyi/business/xhnnotsingle/activityInfo/service/impl/XhnActivityInfoServiceImpl.java
  10. 112 2
      mybusiness/src/main/java/com/ruoyi/business/xhnnotsingle/registeruser/domain/XhnRegisterUser.java
  11. 1 1
      mybusiness/src/main/java/com/ruoyi/business/xhnnotsingle/registeruser/service/IXhnRegisterUserService.java
  12. 2 3
      mybusiness/src/main/java/com/ruoyi/business/xhnnotsingle/registeruser/service/impl/XhnRegisterUserServiceImpl.java
  13. BIN
      mybusiness/src/main/resources/apiclient_cert.p12
  14. 21 19
      mybusiness/src/main/resources/apiclient_cert.pem
  15. 26 26
      mybusiness/src/main/resources/apiclient_key.pem
  16. 18 2
      mybusiness/src/main/resources/mapper/xhnWecharts/XhnWxMapper.xml
  17. 84 3
      mybusiness/src/main/resources/mapper/xhnnotsingle/XhnRegisterUserMapper.xml
  18. 4 2
      mybusiness/src/main/resources/templates/appxhn/activity.html
  19. 82 75
      mybusiness/src/main/resources/templates/appxhn/chaitamh.html
  20. 11 12
      mybusiness/src/main/resources/templates/appxhn/index.html
  21. 1 1
      mybusiness/src/main/resources/templates/appxhn/lookGiveGift.html
  22. 1 1
      mybusiness/src/main/resources/templates/appxhn/openBox.html
  23. 3 3
      mybusiness/src/main/resources/templates/appxhn/openRecharge.html
  24. 3 3
      mybusiness/src/main/resources/templates/appxhn/qidongye.html
  25. 36 19
      mybusiness/src/main/resources/templates/appxhn/register.html
  26. 314 39
      mybusiness/src/main/resources/templates/appxhn/updateuser.html
  27. 2 2
      mybusiness/src/main/resources/templates/appxhn/xhnIndex.html
  28. 1 1
      mybusiness/src/main/resources/templates/appxhn/xhnlogin.html
  29. 12 5
      mybusiness/src/main/resources/templates/xhnnotsingle/activityInfo/activityInfo.html
  30. 32 35
      mybusiness/src/main/resources/templates/xhnnotsingle/activityInfo/add.html
  31. 211 93
      mybusiness/src/main/resources/templates/xhnnotsingle/activityInfo/edit.html
  32. 1 1
      mybusiness/src/main/resources/templates/xhnnotsingle/gift/gift.html
  33. 5 3
      mybusiness/src/main/resources/templates/xhnnotsingle/registeruser/registeruser.html
  34. 0 28
      ruoyi-admin/ruoyi-admin.iml
  35. BIN
      ruoyi-admin/src/main/resources/apiclient_cert.p12
  36. 21 19
      ruoyi-admin/src/main/resources/apiclient_cert.pem
  37. 26 26
      ruoyi-admin/src/main/resources/apiclient_key.pem
  38. 1 1
      ruoyi-admin/src/main/resources/application.yml
  39. 1 0
      ruoyi-admin/src/main/resources/static/MP_verify_JUUxm3DA9GYaDUXI.txt
  40. 0 1
      ruoyi-admin/src/main/resources/static/MP_verify_gA4G3oGfXoY3rFmg.txt
  41. 18 12
      ruoyi-admin/src/main/resources/static/tuodanweb/css/main.css
  42. BIN
      ruoyi-admin/src/main/resources/static/tuodanweb/images/fileadd.png
  43. 376 263
      ruoyi-admin/src/main/resources/static/tuodanweb/js/index.js
  44. 3 3
      ruoyi-admin/src/main/resources/templates/index.html
  45. 1635 1635
      ruoyi-admin/src/main/resources/templates/main.html
  46. 0 28
      ruoyi-framework/ruoyi-framework.iml
  47. 1 1
      ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java

Файловите разлики са ограничени, защото са твърде много
+ 693 - 297
.idea/workspace.xml


+ 0 - 32
mybusiness/mybusiness.iml

@@ -25,38 +25,6 @@
     </content>
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" name="Maven: com.github.wechatpay-apiv3:wechatpay-apache-httpclient:0.4.4" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.httpcomponents:httpmime:4.5.13" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.1.5.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:2.5.11" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:2.5.11" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.5.11" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.3.20" level="project" />
-    <orderEntry type="library" name="Maven: io.lettuce:lettuce-core:6.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-common:4.1.77.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.77.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.77.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.77.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.77.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.77.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.4.18" level="project" />
-    <orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.3" level="project" />
-    <orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-core:4.0.6" level="project" />
-    <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.9" level="project" />
-    <orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
-    <orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
-    <orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.1.14" level="project" />
-    <orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-impl:2.1" level="project" />
-    <orderEntry type="library" name="Maven: javax.activation:activation:1.1.1" level="project" />
-    <orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-dysmsapi:1.1.0" level="project" />
-    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-starter:1.2.7" level="project" />
-    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-autoconfigure:1.2.7" level="project" />
-    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.1.6" level="project" />
-    <orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:1.2" level="project" />
-    <orderEntry type="library" name="Maven: com.google.zxing:core:3.3.0" level="project" />
-    <orderEntry type="library" name="Maven: com.google.zxing:javase:3.3.0" level="project" />
-    <orderEntry type="library" name="Maven: com.beust:jcommander:1.48" level="project" />
-    <orderEntry type="library" name="Maven: com.github.jai-imageio:jai-imageio-core:1.3.1" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-thymeleaf:2.5.14" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.5.14" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.5.14" level="project" />

+ 1 - 1
mybusiness/src/main/java/com/ruoyi/business/domain/WxPay.java

@@ -20,7 +20,7 @@ public class WxPay {
 //    public static final String TOKEN = "fuxiao";
 //    public static final String APPID = "wx820da939d0dbe1ba";
 //    public static final String APPSECRET = "9eb1105add72a37d39bc56ddd1d1b977";
-    public static final String TOKEN = "sjkj";
+    public static final String TOKEN = "yujianai";
 
 
 

+ 4 - 4
mybusiness/src/main/java/com/ruoyi/business/utils/AliyunSendSmsUtil.java

@@ -29,18 +29,18 @@ public class AliyunSendSmsUtil {
     public static final String product = "Dysmsapi";
     //短信API产品域名(接口地址固定,无需修改)
     public static final String domain = "dysmsapi.aliyuncs.com";
-    public static final String signName = "阿里云短信测试";
+    public static final String signName = "吉林省遇见爱传媒";
     //替换成你的AK
-   public static final String accessKeyId = "LTAI5tPDteddvaEAY5cuAsZy";
+   public static final String accessKeyId = "LTAI5tFmkgNHgGWKs8k8fsvz";
     //你的accessKeySecret,参考本文档步骤2
-   public static final String accessKeySecret = "SDfpw5EGSA9X21VlmVeWXkfr66t3n8";
+   public static final String accessKeySecret = "HvdKqr2AYZ6ffX0f2EB60gFIXFtwOM";
     public static Map<String,String> codeMsg = new HashMap<>();
     public static Map<String,String> templCode = new HashMap<>();
 
     // 返回值code
     static {
         // TODO:  短信模板
-      templCode.put("验证码","SMS_154950909");
+      templCode.put("验证码","SMS_269490108");
 
         // 返回code对应内容
         codeMsg.put("OK","请求成功");

+ 9 - 7
mybusiness/src/main/java/com/ruoyi/business/utils/PayUtils.java

@@ -13,12 +13,12 @@ public class PayUtils {
     /**
      * 商户号
      */
-    public static String mchId = "1540813091";
+    public static String mchId = "1637751554";
 
     /**
      * 商户API证书序列号
      */
-    public static String mchSerialNo = "2F58A5CC25FD1760840F1AA4CED1EC61B592E90E";
+    public static String mchSerialNo = "2DF0B09A918CA15F751B6CA2BAB7C9CC42F6D0BB";
 
     /**
      * 商户私钥文件
@@ -37,16 +37,16 @@ public class PayUtils {
     /**
      * APIv3密钥
      */
-    public static String apiV3Key = "changchunshoujiakejigongsi1a2b3c";
+    public static String apiV3Key = "changchunyujianaichuanmeigongsi1";
 
     /**
      * APPID
      */
-    public static String appid = "wx19ac981693d1a79a";
+    public static String appid = "wxbeeb8f0238d1255b";
     /**
      * secret
      */
-    public static String secret = "cc7d798b4ce862979bb8f1571ef8be2b";
+    public static String secret = "da55125316b8d44ef66b6b8a187aedfa";
     /**
      * 微信服务器地址
      */
@@ -55,10 +55,12 @@ public class PayUtils {
     /**
      * 接收结果通知地址
      */
-    public static String notifyDomain="http://qiyerenzibao.com/xhn/weixinotify";
+    public static String notifyDomain="http://fzcb7a.natappfree.cc/xhn/weixinotify";
+//    public static String notifyDomain="http://qiyerenzibao.com/xhn/weixinotify";
 
     /**
      * 项目访问地址
      */
-    public static String actionDomain="http://qiyerenzibao.com/xhn/";
+    public static String actionDomain="http://fzcb7a.natappfree.cc/xhn/";
+//    public static String actionDomain="http://qiyerenzibao.com/xhn/";
 }

+ 29 - 10
mybusiness/src/main/java/com/ruoyi/business/xhn/controller/XhnController.java

@@ -3,10 +3,13 @@ package com.ruoyi.business.xhn.controller;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.PageInfo;
+import com.google.zxing.Result;
 import com.ruoyi.business.config.SessionHelper;
 import com.ruoyi.business.config.WxPayConfig;
 import com.ruoyi.business.domain.WxPay;
 import com.ruoyi.business.utils.AliyunSendSmsUtil;
+import com.ruoyi.business.utils.HttpClientUtil;
+import com.ruoyi.business.utils.PayUtils;
 import com.ruoyi.business.xhn.domain.PayDomain;
 import com.ruoyi.business.xhn.domain.RegisteruserUnpaid;
 import com.ruoyi.business.xhn.service.WxService;
@@ -28,6 +31,9 @@ import com.ruoyi.business.xhnnotsingle.registeruser.service.IXhnRegisterUserServ
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.uuid.IdUtils;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.impl.client.CloseableHttpClient;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -38,14 +44,16 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
+import javax.crypto.IllegalBlockSizeException;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.PrintWriter;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
+import java.math.BigDecimal;
+import java.util.*;
+
+import static org.apache.http.HttpHeaders.ACCEPT;
 
 /**
  * @author wang_xy
@@ -120,7 +128,7 @@ public class XhnController extends BaseController {
     public String register(HttpServletRequest request, HttpServletResponse response,String code,String promoter,ModelMap mmap)
     {
         XhnRegisterUser user = wxService.wxLogin(code,promoter);
-        if(StringUtils.isNotBlank(user.getPhone())){//手机号不为空的情况是注册过的
+        if(StringUtils.isNotBlank(user.getOpenid())){//手机号不为空的情况是注册过的
             try {
                 response.sendRedirect(request.getContextPath()+"/xhn/index");
             } catch (IOException e) {
@@ -128,6 +136,7 @@ public class XhnController extends BaseController {
             }
         }
         mmap.put("user",user);
+
         return prefix + "/register";
     }
 
@@ -138,7 +147,11 @@ public class XhnController extends BaseController {
     @GetMapping("/updateUser")
     public String updateUser(ModelMap mmap)
     {
-        mmap.put("user",SessionHelper.getCurrentUser());
+        XhnRegisterUser user = xhnRegisterUserService.selectXhnRegisterUserByOpenid(SessionHelper.getCurrentUser().getOpenid());
+        if(StringUtils.isNotBlank(user.getAlbum())){
+            user.setAlbumList(Arrays.asList(user.getAlbum().split(",")));
+        }
+        mmap.put("user",user);
         return prefix + "/updateuser";
     }
 
@@ -163,11 +176,10 @@ public class XhnController extends BaseController {
     {
         XhnActivityInfo daohang = new XhnActivityInfo();
         daohang.setType("1");
-        daohang.setLimit("5");
         mmap.put("daohang",xhnActivityInfoService.selectXhnActivityInfoList(daohang));
         RegisteruserUnpaid appuser = new RegisteruserUnpaid();
         appuser.setOpenid(SessionHelper.getCurrentUserId());
-        PageInfo<RegisteruserUnpaid> pageInfo = xhnRegisterUserService.findXhnRegisterUserByApp(1, 10, appuser);
+        List<RegisteruserUnpaid> pageInfo = xhnRegisterUserService.findXhnRegisterUserByApp(appuser);
         mmap.put("userList",pageInfo);
         mmap.put("brUser",SessionHelper.getCurrentUser());
         XhnActivityInfo xhnActivityInfo = new XhnActivityInfo();
@@ -189,7 +201,11 @@ public class XhnController extends BaseController {
         mmap.put("bmUserNum",xhnActivityInfoService.findApplicantsNumById(huodongId));
         mmap.put("isBaoMing",xhnActivityInfoService.findApplicantsNumByIdAndOpenId(huodongId,SessionHelper.getCurrentUserId()));
         mmap.put("brUser",SessionHelper.getCurrentUser());
-        mmap.put("date",new Date().compareTo(xhnActivityInfo.getActivityStartDate()) == -1 ? true:false);
+        if(new Date().compareTo(xhnActivityInfo.getActivityStartDate()) == 1 && new Date().compareTo(xhnActivityInfo.getActivityEndDate()) == -1){
+            mmap.put("date",true);
+        }else{
+            mmap.put("date",false);
+        }
         return prefix + "/activity";
     }
 
@@ -201,6 +217,9 @@ public class XhnController extends BaseController {
     public String chaitamh(ModelMap mmap,String openid)
     {
         RegisteruserUnpaid user = wxService.findAppUserByOpenid(openid);
+        if(StringUtils.isNotBlank(user.getAlbum())){
+            user.setAlbumList(Arrays.asList(user.getAlbum().split(",")));
+        }
         mmap.put("user",user);
         mmap.put("bropenid",SessionHelper.getCurrentUserId());
         XhnGift gift = new XhnGift();
@@ -621,8 +640,8 @@ public class XhnController extends BaseController {
             appuser.setWorkNatureArray(appuser.getWorkNature().split(","));
         }
         appuser.setOpenid(SessionHelper.getCurrentUserId());
-        PageInfo<RegisteruserUnpaid> pageInfo = xhnRegisterUserService.findXhnRegisterUserByApp(appuser.getPageNum(), 10, appuser);
-        return AjaxResult.success(pageInfo.getList());
+        List<RegisteruserUnpaid> pageInfo = xhnRegisterUserService.findXhnRegisterUserByApp(appuser);
+        return AjaxResult.success(pageInfo);
     }
 
 

+ 99 - 0
mybusiness/src/main/java/com/ruoyi/business/xhn/domain/RegisteruserUnpaid.java

@@ -5,6 +5,8 @@ import com.ruoyi.common.core.domain.BaseEntity;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
+import java.util.List;
+
 /**
  * @author wang_xy
  * @description
@@ -79,6 +81,31 @@ public class RegisteruserUnpaid {
 
     private String promoterEwm;
 
+    /** 收入 */
+    private String income;
+
+    /** 购房 */
+    private String buyhouse;
+
+    /** 购车 */
+    private String buycar;
+
+    /** 吸烟 */
+    private String smoke;
+
+    /** 喝酒 */
+    private String drink;
+
+    /** 结婚 */
+    private String marry;
+
+    /** 民族 */
+    private String nation;
+    /** 照片地址 */
+    private String album;
+    /** 照片地址 */
+    private List<String> albumList;
+
     public String getOpenid() {
         return openid;
     }
@@ -255,6 +282,78 @@ public class RegisteruserUnpaid {
         this.promoterEwm = promoterEwm;
     }
 
+    public String getIncome() {
+        return income;
+    }
+
+    public void setIncome(String income) {
+        this.income = income;
+    }
+
+    public String getBuyhouse() {
+        return buyhouse;
+    }
+
+    public void setBuyhouse(String buyhouse) {
+        this.buyhouse = buyhouse;
+    }
+
+    public String getBuycar() {
+        return buycar;
+    }
+
+    public void setBuycar(String buycar) {
+        this.buycar = buycar;
+    }
+
+    public String getSmoke() {
+        return smoke;
+    }
+
+    public void setSmoke(String smoke) {
+        this.smoke = smoke;
+    }
+
+    public String getDrink() {
+        return drink;
+    }
+
+    public void setDrink(String drink) {
+        this.drink = drink;
+    }
+
+    public String getMarry() {
+        return marry;
+    }
+
+    public void setMarry(String marry) {
+        this.marry = marry;
+    }
+
+    public String getNation() {
+        return nation;
+    }
+
+    public void setNation(String nation) {
+        this.nation = nation;
+    }
+
+    public String getAlbum() {
+        return album;
+    }
+
+    public void setAlbum(String album) {
+        this.album = album;
+    }
+
+    public List<String> getAlbumList() {
+        return albumList;
+    }
+
+    public void setAlbumList(List<String> albumList) {
+        this.albumList = albumList;
+    }
+
     /*********************************以下为筛选字段***********************************/
     private Integer pageNum;
     private String startAge;

+ 0 - 5
mybusiness/src/main/java/com/ruoyi/business/xhn/service/impl/WxServiceImpl.java

@@ -205,7 +205,6 @@ public class WxServiceImpl implements WxService {
 
     @Override
     public void payResult(JSONObject json) throws Exception {
-        String ret ="";
         JSONObject attach = JSONObject.parseObject(json.getString("attach"));//自定义返回参数
         JSONObject payer = JSONObject.parseObject(json.getString("payer"));//订单付款人信息
         JSONObject amount = JSONObject.parseObject(json.getString("amount"));//订单付款人信息
@@ -232,7 +231,6 @@ public class WxServiceImpl implements WxService {
             insertIntegral(payer.getString("openid"),"1",Double.valueOf(amount.getString("payer_total"))/100.00,"充值");
             // 人员消费记录(消费)
             insertIntegral(payer.getString("openid"),"1",Double.valueOf("-"+amount.getString("payer_total"))/100.00,"放入盲盒消费");
-            ret = "my";
             SessionHelper.setAttribute(SessionHelper.CURRENT_USER, user);//更新用户信息
         }else if("1".equals(purpose)){//开其他人盲盒
             /**
@@ -243,7 +241,6 @@ public class WxServiceImpl implements WxService {
             insertIntegral(payer.getString("openid"),"1",Double.valueOf(amount.getString("payer_total"))/100.00,"充值");
             // 人员消费记录(消费)
             insertIntegral(payer.getString("openid"),"1",Double.valueOf("-"+amount.getString("payer_total"))/100.00,"开盲盒消费");
-            ret = "box,"+attach.getString("gainOpenid");
         }else if("2".equals(purpose)){//余额充值
             Double yuanMoney = Double.valueOf(user.getMemberMoney());//原账户金额
             Double newMoney = Double.valueOf(amount.getString("payer_total"))/100.00;//充值金额
@@ -252,7 +249,6 @@ public class WxServiceImpl implements WxService {
             // 人员消费记录(充值)
             insertIntegral(payer.getString("openid"),"1",Double.valueOf(amount.getString("payer_total"))/100.00,"余额充值");
             SessionHelper.setAttribute(SessionHelper.CURRENT_USER, user);//更新用户信息
-            ret = "my";
         }else if("3".equals(purpose)){//活动报名
             insertIntegral(payer.getString("openid"),"1",Double.valueOf("-"+amount.getString("payer_total"))/100.00,"活动报名消费");
             XhnActivityMiddle xam = new XhnActivityMiddle();
@@ -261,7 +257,6 @@ public class WxServiceImpl implements WxService {
             xam.setOpenid(payer.getString("openid"));
             xhnActivityMiddleMapper.insertXhnActivityMiddle(xam);//活动报名关联表信息保存
             SessionHelper.setAttribute(SessionHelper.CURRENT_USER, user);//更新用户信息
-            ret = "huodong,"+attach.getString("gainOpenid");
         }
     }
 

+ 3 - 0
mybusiness/src/main/java/com/ruoyi/business/xhnnotsingle/activityInfo/service/impl/XhnActivityInfoServiceImpl.java

@@ -1,6 +1,8 @@
 package com.ruoyi.business.xhnnotsingle.activityInfo.service.impl;
 
 import java.util.List;
+import java.util.UUID;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.business.xhnnotsingle.activityInfo.mapper.XhnActivityInfoMapper;
@@ -49,6 +51,7 @@ public class XhnActivityInfoServiceImpl implements IXhnActivityInfoService {
      */
     @Override
     public int insertXhnActivityInfo(XhnActivityInfo xhnActivityInfo) {
+        xhnActivityInfo.setId(UUID.randomUUID().toString());
             return xhnActivityInfoMapper.insertXhnActivityInfo(xhnActivityInfo);
     }
 

+ 112 - 2
mybusiness/src/main/java/com/ruoyi/business/xhnnotsingle/registeruser/domain/XhnRegisterUser.java

@@ -5,6 +5,8 @@ import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.common.annotation.Excel;
 import com.ruoyi.common.core.domain.BaseEntity;
 
+import java.util.List;
+
 /**
  * 小红娘会员注册信息对象 xhn_register_user
  *
@@ -151,8 +153,36 @@ private static final long serialVersionUID=1L;
 
     private String createDate;
 
+            /** 收入 */
+    private String income;
+
+            /** 购房 */
+    private String buyhouse;
+
+            /** 购车 */
+    private String buycar;
+
+            /** 吸烟 */
+    private String smoke;
+
+            /** 喝酒 */
+    private String drink;
+
+            /** 结婚 */
+    private String marry;
 
-    public void setOpenid(String openid)
+            /** 民族 */
+    private String nation;
+
+            /** 照片地址 */
+    private String album;
+            /** 照片地址 */
+            private List<String> albumList;
+
+
+
+
+            public void setOpenid(String openid)
             {
             this.openid = openid;
             }
@@ -472,6 +502,78 @@ private static final long serialVersionUID=1L;
                 this.createDate = createDate;
             }
 
+            public String getIncome() {
+                return income;
+            }
+
+            public void setIncome(String income) {
+                this.income = income;
+            }
+
+            public String getBuyhouse() {
+                return buyhouse;
+            }
+
+            public void setBuyhouse(String buyhouse) {
+                this.buyhouse = buyhouse;
+            }
+
+            public String getBuycar() {
+                return buycar;
+            }
+
+            public void setBuycar(String buycar) {
+                this.buycar = buycar;
+            }
+
+            public String getSmoke() {
+                return smoke;
+            }
+
+            public void setSmoke(String smoke) {
+                this.smoke = smoke;
+            }
+
+            public String getDrink() {
+                return drink;
+            }
+
+            public void setDrink(String drink) {
+                this.drink = drink;
+            }
+
+            public String getMarry() {
+                return marry;
+            }
+
+            public void setMarry(String marry) {
+                this.marry = marry;
+            }
+
+            public String getNation() {
+                return nation;
+            }
+
+            public void setNation(String nation) {
+                this.nation = nation;
+            }
+
+            public String getAlbum() {
+                return album;
+            }
+
+            public void setAlbum(String album) {
+                this.album = album;
+            }
+
+            public List<String> getAlbumList() {
+                return albumList;
+            }
+
+            public void setAlbumList(List<String> albumList) {
+                this.albumList = albumList;
+            }
+
             @Override
     public String toString(){
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@@ -506,7 +608,15 @@ private static final long serialVersionUID=1L;
             .append("memberMoney" ,getMemberMoney())
             .append("memberIntegral" ,getMemberIntegral())
             .append("promoter" ,getPromoter())
-            .append("signIn" ,getSignIn())
+
+            .append("income" ,getIncome())
+            .append("buyhouse" ,getBuyhouse())
+            .append("buycar" ,getBuycar())
+            .append("smoke" ,getSmoke())
+            .append("drink" ,getDrink())
+            .append("marry" ,getMarry())
+            .append("nation" ,getNation())
+            .append("album" ,getAlbum())
         .toString();
         }
         }

+ 1 - 1
mybusiness/src/main/java/com/ruoyi/business/xhnnotsingle/registeruser/service/IXhnRegisterUserService.java

@@ -75,5 +75,5 @@ public interface IXhnRegisterUserService {
      * @param registeruserUnpaid 筛选数据
      * @return 结果
      */
-    public PageInfo<RegisteruserUnpaid> findXhnRegisterUserByApp(Integer pageNum, Integer pageSize,RegisteruserUnpaid registeruserUnpaid);
+    public List<RegisteruserUnpaid> findXhnRegisterUserByApp(RegisteruserUnpaid registeruserUnpaid);
 }

+ 2 - 3
mybusiness/src/main/java/com/ruoyi/business/xhnnotsingle/registeruser/service/impl/XhnRegisterUserServiceImpl.java

@@ -108,9 +108,8 @@ public class XhnRegisterUserServiceImpl implements IXhnRegisterUserService {
     }
 
     @Override
-    public PageInfo<RegisteruserUnpaid> findXhnRegisterUserByApp(Integer pageNum, Integer pageSize,RegisteruserUnpaid registeruserUnpaid) {
-        PageHelper.startPage(pageNum, pageSize);
+    public List<RegisteruserUnpaid> findXhnRegisterUserByApp(RegisteruserUnpaid registeruserUnpaid) {
         List<RegisteruserUnpaid> list = xhnRegisterUserMapper.findXhnRegisterUserByApp(registeruserUnpaid);
-        return PageInfo.of(list);
+        return list;
     }
 }

BIN
mybusiness/src/main/resources/apiclient_cert.p12


+ 21 - 19
mybusiness/src/main/resources/apiclient_cert.pem

@@ -1,23 +1,25 @@
 -----BEGIN CERTIFICATE-----
-MIID6TCCAtGgAwIBAgIUL1ilzCX9F2CEDxqkztHsYbWS6Q4wDQYJKoZIhvcNAQEL
+MIIEKDCCAxCgAwIBAgIULfCwmpGMoV91G2yiurfJzEL20LswDQYJKoZIhvcNAQEL
 BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT
 FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg
-Q0EwHhcNMjIxMTIzMDkyMjU3WhcNMjcxMTIyMDkyMjU3WjB7MRMwEQYDVQQDDAox
-NTQwODEzMDkxMRswGQYDVQQKDBLlvq7kv6HllYbmiLfns7vnu58xJzAlBgNVBAsM
-HumVv+aYpemmluS9s+enkeaKgOaciemZkOWFrOWPuDELMAkGA1UEBgwCQ04xETAP
-BgNVBAcMCFNoZW5aaGVuMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
-m9FkUcstckSKHE7hH0OKsZsSukWol3diFm/fRZjEz7NGMNc/K5iFDu5lQ+NBHr0s
-T5v5BzdfILdzJNE2pAFFWs6D/aVJBuZPAtsChUIfFZJsHbsUnaFSP+5NJU4GTDwJ
-5BGwxD9chYmyF3LpQbCDRkxoUu97qfH3cvjyaZRqYgdwO25hIXoQEbEa0gq1iTDd
-opy3kDAjCZlgYun7Pl63sUvghtdcRc8Nr5Ix5C26F5ViAymSkuKPD0y9GyqX9FrP
-bOisTpDKb/wcAdJxuf+pxmwghcNWK6wEo8img4UEL1AV1RAGM1kydspYy8LppqlB
-83enn/hcTTjuT5uF6QwmeQIDAQABo4GBMH8wCQYDVR0TBAIwADALBgNVHQ8EBAMC
-A/gwZQYDVR0fBF4wXDBaoFigVoZUaHR0cDovL2V2Y2EuaXRydXMuY29tLmNuL3B1
-YmxpYy9pdHJ1c2NybD9DQT0xQkQ0MjIwRTUwREJDMDRCMDZBRDM5NzU0OTg0NkMw
-MUMzRThFQkQyMA0GCSqGSIb3DQEBCwUAA4IBAQAvBJvqvZIByBTp3p1RzUkLGz4/
-iErOYkb+6Fp6zfKNqj+C6e+O7Fv6bOLuhNyfphHObD2DB0Tl3wWDo0xzfnfp6X2G
-aSympDljEeRuAbOipsmabRIT4ivilLddASHr2Dl1Dxx7iOziOI22jN/Aqu5/xUVi
-qhAsbm2mi1v4IbJXHUy/uuIchgzwUjZt05VScMhm4eKCzH+52a2kwHerG/kS8HmN
-ZRKVB6vOLLrnM8JH+2Lq03S0HqCR9otrgFMOBXTnkyi1lGv+WUDspTfDcr/ZBeUj
-wCZmsGy4IXZQKmK8VSlbyIyc3NxvyelDOzcXtMH5Ix5s6WTEESaKQ9fRWOwe
+Q0EwHhcNMjMwMjA3MDMzMjE5WhcNMjgwMjA2MDMzMjE5WjCBgTETMBEGA1UEAwwK
+MTYzNzc1MTU1NDEbMBkGA1UECgwS5b6u5L+h5ZWG5oi357O757ufMS0wKwYDVQQL
+DCTlkInmnpfnnIHpgYfop4HniLHkvKDlqpLmnInpmZDlhazlj7gxCzAJBgNVBAYM
+AkNOMREwDwYDVQQHDAhTaGVuWmhlbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBAMgyfqH6t1JIg3Fq1ydKdzvZt/4NJfzZ9Byn5jGqSajGSP3dz9J7BQ6E
+Q3E5nYNbn6LjgEjAoFpYXpVo9WjsyuDbjMbWc3PYjnGZvqhLs8yvtsWsSZvMNwOn
+A6T8Wj3FiovjgPZzsny79cCx81Djb8P6jIC9cHL60p4mxXzu0YpNPqh5o7I8VaBo
+H7MHSczIrjH8AsATXZwC4NcPahdNC1ZbH/utr9yd8FkEOyRaFIIq5FlKTt7xpH7r
+Cl849w/AjAm6s+oI2zfd7+xG+5tNwCmNM0oRfdnKC5wNwyeI2Ep8AiZFYQexcr41
+j9qna4jaC1Q4Xr8BbFjK5Iqxep5iryUCAwEAAaOBuTCBtjAJBgNVHRMEAjAAMAsG
+A1UdDwQEAwID+DCBmwYDVR0fBIGTMIGQMIGNoIGKoIGHhoGEaHR0cDovL2V2Y2Eu
+aXRydXMuY29tLmNuL3B1YmxpYy9pdHJ1c2NybD9DQT0xQkQ0MjIwRTUwREJDMDRC
+MDZBRDM5NzU0OTg0NkMwMUMzRThFQkQyJnNnPUhBQ0M0NzFCNjU0MjJFMTJCMjdB
+OUQzM0E4N0FEMUNERjU5MjZFMTQwMzcxMA0GCSqGSIb3DQEBCwUAA4IBAQCJQM2i
+JXHUmDR2RZ3O161f2obNx8LPoUMv+aYVrVcMS9F+47wBHiQ1u7oimTr4NDcyVa1d
++fAZyPgDwX/KcbfHbUDTyvCzDRTSfr5arL+oMeHtrd0+0eOz3ExURTrDNr/9FM9O
+EKCjqY4RELDAPb2ESRGIMSmQbcYLrHnsTfoO6P9z4J8D9ldWJAGww6vFLwqr8Q5C
+J0ZwRXQlsbcY+mi4XrjAFSGRkEN7YRF93i4rc1tGFoWzIc3CISRjHv80r6DAoeQ/
+9auqMGcs+PUsRvW5/Ngnmn7GgTmpXWUX/bpH2wWOuNYSYVlNu7tXhucqghJIisGb
+yvvleVXAZjJXHDpz
 -----END CERTIFICATE-----

+ 26 - 26
mybusiness/src/main/resources/apiclient_key.pem

@@ -1,28 +1,28 @@
 -----BEGIN PRIVATE KEY-----
-MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCb0WRRyy1yRIoc
-TuEfQ4qxmxK6RaiXd2IWb99FmMTPs0Yw1z8rmIUO7mVD40EevSxPm/kHN18gt3Mk
-0TakAUVazoP9pUkG5k8C2wKFQh8VkmwduxSdoVI/7k0lTgZMPAnkEbDEP1yFibIX
-culBsINGTGhS73up8fdy+PJplGpiB3A7bmEhehARsRrSCrWJMN2inLeQMCMJmWBi
-6fs+XrexS+CG11xFzw2vkjHkLboXlWIDKZKS4o8PTL0bKpf0Ws9s6KxOkMpv/BwB
-0nG5/6nGbCCFw1YrrASjyKaDhQQvUBXVEAYzWTJ2yljLwummqUHzd6ef+FxNOO5P
-m4XpDCZ5AgMBAAECggEAUnEYhhpdIk9XT6EAhZ0j3dKxtvKyP+m/cSWh2V36C/bL
-lX3dg4CALiU+WQv9YXkv37MjsIjAgTvu5TT4lw/BFUmdFnAEUm06ssUT8VPJxI0j
-PRvFzZ0UOpUoJivBM0a06QHfKAZqOpFfM/7toX72BhTZQcBKCuHmTeOfxvLq0pBP
-lnqN49yRWbEmBUTnBwYIFAxBJtIyIhLZMZqLwA5LpeDwSHf8AnEnbJ8l/diQNuzC
-KHwbO0XxdIoij+n8DbV7nfyItMKeNqXNhfFgpF4fkcqC/wFEqKJx6BPnhC9wzERR
-0ktApITeJshJD8xo+6FZFO3FFq9/qyfWFUeqBvMyrQKBgQDLBImZm0jvoW2hdREo
-z80BAEHEUMdmSy97dVHwP8MkQOVUvIU7G7/UPX7CEB6qq2cAkEpMEcKe/BEI3YTu
-DaDrYVL05vRI6/HEUZP1HQ/7l/q25U7n67CGr1RW5CIb3KzdkTGTdqYwTfbkKWPT
-M0Bv4U4DWApfYC/SDpoDsTo24wKBgQDEe3jJsRFsWNOl95vlbBOYSIS2pDJ1f1W1
-JJzeY+/WprJwwjwQ6zzYDYZYoaq2VIqg7pWgVCADfQor/XiwCebC5JC+HvY47uCb
-J5xPm+8VNafL0nbXByYFQ4TBb5FpgoldSvxGfG2H7KNKhZyeLx2g5E0yhdZ6eUL0
-Altild5P8wKBgQCrWjoVl1Z5Q4Q32YpRKws6BBB+dTvH4D/EcWJmaDr513h5C+Fb
-4XEI35qki1yG6sK2XBMJn5fn/pMWK3puPryKzwtov6KCBft6muxJ32zFCyLGykbO
-Q0UseMGz0Tvkzl5taIYyk9tzO+rd6v1hnomNpNnmwqGGnLXgEwj1gtnCxwKBgATC
-BKvFqOlZwU5Mj67fjh3q66PMmBg2TCoFx/Kustkc0kdevLugJqoIsc8low+lPnIl
-NORcBSZwebWU/r4sjzT6+fJQp5+7UR8Qt31KBmEaGoUaBJyyZJ5OA0H35KqMaa0j
-qrY+PxzCgzXDxIYkF/CUdrYZfZcbpp5oDDR38pk3AoGBAIU7SZLWL4xN2cBMDOSQ
-hdtu68yMBAEOa3CWoL6FUzXrl0cWLCyC1yMu8GPwK1aV9yB2lJkrCb3ebb9KSoqe
-hxJsUOL6FYFhcC93TGCPdPyXD/v4+SnGD2GVexP5pYquDlT+838QWzg5KdppOvLk
-fi544DxB4gSiMmDiPMPo4Dm5
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDIMn6h+rdSSINx
+atcnSnc72bf+DSX82fQcp+Yxqkmoxkj93c/SewUOhENxOZ2DW5+i44BIwKBaWF6V
+aPVo7Mrg24zG1nNz2I5xmb6oS7PMr7bFrEmbzDcDpwOk/Fo9xYqL44D2c7J8u/XA
+sfNQ42/D+oyAvXBy+tKeJsV87tGKTT6oeaOyPFWgaB+zB0nMyK4x/ALAE12cAuDX
+D2oXTQtWWx/7ra/cnfBZBDskWhSCKuRZSk7e8aR+6wpfOPcPwIwJurPqCNs33e/s
+RvubTcApjTNKEX3ZygucDcMniNhKfAImRWEHsXK+NY/ap2uI2gtUOF6/AWxYyuSK
+sXqeYq8lAgMBAAECggEAULDBh6oVH64ohJtKkwSZoF71oQlNqWdz0+T8jEIVpFgf
+bWts62o4NIys3kMZsKtKYY4O08QIHcIGhXQjjiH697ymNjKToDrF1xXf2deBZdvg
+8DWsCYa7GdbESkiIWuN3H0EYZr1lUI8103AmIRE6qCQhY3Z3j3B3WdVIvj1H6dTX
+cQ+6LQGpDF5yI/fyGzeGhF/UNP5gBM9dKFUgjHrd53p8aBcKiJydN+I/mF9aTjVr
+Mzjc7vu9fSI27fPJ1HfF6exL7WjaTGk4/kOG6HgkXjPk2JZamHBjfdJw012G6lbh
+JwmALOft8vIBn+pcIq8j7EhTH/7m/2kbR42NS4xzIQKBgQD15ojM+gIndNj9xOcr
+oQrFpyT9Efy+lXxpD86AP9MsOpFoPSik6dkfH2WOuWtx3fv1GQMc9gKsKiytALLn
+U4MOYO9aV2ggDu+Bu1VXrmRRKdVxHSwd1SnBh0DYLrkyv4DxAclG4S2LANrSOOIN
+oirNfDQt/j25jy33vusS8FLx/QKBgQDQa2xnER5z2fs08NkRqtRdto4FPGbgRry4
+lBH4GgX3s78O6dEa4mr6pD2jT7gTVAclrBDh6wUym2WyaQM4GQe1kApRGHgWglIE
+GBIQ+UwLudSDOYMo9n8Ccxlbm6THUaXkxCA8FgT1Sh+WlfUMXcy1GlUonmXz8y28
+4nvXIXrGSQKBgQC2CUfUlm/pzbKlipKn1bwnvii/wAUfAYLsM+tnPdiSsXjbdgsU
+qpk1VQTVt6Y20WKoey+2zNgFo+MW36GRZl1q04/djT9kHCpqG8h99HgHLbT42+PA
+4gDbZ8k1QMGRM/u8btoWQrR4ZtWXMs0F0rtlC0GFmuUO7VPWR9u2VXrR8QKBgH1U
+vAFWqAtev9NcKgyXv9EC4HCBnBOuNfqBADVD4ObNrkzXiikyksZaUb6NR9JHq2ya
+BiT04VFHZWZeA9OOKbajAbE2l7BhedSAbQzL/VDn1MV8pkTRxhrBADS4aeR6Uto4
+nnHDhAPFKS2yy4M+PMWDKkacyg5i49Q8FeCOf3gRAoGAaxheeTlEc7AXr5OxPBYh
+9t0YreF6VhuMv/aWTNW4S4VDI+yAezQp9mjeZooJC9csgcOntDgwqXfB29GM4OKI
+Ql9YmGbAVeFqbrD4gOcF/9YKqvy9/x9lfELCqFOrsHrI3rjlBFqTCPRatbFk4hN6
+8EkOlz+Ijix/VBHBmvmieyY=
 -----END PRIVATE KEY-----

+ 18 - 2
mybusiness/src/main/resources/mapper/xhnWecharts/XhnWxMapper.xml

@@ -112,7 +112,15 @@
             delisting,
             portrait_url as portraitUrl,
             is_free as isFree,
-            promoter_ewm as promoterEwm
+            promoter_ewm as promoterEwm,
+        income,
+        buyhouse,
+        buycar,
+        smoke,
+        drink,
+        marry,
+        nation,
+        album
         FROM
             xhn_register_user
 
@@ -155,7 +163,15 @@
         delisting,
         portrait_url as portraitUrl,
         is_free as isFree,
-        promoter_ewm as promoterEwm
+        promoter_ewm as promoterEwm,
+        income,
+        buyhouse,
+        buycar,
+        smoke,
+        drink,
+        marry,
+        nation,
+        album
         FROM
         xhn_register_user
         where openid = #{openid}

+ 84 - 3
mybusiness/src/main/resources/mapper/xhnnotsingle/XhnRegisterUserMapper.xml

@@ -39,13 +39,21 @@
             <result property="signIn" column="sign_in"/>
             <result property="age" column="age"/>
             <result property="promoterEwm" column="promoter_ewm"/>
-            <result property="createDate" column="create_date"/>
+            <result property="income" column="income"/>
+            <result property="buyhouse" column="buyhouse"/>
+            <result property="buycar" column="buycar"/>
+            <result property="smoke" column="smoke"/>
+            <result property="drink" column="drink"/>
+            <result property="marry" column="marry"/>
+            <result property="nation" column="nation"/>
+            <result property="album" column="album"/>
     </resultMap>
 
     <sql id="selectXhnRegisterUserVo">
         select openid, code, wechat_name, name, id_card, phone, height, weight, sex, birth_date, constellation, is_married, occupation,
         work_nature, education, location, ta_location, long_distance_love, `character`, ideal_type, no_accepted, wechat_code, wechat_argot,
-        approval, is_login, delisting, portrait_url, is_free, member_money, member_integral, promoter,sign_in,age,promoter_ewm,create_date
+        approval, is_login, delisting, portrait_url, is_free, member_money, member_integral, promoter,sign_in,age,promoter_ewm,create_date,
+        income ,buyhouse, buycar, smoke, drink, marry, nation,album
         from xhn_register_user
     </sql>
 
@@ -154,6 +162,30 @@
                         <if test="createDate != null  and createDate != ''">
                             and create_date = #{createDate}
                         </if>
+                        <if test="income != null  and income != ''">
+                            and income = #{income}
+                        </if>
+                        <if test="buyhouse != null  and buyhouse != ''">
+                            and buyhouse = #{buyhouse}
+                        </if>
+                        <if test="buycar != null  and buycar != ''">
+                            and buycar = #{buycar}
+                        </if>
+                        <if test="smoke != null  and smoke != ''">
+                            and smoke = #{smoke}
+                        </if>
+                        <if test="drink != null  and drink != ''">
+                            and drink = #{drink}
+                        </if>
+                        <if test="marry != null  and marry != ''">
+                            and marry = #{marry}
+                        </if>
+                        <if test="nation != null  and nation != ''">
+                            and nation = #{nation}
+                        </if>
+                        <if test="album != null  and album != ''">
+                            and album = #{album}
+                        </if>
         </where>
     </select>
 
@@ -236,6 +268,14 @@
                     </if>
                     <if test="createDate != null">create_date,
                     </if>
+                    <if test="income != null">income,</if>
+                    <if test="buyhouse != null">buyhouse,</if>
+                    <if test="buycar != null">buycar,</if>
+                    <if test="smoke != null">smoke,</if>
+                    <if test="drink != null">drink,</if>
+                    <if test="marry != null">marry,</if>
+                    <if test="nation != null">nation,</if>
+                    <if test="album != null">album,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
                     <if test="openid != null">#{openid},
@@ -308,6 +348,14 @@
                     </if>
                     <if test="createDate != null">#{createDate},
                     </if>
+                    <if test="income != null">#{income},</if>
+                    <if test="buyhouse != null">#{buyhouse},</if>
+                    <if test="buycar != null">#{buycar},</if>
+                    <if test="smoke != null">#{smoke},</if>
+                    <if test="drink != null">#{drink},</if>
+                    <if test="marry != null">#{marry},</if>
+                    <if test="nation != null">#{nation},</if>
+                    <if test="album != null">#{album},</if>
         </trim>
     </insert>
 
@@ -416,6 +464,31 @@
                     <if test="createDate != null">create_date =
                         #{createDate},
                     </if>
+
+                    <if test="income != null">income =
+                        #{income},
+                    </if>
+                    <if test="buyhouse != null">buyhouse =
+                        #{buyhouse},
+                    </if>
+                    <if test="buycar != null">buycar =
+                        #{buycar},
+                    </if>
+                    <if test="smoke != null">smoke =
+                        #{smoke},
+                    </if>
+                    <if test="drink != null">drink =
+                        #{drink},
+                    </if>
+                    <if test="marry != null">marry =
+                        #{marry},
+                    </if>
+                    <if test="nation != null">nation =
+                        #{nation},
+                    </if>
+                    <if test="album != null">album =
+                        #{album},
+                    </if>
         </trim>
         where openid = #{openid}
     </update>
@@ -457,7 +530,15 @@
         delisting,
         portrait_url as portraitUrl,
         is_free as isFree,
-        promoter_ewm as promoterEwm
+        promoter_ewm as promoterEwm,
+        income,
+        buyhouse,
+        buycar,
+        smoke,
+        drink,
+        marry,
+        nation,
+        album
         FROM
         xhn_register_user
         <where>

+ 4 - 2
mybusiness/src/main/resources/templates/appxhn/activity.html

@@ -18,6 +18,7 @@
     <input type="hidden" id="nv" th:value="*{nvMoney}"/>
     <input type="hidden" id="huodongid" th:value="${id}"/>
     <input type="hidden" id="sex" th:value="${brUser.sex}"/>
+    <input type="hidden" id="activityContent" th:value="*{activityContent}"/>
 
 
     <div class="banner"><img th:src="*{zsPath}"/></div>
@@ -45,7 +46,7 @@
     </div>
     <div class="xgjs">
     	<h3 class="jbxx-title">活动介绍</h3>
-        <div class="hd-cont"><p>[[*{activityContent}]]</p></div>
+        <div class="hd-cont"  id="htmlactivityContent"></div>
     </div>
 </div>
 <div class="footer">
@@ -59,6 +60,7 @@
     </th:block>
 </div>
 <script type="text/javascript">
+    $("#htmlactivityContent").html($("#activityContent").val());
     /**
      * 微信支付
      */
@@ -96,7 +98,7 @@
 
     function onBridgeReady(data) {
         WeixinJSBridge.invoke('getBrandWCPayRequest', {
-                "appId": 'wx19ac981693d1a79a',     //公众号ID,由商户传入
+                "appId": 'wxbeeb8f0238d1255b',     //公众号ID,由商户传入
                 "timeStamp": data.timeStamp,     //时间戳,自1970年以来的秒数
                 "nonceStr": data.nonceStr,      //随机串
                 "package": data.package_,

+ 82 - 75
mybusiness/src/main/resources/templates/appxhn/chaitamh.html

@@ -16,7 +16,7 @@
 		<div class="container wid_con2" th:object="${user}">
 			<div class="ctmh_bg">
 				<div class="ctmh">
-					<i class="nv"></i>
+					<i style="background-size: 100%;"><img th:src="*{portraitUrl}"/></i>
 					<h4>编号:[[*{code}]]</h4>
 					<p>[[*{location}]]</p>
 				</div>
@@ -51,12 +51,17 @@
 						<span>性别</span>
 					</div>
 					<div class="ctmh_li">
+						<i class="sfyd"></i>
+						<p>[[*{nation}]]</p>
+						<span>民族</span>
+					</div>
+				</div>
+				<div class="mh_column">
+					<div class="ctmh_li">
 						<i class="hyzk"></i>
 						<p>[[*{isMarried}]]</p>
 						<span>婚姻状况</span>
 					</div>
-				</div>
-				<div class="mh_column">
 					<div class="ctmh_li">
 						<i class="data"></i>
 						<p>[[*{birthDate}]]</p>
@@ -67,13 +72,13 @@
 						<p>[[*{constellation}]]</p>
 						<span>星座</span>
 					</div>
+				</div>
+				<div class="mh_column">
 					<div class="ctmh_li">
 						<i class="tz"></i>
 						<p>[[*{weight}]]KG</p>
 						<span>体重</span>
 					</div>
-				</div>
-				<div class="mh_column">
 					<div class="ctmh_li">
 						<i class="sg"></i>
 						<p>[[*{height}]]CM</p>
@@ -84,13 +89,47 @@
 						<p>[[*{occupation}]]</p>
 						<span>职业</span>
 					</div>
+				</div>
+				<div class="mh_column">
 					<div class="ctmh_li">
 						<i class="gzxz"></i>
 						<p>[[*{workNature}]]</p>
 						<span>工作性质</span>
 					</div>
+					<div class="ctmh_li">
+						<i class="data"></i>
+						<p>[[*{income}]]</p>
+						<span>收入</span>
+					</div>
+					<div class="ctmh_li center">
+						<i class="xz"></i>
+						<p>[[*{buyhouse}]]</p>
+						<span>购房</span>
+					</div>
 				</div>
 				<div class="mh_column">
+					<div class="ctmh_li">
+						<i class="tz"></i>
+						<p>[[*{buycar}]]</p>
+						<span>购车</span>
+					</div>
+					<div class="ctmh_li">
+						<i class="data"></i>
+						<p>[[*{smoke}]]</p>
+						<span>吸烟</span>
+					</div>
+					<div class="ctmh_li center">
+						<i class="xz"></i>
+						<p>[[*{drink}]]</p>
+						<span>喝酒</span>
+					</div>
+				</div>
+				<div class="mh_column">
+					<div class="ctmh_li">
+						<i class="tz"></i>
+						<p>[[*{marry}]]</p>
+						<span>结婚</span>
+					</div>
 					<div class="ctmh_li" onclick="openBox()">
 						<i class="xl"></i>
 						<p id="education_text">拆开后可见</p>
@@ -101,13 +140,13 @@
 						<p>[[*{location}]]</p>
 						<span>地区</span>
 					</div>
+				</div>
+				<div class="mh_column">
 					<div class="ctmh_li">
 						<i class="lxwz"></i>
 						<p>[[*{taLocation}]]</p>
 						<span>理想TA所在</span>
 					</div>
-				</div>
-				<div class="mh_column last_column">
 					<div class="ctmh_li">
 						<i class="sfyd"></i>
 						<p>[[*{longDistanceLove}]]</p>
@@ -115,6 +154,9 @@
 					</div>
 				</div>
 				</div>
+				<div class="mh_column last_column">
+					<img th:each="album : ${user.albumList}" th:src="${album}" style="width: 10rem;height: 10rem" class="xcimg"/>
+				</div>
 				<div class="sx_tap">
 					<i class="yc_x"><img th:src="@{/tuodanweb/images/more.png}"/></i>
 				</div>
@@ -141,64 +183,29 @@
 				<p class="ctmh_p" id="wechat_code" onclick="openBox()">拆开后可见</p>
 			</div>
 
-			<div class="stlw">
+			<div style="display: none;" class="stlw" id="gift">
 				<div class="lw_top">
 					<i><img th:src="@{/tuodanweb/images/ctmh_lw.png}"/></i>
 				</div>
 				<h2>请选择一份礼物</h2>
-				<div class="lw_bg">
+				<div class="lw_bg" >
 					<div class="lw_con wrapper" id="sass">
 						<div class="scroller">
 							<ul>
-								<li class="lw_div">
-									<a>
-										<div class="lw_img">
-											<img th:src="@{/tuodanweb/images/ctmh_xh.png}" />
-										</div>
-										<h5>鲜花</h5>
-										<div class="lw_txt">
-											<div class="buymain_body_son">
-												<input class="min buymain_body_btn" name="" type="button" value="-" />
-												<input class="text_box buymain_body_num" name="" type="number" value=""
-													   placeholder="0" />
-												<input class="add buymain_body_btn" name="" type="button" value="+" />
-											</div>
-											<div class="lw_jf price">5积分</div>
-										</div>
-
-									</a>
-								</li>
-								<li class="lw_div">
-									<a>
-										<div class="lw_img">
-											<img th:src="@{/tuodanweb/images/ctmh_dg.png}" />
-										</div>
-										<h5>蛋糕</h5>
-										<div class="lw_txt">
-											<div class="buymain_body_son">
-												<input class="min buymain_body_btn" name="" type="button" value="-" />
-												<input class="text_box buymain_body_num" name="" type="number" value=""
-													   placeholder="0" />
-												<input class="add buymain_body_btn" name="" type="button" value="+" />
-											</div>
-											<div class="lw_jf price">5积分</div>
-										</div>
-									</a>
-								</li>
-								<li class="lw_div">
+								<li class="lw_div" th:each="gift : ${giftList}">
 									<a>
 										<div class="lw_img">
-											<img th:src="@{/tuodanweb/images/ctmh_dg.png}" />
+											<img th:src="${gift.giftPath}" />
 										</div>
-										<h5>鲜花</h5>
+										<h5>[[${gift.giftName}]]</h5>
 										<div class="lw_txt">
 											<div class="buymain_body_son">
 												<input class="min buymain_body_btn" name="" type="button" value="-" />
-												<input class="text_box buymain_body_num" name="" type="number" value=""
+												<input class="text_box buymain_body_num giftNum" name="" type="number" value="" th:id="${gift.id}"
 													   placeholder="0" />
 												<input class="add buymain_body_btn" name="" type="button" value="+" />
 											</div>
-											<div class="lw_jf price">5积分</div>
+											<div class="lw_jf price">[[${gift.giftNum}]]积分</div>
 										</div>
 									</a>
 								</li>
@@ -207,21 +214,11 @@
 					</div>
 					<div class="lw_sf">
 						<p>消费:<label id="total"></label>积分</p>
-						<input type="button" value="购买" />
+						<input type="button" value="购买" onclick="giftGive()"/>
 					</div>
 
 				</div>
 			</div>
-
-			<div style="display: none;" id="gift">
-				<div th:each="gift : ${giftList}">
-					<img th:src="${gift.giftPath}" style="width: 10%">
-					<span>[[${gift.giftName}]]</span>
-					<span>[[${gift.giftNum}]]</span>
-					<input type="number" th:id="${gift.id}">
-					<button type="button" th:onclick="giftGive([[${gift.id}]])">赠送</button>
-				</div>
-			</div>
 			<input type="hidden" th:value="*{isFree}" id="isFree"/>
 			<input type="hidden" th:value="${bropenid}" id="openid"/>
 			<input type="hidden" th:value="*{openid}" id="boxOpenid"/>
@@ -338,22 +335,32 @@
                 window.location.href = ctx+'xhn/openBox?hdUrl='+url+'&boxOpenid='+$("#boxOpenid").val();
 			}
 
-			function giftGive(giftId){
-                $.ajax({
-                    type: "post",
-                    url: ctx + "xhn/giftGive",
-                    data: {
-                        openid:$("#openid").val(),
-						bOpenid:$("#boxOpenid").val(),
-						giftId:giftId,
-						giftNum:$("#"+giftId).val()
-                    },
-                    success: function (res) {
-                        if(res.code == 0){
-                            alert(res.msg);
-						}
-                    }
+			function giftGive(){
+                var giftNum = [];
+                var giftId = [];
+                $(".giftNum").each(function(index, el) {
+                    giftNum[giftNum.length] = el.value;
+                    giftId[giftId.length] = el.id;
                 });
+                for(var i in giftNum) {
+                    if(giftNum[i] != ''){
+                        $.ajax({
+                            type: "post",
+                            url: ctx + "xhn/giftGive",
+                            data: {
+                                openid:$("#openid").val(),
+                                bOpenid:$("#boxOpenid").val(),
+                                giftId:giftId[i],
+                                giftNum:giftNum[i]
+                            },
+                            success: function (res) {
+                                if(res.code == 0){
+                                    alert(res.msg);
+                                }
+                            }
+                        });
+                    }
+            	}
             }
 		</script>
 	</body>

+ 11 - 12
mybusiness/src/main/resources/templates/appxhn/index.html

@@ -22,7 +22,7 @@
 				<div class="slider-wrapper">
 					<div class="slider-item" th:each="dh : ${daohang}">
 						<a href="javascript:;">
-							<img th:src="${dh.zsPath}">
+							<img th:src="${dh.zsPath}" style="width:100%;height: 20rem">
 						</a>
 					</div>
 					<!--<div class="slider-item">-->
@@ -37,7 +37,7 @@
 			<!-- 搜索 开始 -->
 			<form class="shearh">
 				<input type="text" placeholder="拆TA盲盒,搜索编号" class="inp_txt" id="boxCode"/>
-				<input type="button" value="搜索" class="inp_btn"/>
+				<input type="button" value="搜索" class="inp_btn wc" />
 			</form>
 			<!-- 搜索 结束 -->
 			<!-- 全部盲盒  活动 红娘 开始-->
@@ -52,11 +52,11 @@
 			<!-- 盲盒列表 开始 -->
 			<div class="mh_list" id="boxTable">
 				<div id="userTable">
-					<div th:each="user : ${userList.list}">
+					<div th:each="user : ${userList}">
 						<th:block th:if="${user.sex == '1'}">
 							<div class="mh_div nan vip" th:onclick="lookChaitamh([[${user.openid}]])">
 								<!--<i class="rz_i">颜值认证</i>-->
-								<div class="mh_img fl"></div>
+								<div class="fl" style="width: 65px;height: 65px;margin-right: 15px;"><img th:src="${user.portraitUrl}"/></div>
 								<div class="mh_txt fl">
 									<div class="tit">
 										<span th:text="'编号:'+${user.code}"></span>
@@ -72,7 +72,7 @@
 						<th:block th:if="${user.sex == '2'}">
 							<div class="mh_div nv vip" th:onclick="lookChaitamh([[${user.openid}]])">
 								<!--<i class="rz_i">颜值认证</i>-->
-								<div class="mh_img fl"></div>
+								<div class="fl" style="width: 65px;height: 65px;margin-right: 15px;"><img th:src="${user.portraitUrl}"/></div>
 								<div class="mh_txt fl">
 									<div class="tit">
 										<span th:text="'编号:'+${user.code}"></span>
@@ -87,7 +87,7 @@
 						</th:block>
 					</div>
 				</div>
-				<button type="button" onclick="pageAdd()">下一页</button>
+				<!--<button type="button" onclick="pageAdd()">下一页</button>-->
 			</div>
 			<!-- 盲盒列表 结束 -->
 			<!-- 活动列表 开始 -->
@@ -227,7 +227,7 @@
 				<div style="clear: both;"></div>
 				<div class="sx_btn">
 					<input type="button" value="重置筛选" id="czsx"/>
-					<input type="button" value="完成" id="wc"/>
+					<input type="button" value="完成" class="wc"/>
 				</div>
 			</form>
 		</div>
@@ -434,7 +434,7 @@
 				/**
                  * 首页列表筛选提交
                  */
-				$("#wc").on('click',function(){
+				$(".wc").on('click',function(){
 					$(".tk_zg").hide();
 					$("body").css("overflow","auto")
 					$(".sx_k").animate(
@@ -476,10 +476,9 @@
                             taLocation:taLocation,
                             startHeight:startHeight,
                             endHeight:endHeight,
-                            pageNum:1
                         },
                         success: function (res) {
-                            if(res.code == 0 && res.data.length > 0){
+                            if(res.code == 0){
                                 var userTable = "";
                                 for (var i in res.data){
                              		userTable+="<div class=\"mh_div rz " ;
@@ -717,7 +716,7 @@
 
             function onBridgeReady(data) {
                 WeixinJSBridge.invoke('getBrandWCPayRequest', {
-                        "appId": 'wx19ac981693d1a79a',     //公众号ID,由商户传入
+                        "appId": 'wxbeeb8f0238d1255b',     //公众号ID,由商户传入
                         "timeStamp": data.timeStamp,     //时间戳,自1970年以来的秒数
                         "nonceStr": data.nonceStr,      //随机串
                         "package": data.package_,
@@ -757,7 +756,7 @@
                         if(res.code == 0){
                             $("#jf").html(parseInt($("#jf").html())+1);
                             $("#signButton").attr("disabled","disabled");
-                            alert("签到成功!");
+                            $("#signButton").html("今日已签到");
                         }
                     }
                 });

+ 1 - 1
mybusiness/src/main/resources/templates/appxhn/lookGiveGift.html

@@ -6,7 +6,7 @@
 	<meta content="yes" name="apple-mobile-web-app-capable" />
 	<meta content="black" name="apple-mobile-web-app-status-bar-style" />
 	<meta content="telephone=no" name="format-detection" />
-	<title>佣金提现</title>
+	<title>佣金账单</title>
 	<link th:href="@{/tuodanweb/css/main.css}" rel="stylesheet" />
 	<script th:src="@{/tuodanweb/js/jquery.min.js}" type="text/javascript"></script>
 </head>

+ 1 - 1
mybusiness/src/main/resources/templates/appxhn/openBox.html

@@ -63,7 +63,7 @@
 
     function onBridgeReady(data) {
         WeixinJSBridge.invoke('getBrandWCPayRequest', {
-                "appId": 'wx19ac981693d1a79a',     //公众号ID,由商户传入
+                "appId": 'wxbeeb8f0238d1255b',     //公众号ID,由商户传入
                 "timeStamp": data.timeStamp,     //时间戳,自1970年以来的秒数
                 "nonceStr": data.nonceStr,      //随机串
                 "package": data.package_,

+ 3 - 3
mybusiness/src/main/resources/templates/appxhn/openRecharge.html

@@ -15,14 +15,14 @@
 </head>
 <body>
 <div class="container wid_con3">
-	<div class="qd_btn" th:object="${brUser}">
+	<div class="yjtx_bn" th:object="${brUser}">
 		<span onclick="wechatPay(600)">6元</span>
 		<span onclick="wechatPay(1800)">18元</span>
 		<span onclick="wechatPay(3600)">36元</span>
 		<span onclick="wechatPay(7200)">72元</span>
 		<input th:value="*{openid}" id="openid" type="hidden"/>
 	</div>
-	<div>
+	<div class="yjtx_bn">
 		<span th:each="jf : ${jfList}"
 			  th:onclick="moneyConvertedIntegral([[${brUser.openid}]],[[${jf.id}]],[[${jf.money}]])">
 			[[${jf.money}]]元换[[${jf.integral}]]积分
@@ -87,7 +87,7 @@
      */
     function onBridgeReady(data) {
         WeixinJSBridge.invoke('getBrandWCPayRequest', {
-                "appId": 'wx19ac981693d1a79a',     //公众号ID,由商户传入
+                "appId": 'wxbeeb8f0238d1255b',     //公众号ID,由商户传入
                 "timeStamp": data.timeStamp,     //时间戳,自1970年以来的秒数
                 "nonceStr": data.nonceStr,      //随机串
                 "package": data.package_,

+ 3 - 3
mybusiness/src/main/resources/templates/appxhn/qidongye.html

@@ -28,10 +28,10 @@
         new Vue({
             el: '#app',
             data: {
-                APPID: "wx19ac981693d1a79a",
-                APPSECRET: "cc7d798b4ce862979bb8f1571ef8be2b",
+                APPID: "wxbeeb8f0238d1255b",
+                APPSECRET: "da55125316b8d44ef66b6b8a187aedfa",
                 // homeUrl: "http://qiyerenzibao.com/xhn/register",//通过微信认证后的回调地址
-                homeUrl: "http://umk43t.natappfree.cc/xhn/register",//通过微信认证后的回调地址
+                homeUrl: "http://fzcb7a.natappfree.cc/xhn/register",//通过微信认证后的回调地址
                 promoter: '',
             },
             created() {//   页面加载时触发方法

+ 36 - 19
mybusiness/src/main/resources/templates/appxhn/register.html

@@ -67,8 +67,15 @@
 
                 <h1 class="zc_title">婚姻状态</h1>
                 <div class="xingbie">
-                    <span class="man"><input type="radio" name="isMarried" value="未婚"/>未婚</span>
-                    <span class="woman"><input type="radio" name="isMarried" value="离异"/>离异</span>
+                    <span class="man">
+                        <input type="radio" name="isMarried" value="未婚"/>未婚
+                        <input type="radio" name="isMarried" value="离异未育"/>离异未育
+                        <input type="radio" name="isMarried" value="离异不带小孩"/>离异不带小孩
+                        <input type="radio" name="isMarried" value="离异带女孩"/>离异带女孩
+                        <input type="radio" name="isMarried" value="离异带男孩"/>离异带男孩
+                        <input type="radio" name="isMarried" value="丧偶"/>丧偶
+                    </span>
+                    <!--<span class="woman"><input type="radio" name="isMarried" value="离异"/>离异</span>-->
                     <div class="clear"></div>
                 </div>
                 <h1 class="zc_title">体重Kg</h1>
@@ -80,29 +87,33 @@
                 </div>
                 <h1 class="zc_title">工作性质</h1>
                 <select class="xingzuo" name="workNature" id="workNature">
-                    <option value="私企">私企</option>
-                    <option value="国企">国企</option>
-                    <option value="央企">央企</option>
-                    <option value="个体工商户">个体工商户</option>
-                    <option value="企业法人">企业法人</option>
-                    <option value="自主创业">自主创业</option>
-                    <option value="事业单位(合同)">事业单位(合同)</option>
-                    <option value="事业单位(在编)">事业单位(在编)</option>
-                    <option value="公务员">公务员</option>
+                    <option value="上班族">上班族</option>
+                    <option value="自由职业">自由职业</option>
+                    <option value="在校学生">在校学生</option>
                     <option value="军人">军人</option>
-                    <option value="机关单位">机关单位</option>
-                    <option value="学生">学生</option>
+                    <option value="个体">个体</option>
+                    <option value="公司高管">公司高管</option>
+                    <option value="公务员">公务员</option>
+                    <option value="教师">教师</option>
+                    <option value="医生">医生</option>
+                    <option value="护士">护士</option>
+                    <option value="服务业">服务业</option>
+                    <option value="美容业">美容业</option>
+                    <option value="工人">工人</option>
+                    <option value="退休">退休</option>
+                    <option value="求职中">求职中</option>
                 </select>
                 <h1 class="zc_title">学历</h1>
                 <select class="xingzuo" name="education" id="education">
-                    <option value="博士研究生">博士研究生</option>
-                    <option value="硕士研究生">硕士研究生</option>
-                    <option value="本科">本科</option>
-                    <option value="大专">大专</option>
+                    <option value="初中">初中</option>
+                    <option value="技校">技校</option>
                     <option value="高中">高中</option>
                     <option value="中专">中专</option>
-                    <option value="初中">初中</option>
-                    <option value="小学">小学</option>
+                    <option value="大专">大专</option>
+                    <option value="专升本">专升本</option>
+                    <option value="本科">本科</option>
+                    <option value="硕士">硕士</option>
+                    <option value="博士">博士</option>
                 </select>
                 <h1 class="zc_title">职业</h1>
                 <div class="xinggeJS">
@@ -119,6 +130,12 @@
                 <h1 class="zc_title">不接受的TA</h1>
                 <div class="xinggeJS">
                     <textarea name="noAccepted"  id="noAccepted"></textarea>
+                    性格:
+                    <input type="button" value="浪漫迷人">
+                    <input type="button" value="成熟稳重">
+                    <input type="button" value="浪漫风趣">
+                    <input type="button" value="乐天达观">
+                    <input type="button" value="活泼可爱">
                 </div>
                 <h1 class="zc_title">理想型的TA</h1>
                 <div class="xinggeJS">

+ 314 - 39
mybusiness/src/main/resources/templates/appxhn/updateuser.html

@@ -19,7 +19,28 @@
     <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
     <script src="http://res2.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
 </head>
-
+<!--var obj = this;-->
+<!--var data = new FormData();-->
+<!--data.append("file", files[0]);-->
+<!--$.ajax({-->
+<!--type: "post",-->
+<!--url: ctx + "common/upload",-->
+<!--data: data,-->
+<!--cache: false,-->
+<!--contentType: false,-->
+<!--processData: false,-->
+<!--dataType: 'json',-->
+<!--success: function (result) {-->
+<!--if (result.code == web_status.SUCCESS) {-->
+<!--$('#' + obj.id).summernote('insertImage', result.url);-->
+<!--} else {-->
+<!--$.modal.alertError(result.msg);-->
+<!--}-->
+<!--},-->
+<!--error: function (error) {-->
+<!--$.modal.alertWarning("图片上传失败。");-->
+<!--}-->
+<!--});-->
 <body>
 <div class="zcbj"><img th:src="@{/tuodanweb/images/zcbj.jpg}"/></div>
 <div class="zhuce" id="app">
@@ -28,17 +49,28 @@
             <div th:object="${user}">
                 <input th:value="*{openid}" id="openid" name="openid" type="hidden"/>
                 <h1 class="zc_title">微信头像</h1>
-                <img th:src="*{portraitUrl}" id="portraitUrl" name="portraitUrl"/>
+                <img th:src="*{portraitUrl}" onclick="$('#portraitUrlfile').click()" id="portraitUrlImg" style="width: 16rem;height: 16rem"/>
+                <input type="hidden" name="portraitUrl" th:value="*{portraitUrl}" id="portraitUrl">
+                <input type="file" style="display: none;" id="portraitUrlfile">
                 <h1 class="zc_title">微信昵称</h1>
-                <input type="text" class="date2" th:value="*{wechatName}" id="wechatName" name="wechatName">
+                <input type="text" class="date2 k" th:value="*{wechatName}" id="wechatName" name="wechatName">
+
+                <h1 class="zc_title">相册</h1>
+                <div id="xiangcheList" >
+                    <img th:each="album : ${user.albumList}" th:src="${album}" style="width: 10rem;height: 10rem" class="xcimg" onclick="xcRemove(this);"/>
+                    <img th:if="${user.albumList.size < 5}" class="file_add" onclick="$('#xiangchefile').click()" />
+                </div>
+                <input type="hidden" name="album" id="album">
+                <input type="file" style="display: none;" id="xiangchefile">
+
                 <h1 class="zc_title">真实姓名</h1>
-                <input type="text" class="date2" th:value="*{name}" name="name">
+                <input type="text" class="date2 k" th:value="*{name}" name="name">
                 <h1 class="zc_title">身份证号</h1>
-                <input type="text" class="date2" th:value="*{idCard}" name="idCard" onchange="cardtest(this.value)">
+                <input type="text" class="date2 k" th:value="*{idCard}" name="idCard" onchange="cardtest(this.value)">
                 <h1 class="zc_title">出生年月</h1>
-                <input type="text" class="date2" th:value="*{birthDate}" name="birthDate" id="birthDate" readonly>
+                <input type="text" class="date2 k" th:value="*{birthDate}" name="birthDate" id="birthDate" readonly>
                 <h1 class="zc_title">年龄</h1>
-                <input type="text" class="date2" th:value="*{age}" name="age" id="age" readonly>
+                <input type="text" class="date2 k" th:value="*{age}" name="age" id="age" readonly>
                 <h1 class="zc_title">您的性别</h1>
                 <div class="xingbie">
                     <span class="man"><input type="radio" name="sex" value="1" th:checked="*{sex == '1'}"/>男</span>
@@ -63,20 +95,36 @@
                     <option value="摩羯座" th:selected="*{constellation == '摩羯座'}">摩羯座</option>
                 </select>
                 <h1 class="zc_title">身高CM</h1>
-                <input type="text" class="date2" name="height" th:value="*{height}">
+                <input type="text" class="date2 k" name="height" th:value="*{height}">
 
                 <h1 class="zc_title">婚姻状态</h1>
-                <div class="xingbie">
-                    <span class="man"><input type="radio" name="isMarried" value="未婚" th:checked="*{isMarried == '未婚'}"/>未婚</span>
-                    <span class="woman"><input type="radio" name="isMarried" value="离异" th:checked="*{isMarried == '离异'}"/>离异</span>
-                    <div class="clear"></div>
-                </div>
+                <select class="xingzuo" name="isMarried">
+                    <option value="未婚" th:selected="*{isMarried == '未婚'}">未婚</option>
+                    <option value="离异未育" th:selected="*{isMarried == '离异未育'}">离异未育</option>
+                    <option value="离异不带小孩" th:selected="*{isMarried == '离异不带小孩'}">离异不带小孩</option>
+                    <option value="离异带女孩" th:selected="*{isMarried == '离异带女孩'}">离异带女孩</option>
+                    <option value="离异带男孩" th:selected="*{isMarried == '离异带男孩'}">离异带男孩</option>
+                    <option value="丧偶" th:selected="*{isMarried == '丧偶'}">丧偶</option>
+                </select>
                 <h1 class="zc_title">体重Kg</h1>
-                <input type="text" class="date2" name="weight" th:value="*{weight}">
+                <input type="text" class="date2 k" name="weight" th:value="*{weight}">
 
                 <h1 class="zc_title">性格介绍</h1>
                 <div class="xinggeJS">
-                    <textarea name="character" th:value="*{character}">[[*{character}]]</textarea>
+                    <textarea name="character" th:value="*{character}" id="character">[[*{character}]]</textarea>
+                    性格:
+                    <input type="button" value="浪漫迷人" class="character">
+                    <input type="button" value="成熟稳重" class="character">
+                    <input type="button" value="浪漫风趣" class="character">
+                    <input type="button" value="乐天达观" class="character">
+                    <input type="button" value="活泼可爱" class="character">
+                    <input type="button" value="忠厚老实" class="character">
+                    <input type="button" value="淳朴害羞" class="character">
+                    <input type="button" value="温柔体贴" class="character">
+                    <input type="button" value="多愁善感" class="character">
+                    <input type="button" value="新潮时尚" class="character">
+                    <input type="button" value="热辣动感" class="character">
+                    <input type="button" value="豪放不羁" class="character">
                 </div>
                 <h1 class="zc_title">工作性质</h1>
                 <select class="xingzuo" name="workNature">
@@ -95,19 +143,84 @@
                 </select>
                 <h1 class="zc_title">学历</h1>
                 <select class="xingzuo" name="education">
-                    <option value="博士研究生" th:selected="*{education == '博士研究生'}">博士研究生</option>
-                    <option value="硕士研究生" th:selected="*{education == '硕士研究生'}">硕士研究生</option>
-                    <option value="本科" th:selected="*{education == '本科'}">本科</option>
-                    <option value="大专" th:selected="*{education == '大专'}">大专</option>
+                    <option value="初中" th:selected="*{education == '初中'}">初中</option>
+                    <option value="技校" th:selected="*{education == '技校'}">技校</option>
                     <option value="高中" th:selected="*{education == '高中'}">高中</option>
                     <option value="中专" th:selected="*{education == '中专'}">中专</option>
-                    <option value="初中" th:selected="*{education == '初中'}">初中</option>
-                    <option value="小学" th:selected="*{education == '小学'}">小学</option>
+                    <option value="大专" th:selected="*{education == '大专'}">大专</option>
+                    <option value="专升本" th:selected="*{education == '专升本'}">专升本</option>
+                    <option value="本科" th:selected="*{education == '本科'}">本科</option>
+                    <option value="硕士" th:selected="*{education == '硕士'}">硕士</option>
+                    <option value="博士" th:selected="*{education == '博士'}">博士</option>
                 </select>
                 <h1 class="zc_title">职业</h1>
-                <div class="xinggeJS">
-                    <textarea name="occupation" th:value="*{character}">[[*{character}]]</textarea>
-                </div>
+                <select class="xingzuo" name="occupation">
+                    <option value="上班族" th:selected="*{occupation == '上班族'}">上班族</option>
+                    <option value="自由职业" th:selected="*{occupation == '自由职业'}">自由职业</option>
+                    <option value="在校学生" th:selected="*{occupation == '在校学生'}">在校学生</option>
+                    <option value="军人" th:selected="*{occupation == '军人'}">军人</option>
+                    <option value="求职中" th:selected="*{occupation == '求职中'}">求职中</option>
+                    <option value="个体" th:selected="*{occupation == '个体'}">个体</option>
+                    <option value="公司高管" th:selected="*{occupation == '公司高管'}">公司高管</option>
+                    <option value="公务员" th:selected="*{occupation == '公务员'}">公务员</option>
+                    <option value="程序员" th:selected="*{occupation == '程序员'}">程序员</option>
+                    <option value="教师" th:selected="*{occupation == '教师'}">教师</option>
+                    <option value="医生" th:selected="*{occupation == '医生'}">医生</option>
+                    <option value="护士" th:selected="*{occupation == '护士'}">护士</option>
+                    <option value="服务业" th:selected="*{occupation == '服务业'}">服务业</option>
+                    <option value="美容业" th:selected="*{occupation == '美容业'}">美容业</option>
+                    <option value="工人" th:selected="*{occupation == '工人'}">工人</option>
+                    <option value="退休" th:selected="*{occupation == '退休'}">退休</option>
+                </select>
+                <h1 class="zc_title">收入</h1>
+                <select class="xingzuo" name="income">
+                    <option value="3千元以下" th:selected="*{income == '3千元以下'}">3千元以下</option>
+                    <option value="3-5千元" th:selected="*{income == '3-5千元'}">3-5千元</option>
+                    <option value="5-8千元" th:selected="*{income == '5-8千元'}">5-8千元</option>
+                    <option value="8千-1万元" th:selected="*{income == '8千-1万元'}">8千-1万元</option>
+                    <option value="1-2万元" th:selected="*{income == '1-2万元'}">1-2万元</option>
+                    <option value="2-3万元" th:selected="*{income == '2-3万元'}">2-3万元</option>
+                    <option value="4万元以下" th:selected="*{income == '4万元以下'}">4万元以下</option>
+                    <option value="4万元以上" th:selected="*{income == '4万元以上'}">4万元以上</option>
+                </select>
+                <h1 class="zc_title">购房</h1>
+                <select class="xingzuo" name="buyhouse">
+                    <option value="未购房与父母住" th:selected="*{buyhouse == '未购房与父母住'}">未购房与父母住</option>
+                    <option value="已购婚房且无贷款" th:selected="*{buyhouse == '已购婚房且无贷款'}">已购婚房且无贷款</option>
+                    <option value="已购婚房但有贷款" th:selected="*{buyhouse == '已购婚房但有贷款'}">已购婚房但有贷款</option>
+                    <option value="最近正在考虑买房" th:selected="*{buyhouse == '最近正在考虑买房'}">最近正在考虑买房</option>
+                    <option value="看女方位置定下来后买房" th:selected="*{buyhouse == '看女方位置定下来后买房'}">看女方位置定下来后买房</option>
+                    <option value="暂无购房能力" th:selected="*{buyhouse == '暂无购房能力'}">暂无购房能力</option>
+                </select>
+                <h1 class="zc_title">购车</h1>
+                <select class="xingzuo" name="buycar">
+                    <option value="已购车" th:selected="*{buycar == '已购车'}">已购车</option>
+                    <option value="未购车" th:selected="*{buycar == '未购车'}">未购车</option>
+                    <option value="有购车计划" th:selected="*{buycar == '有购车计划'}">有购车计划</option>
+                </select>
+                <h1 class="zc_title">吸烟</h1>
+                <select class="xingzuo" name="smoke">
+                    <option value="不吸烟" th:selected="*{smoke == '不吸烟'}">不吸烟</option>
+                    <option value="偶尔吸烟" th:selected="*{smoke == '偶尔吸烟'}">偶尔吸烟</option>
+                    <option value="经常吸烟" th:selected="*{smoke == '经常吸烟'}">经常吸烟</option>
+                </select>
+                <h1 class="zc_title">喝酒</h1>
+                <select class="xingzuo" name="drink">
+                    <option value="不喝酒" th:selected="*{drink == '不喝酒'}">不喝酒</option>
+                    <option value="偶尔小酌" th:selected="*{drink == '偶尔小酌'}">偶尔小酌</option>
+                    <option value="应酬时需喝酒" th:selected="*{drink == '应酬时需喝酒'}">应酬时需喝酒</option>
+                    <option value="经常喝酒" th:selected="*{drink == '经常喝酒'}">经常喝酒</option>
+                </select>
+                <h1 class="zc_title">结婚</h1>
+                <select class="xingzuo" name="marry">
+                    <option value="一年内结婚" th:selected="*{marry == '一年内结婚'}">一年内结婚</option>
+                    <option value="两年内结婚" th:selected="*{marry == '两年内结婚'}">两年内结婚</option>
+                    <option value="三年内结婚" th:selected="*{marry == '三年内结婚'}">三年内结婚</option>
+                    <option value="时机成熟结婚" th:selected="*{marry == '时机成熟结婚'}">时机成熟结婚</option>
+                </select>
+                <h1 class="zc_title">民族</h1>
+                <input type="text" class="date2 k" name="nation" th:value="*{nation}">
+
                 <h1 class="zc_title">是否接受异地</h1>
                 <div class="xingbie">
                     <span class="man"><input type="radio" name="longDistanceLove" value="是" th:checked="*{longDistanceLove == '是'}"/>是</span>
@@ -118,11 +231,77 @@
                 <input type="text" class="select-value01 form-control" th:value="*{taLocation}" name="taLocation">
                 <h1 class="zc_title">不接受的TA</h1>
                 <div class="xinggeJS">
-                    <textarea name="noAccepted" th:value="*{character}">[[*{noAccepted}]]</textarea>
+                    <textarea name="noAccepted" th:value="*{character}" id="noAccepted">[[*{noAccepted}]]</textarea>
+                    性格:
+                    <input type="button" value="浪漫迷人" class="noAccepted">
+                    <input type="button" value="成熟稳重" class="noAccepted">
+                    <input type="button" value="浪漫风趣" class="noAccepted">
+                    <input type="button" value="乐天达观" class="noAccepted">
+                    <input type="button" value="活泼可爱" class="noAccepted">
+                    <input type="button" value="忠厚老实" class="noAccepted">
+                    <input type="button" value="淳朴害羞" class="noAccepted">
+                    <input type="button" value="温柔体贴" class="noAccepted">
+                    <input type="button" value="多愁善感" class="noAccepted">
+                    <input type="button" value="新潮时尚" class="noAccepted">
+                    <input type="button" value="热辣动感" class="noAccepted">
+                    <input type="button" value="豪放不羁" class="noAccepted">
+                    <br>
+                    爱好:
+                    <input type="button" value="音乐" class="noAccepted">
+                    <input type="button" value="影视" class="noAccepted">
+                    <input type="button" value="数码" class="noAccepted">
+                    <input type="button" value="汽车" class="noAccepted">
+                    <input type="button" value="时常" class="noAccepted">
+                    <input type="button" value="旅行" class="noAccepted">
+                    <input type="button" value="美食" class="noAccepted">
+                    <input type="button" value="文学" class="noAccepted">
+                    <input type="button" value="购物" class="noAccepted">
+                    <input type="button" value="摄影" class="noAccepted">
+                    <input type="button" value="宠物" class="noAccepted">
+                    <input type="button" value="愿意" class="noAccepted">
+                    <input type="button" value="绘画" class="noAccepted">
+                    <input type="button" value="体育" class="noAccepted">
+                    <input type="button" value="舞蹈" class="noAccepted">
+                    <input type="button" value="金融" class="noAccepted">
+                    <input type="button" value="动漫" class="noAccepted">
+                    <input type="button" value="其他" class="noAccepted">
                 </div>
                 <h1 class="zc_title">理想型的TA</h1>
                 <div class="xinggeJS">
-                    <textarea name="idealType" th:value="*{character}">[[*{idealType}]]</textarea>
+                    <textarea name="idealType" th:value="*{character}" id="idealType">[[*{idealType}]]</textarea>
+                    性格:
+                    <input type="button" value="浪漫迷人" class="idealType">
+                    <input type="button" value="成熟稳重" class="idealType">
+                    <input type="button" value="浪漫风趣" class="idealType">
+                    <input type="button" value="乐天达观" class="idealType">
+                    <input type="button" value="活泼可爱" class="idealType">
+                    <input type="button" value="忠厚老实" class="idealType">
+                    <input type="button" value="淳朴害羞" class="idealType">
+                    <input type="button" value="温柔体贴" class="idealType">
+                    <input type="button" value="多愁善感" class="idealType">
+                    <input type="button" value="新潮时尚" class="idealType">
+                    <input type="button" value="热辣动感" class="idealType">
+                    <input type="button" value="豪放不羁" class="idealType">
+                    <br>
+                    爱好:
+                    <input type="button" value="音乐" class="idealType">
+                    <input type="button" value="影视" class="idealType">
+                    <input type="button" value="数码" class="idealType">
+                    <input type="button" value="汽车" class="idealType">
+                    <input type="button" value="时常" class="idealType">
+                    <input type="button" value="旅行" class="idealType">
+                    <input type="button" value="美食" class="idealType">
+                    <input type="button" value="文学" class="idealType">
+                    <input type="button" value="购物" class="idealType">
+                    <input type="button" value="摄影" class="idealType">
+                    <input type="button" value="宠物" class="idealType">
+                    <input type="button" value="愿意" class="idealType">
+                    <input type="button" value="绘画" class="idealType">
+                    <input type="button" value="体育" class="idealType">
+                    <input type="button" value="舞蹈" class="idealType">
+                    <input type="button" value="金融" class="idealType">
+                    <input type="button" value="动漫" class="idealType">
+                    <input type="button" value="其他" class="idealType">
                 </div>
                 <h1 class="zc_title">微信号或微信绑定手机号</h1>
                 <div class="weixin">
@@ -132,10 +311,10 @@
                 <div class="weixin">
                     <textarea name="wechatArgot" th:value="*{character}">[[*{wechatArgot}]]</textarea>
                 </div>
-                <h1 class="zc_title">手机号<input type="button" id="btn" value="获取验证码" onclick="sendSmsVerify(this)" /></h1>
-                <input type="text" class="date2" id="phone" name="phone" th:value="*{phone}">
+                <h1 class="zc_title">手机号<input type="button" id="btn" class="hqyzm" value="获取验证码" onclick="sendSmsVerify(this)" /></h1>
+                <input type="text" class="date2 k" id="phone" th:value="*{phone}" name="phone" onchange="phonetest(this.value)">
                 <h1 class="zc_title">验证码</h1>
-                <input type="text" class="date2" name="shortMsg">
+                <input type="text" class="date2 k" name="shortMsg">
                 <input type="button" class="next" value="保存" onclick="submitUser()"/>
             </div>
         </div>
@@ -188,18 +367,88 @@
                 $(".select-value01").val(json.values);
             }
         })
+
+        $(".noAccepted").click(function () {
+            $("#noAccepted").append(this.value);
+        })
+        $(".idealType").click(function () {
+            $("#idealType").append(this.value);
+        })
+        $(".character").click(function () {
+            $("#character").append(this.value);
+        })
+
+        $("#portraitUrlfile").change(function(){
+            var data = new FormData();
+            data.append("file", this.files[0]);
+            $.ajax({
+                type: "post",
+                url: ctx + "common/upload",
+                data: data,
+                cache: false,
+                contentType: false,
+                processData: false,
+                dataType: 'json',
+                success: function (result) {
+                    $("#portraitUrlImg").attr("src",result.url);
+                    $("#portraitUrl").val(result.url);
+                },
+                error: function (error) {
+                    debugger
+                }
+            });
+        })
+        $("#xiangchefile").change(function(){
+            var data = new FormData();
+            data.append("file", this.files[0]);
+            $.ajax({
+                type: "post",
+                url: ctx + "common/upload",
+                data: data,
+                cache: false,
+                contentType: false,
+                processData: false,
+                dataType: 'json',
+                success: function (result) {
+                    var length = document.getElementsByClassName('xcimg').length;
+                    if(length < 4){
+                        $(".file_add").remove();
+                        var html="<img src=\""+result.url+"\"  style=\"width: 10rem;height: 10rem\" class=\"xcimg\" onclick=\"xcRemove(this);\"/><img class=\"file_add\" onclick=\"$('#xiangchefile').click()\" />";
+                        $("#xiangcheList").append(html);
+                    }else{
+                        $(".file_add").remove();
+                        var html="<img src=\""+result.url+"\"  style=\"width: 10rem;height: 10rem\" class=\"xcimg\" onclick=\"xcRemove(this);\"/>";
+                        $("#xiangcheList").append(html);
+                    }
+                },
+                error: function (error) {
+                    debugger
+                }
+            });
+        })
     });
+    function xcRemove(thes){
+        $(thes).remove();
+        var length = document.getElementsByClassName('file_add').length;
+        if(length == 0){
+            $("#xiangcheList").append("<img class=\"file_add\" onclick=\"$('#xiangchefile').click()\" />");
+        }
+    }
     function sendSmsVerify(val) {
-        settime(val);
-        $.ajax({
-            type: "get",
-            url: ctx + "xhn/sendSmsVerify",
-            data: {
-                "phone": $("#phone").val()
-            },
-            success: function (data) {
-            }
-        });
+        if($("#phone").val() == ""){
+            alert("请输入正确的手机号");
+        }else {
+            $.ajax({
+                type: "get",
+                url: ctx + "xhn/sendSmsVerify",
+                data: {
+                    "phone": $("#phone").val()
+                },
+                success: function (data) {
+                    settime(val);
+                }
+            });
+        }
     }
     var countdown=60;
     function settime(val) {
@@ -218,6 +467,32 @@
     }
 
     function submitUser() {
+        if($("#name").val()==''){alert("请填写姓名");return ;}
+        if($("#idCard").val()==''){alert("请填写身份证号");return ;}
+        if($("#sex").val()==''){alert("请选择性别");return ;}
+        if($("#location").val()==''){alert("请填写住地");return ;}
+        if($("#height").val()==''){alert("请填写身高");return ;}
+        if($('input:radio[name="isMarried"]:checked').val()==''){alert("请选择婚姻状态");return ;}
+        if($("#character").val()==''){alert("请填写性格介绍");return ;}
+        if($("#workNature").val()==''){alert("请选择工作性质");return ;}
+        if($("#education").val()==''){alert("请选择学历");return ;}
+        if($("#occupation").val()==''){alert("请填写职业");return ;}
+        if($('input:radio[name="longDistanceLove"]:checked').val()==''){alert("请选择是否接受异地");return ;}
+        if($("#noAccepted").val()==''){alert("请填写不接受的TA");return ;}
+        if($("#idealType").val()==''){alert("请填写理想型的TA");return ;}
+        if($("#wechatCode").val()==''){alert("请填写微信号");return ;}
+        if($("#wechatArgot").val()==''){alert("请填写微信暗号");return ;}
+        if($("#phone").val()==''){alert("请填写手机号");return ;}
+        if($("#shortMsg").val()==''){alert("请填写验证码");return ;}
+
+        var xcList = document.getElementsByClassName('xcimg');
+        var albumArr = "";
+        for (var i = 0;i < xcList.length;i++){
+            albumArr += "," + $(xcList[i]).attr("src");
+        }
+        if(albumArr!=""){
+            $("#album").val(albumArr.substring(1));
+        }
         $.ajax({
             type: "post",
             url: ctx + "xhn/updateRegisterUser",

+ 2 - 2
mybusiness/src/main/resources/templates/appxhn/xhnIndex.html

@@ -23,8 +23,8 @@
     new Vue({
         el: '#app',
         data: {
-            APPID: "wx19ac981693d1a79a",
-            APPSECRET: "cc7d798b4ce862979bb8f1571ef8be2b",
+            APPID: "wxbeeb8f0238d1255b",
+            APPSECRET: "da55125316b8d44ef66b6b8a187aedfa",
             userInfo: {},
         },
         created() {

+ 1 - 1
mybusiness/src/main/resources/templates/appxhn/xhnlogin.html

@@ -31,7 +31,7 @@
                 // 获取当前页面地址作为回调地址,并且对地址进行urlEncode处理
                 let local = encodeURIComponent(this.homeUrl);
                 // 获取公众号appid
-                let appid = "wx19ac981693d1a79a";
+                let appid = "wxbeeb8f0238d1255b";
                 // 跳转到授权页面
                 window.location.href =
                     "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" +

+ 12 - 5
mybusiness/src/main/resources/templates/xhnnotsingle/activityInfo/activityInfo.html

@@ -96,7 +96,14 @@
                         },
                         {
                             field: 'type',
-                            title: '类型   1导航还是2活动'
+                            title: '类型',
+                            formatter: function(value, row, index) {
+                                if(value == "1"){
+                                    return "导航"
+                                }else{
+                                    return "活动"
+                                }
+                            }
                         },
                         {
                             field: 'nanMoney',
@@ -114,10 +121,10 @@
                             field: 'activityEndDate',
                             title: '活动结束时间'
                         },
-                        {
-                            field: 'activityContent',
-                            title: '活动内容'
-                        },
+                        // {
+                        //     field: 'activityContent',
+                        //     title: '活动内容'
+                        // },
                         {
                             field: 'activityAddress',
                             title: '活动地点'

+ 32 - 35
mybusiness/src/main/resources/templates/xhnnotsingle/activityInfo/add.html

@@ -26,44 +26,47 @@
                 </div>
             </div>
         </div>
-<!--        <div class="form-group">-->
-<!--            <label class="col-sm-3 control-label">内容图片路径-->
-<!--                :</label>-->
-<!--            <div class="col-sm-8">-->
-<!--                <input name="nrPath" class="form-control" type="text">-->
-<!--            </div>-->
-<!--        </div>-->
         <div class="form-group">
-            <label class="col-sm-3 control-label">内容图片路径 :</label>
+            <label class="col-sm-3 control-label">类型:</label>
             <div class="col-sm-8">
-                <input  type="hidden" name="nrPath" >
-                <div class="file-loading">
-                    <input class="form-control file-upload" id="nrPath" name="file" type="file">
-                </div>
+                <select name="type" class="form-control m-b" onchange="huodongXy(this.value)">
+                    <option value="">请选择</option>
+                    <option value="1">导航</option>
+                    <option value="2">活动</option>
+                </select>
             </div>
         </div>
-        <div class="form-group">
+        <!--<div class="form-group">-->
+            <!--<label class="col-sm-3 control-label">内容图片路径 :</label>-->
+            <!--<div class="col-sm-8">-->
+                <!--<input  type="hidden" name="nrPath" >-->
+                <!--<div class="file-loading">-->
+                    <!--<input class="form-control file-upload" id="nrPath" name="file" type="file">-->
+                <!--</div>-->
+            <!--</div>-->
+        <!--</div>-->
+        <div class="form-group huodong">
             <label class="col-sm-3 control-label">活动名称
                 :</label>
             <div class="col-sm-8">
                 <input name="name" class="form-control" maxlength="20" type="text">
             </div>
         </div>
-        <div class="form-group">
+        <div class="form-group huodong">
             <label class="col-sm-3 control-label">男士报名费
                 :</label>
             <div class="col-sm-8">
                 <input name="nanMoney" class="form-control" maxlength="20"   type="text">
             </div>
         </div>
-        <div class="form-group">
+        <div class="form-group huodong">
             <label class="col-sm-3 control-label">女士报名费
                 :</label>
             <div class="col-sm-8">
                 <input name="nvMoney" class="form-control" maxlength="20"   type="text">
             </div>
         </div>
-        <div class="form-group">
+        <div class="form-group huodong">
             <label class="col-sm-3 control-label">活动开始时间
                 :</label>
             <div class="col-sm-8">
@@ -74,7 +77,7 @@
                 </div>
             </div>
         </div>
-        <div class="form-group">
+        <div class="form-group huodong">
             <label class="col-sm-3 control-label">活动结束时间
                 :</label>
             <div class="col-sm-8">
@@ -85,7 +88,7 @@
                 </div>
             </div>
         </div>
-        <div class="form-group">
+        <div class="form-group huodong">
             <label class="col-sm-3 control-label">活动内容
                 :</label>
             <div class="col-sm-8">
@@ -93,7 +96,7 @@
                 <div class="summernote" id="activityContent"></div>
             </div>
         </div>
-        <div class="form-group">
+        <div class="form-group huodong">
             <label class="col-sm-3 control-label">活动地点
                 :</label>
             <div class="col-sm-8">
@@ -114,6 +117,7 @@
 
     function submitHandler() {
         if ($.validate.form()) {
+            $("input[name='zsPath']").val(fileP);
             $.operate.save(prefix + "/add", $('#form-activityInfo-add').serialize());
         }
     }
@@ -165,21 +169,6 @@
             }
         });
     });
-    function submitHandler() {
-        if ($.validate.form()) {
-            $("input[name='nrPath']").val(fileP);
-            let data = $("#form-activityInfo-add").serializeArray();
-            $.operate.save(prefix + "/add", data);
-        }
-    }
-    function submitHandler() {
-        if ($.validate.form()) {
-            $("input[name='zsPath']").val(fileP);
-            let data = $("#form-activityInfo-add").serializeArray();
-            $.operate.save(prefix + "/add", data);
-        }
-    }
-
 
     let fileP = "";//附件用
     let fileRealP = "";//真实的文件名uuid
@@ -195,7 +184,15 @@
         fileP += data.response.fileName;
     }).on('fileremoved', function (event, id, index) {
         $("input[name='" + event.currentTarget.id + "']").val('')
-    })
+    });
+
+    function huodongXy(value){
+        if(value == '1'){
+            $(".huodong").hide();
+        }else{
+            $(".huodong").show();
+        }
+    }
 </script>
 </body>
 </html>

+ 211 - 93
mybusiness/src/main/resources/templates/xhnnotsingle/activityInfo/edit.html

@@ -35,79 +35,81 @@
         <!--                                       type="text">-->
         <!--                            </div>-->
         <!--                        </div>-->
-        <div class="form-group">
-            <label class="col-sm-3 control-label">内容图片路径:</label>
-            <div class="col-sm-8">
-                <input type="hidden" name="nrPath" th:field="*{nrPath}">
-                <div class="file-loading">
-                    <input class="form-control file-upload" id="nrPath" name="file" type="file" accept=".jpg,.png">
+        <!--<div class="form-group">-->
+            <!--<label class="col-sm-3 control-label">内容图片路径:</label>-->
+            <!--<div class="col-sm-8">-->
+                <!--<input type="hidden" name="nrPath" th:field="*{nrPath}">-->
+                <!--<div class="file-loading">-->
+                    <!--<input class="form-control file-upload1" id="nrPath" name="file" type="file" accept=".jpg,.png">-->
+                <!--</div>-->
+            <!--</div>-->
+        <!--</div>-->
+        <div th:if="*{type == '2'}">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">活动名称
+                    :</label>
+                <div class="col-sm-8">
+                    <input name="name" th:field="*{name}" class="form-control"  maxlength="20"
+                           type="text">
                 </div>
             </div>
-        </div>
-        <div class="form-group">
-            <label class="col-sm-3 control-label">活动名称
-                :</label>
-            <div class="col-sm-8">
-                <input name="name" th:field="*{name}" class="form-control"  maxlength="20"
-                       type="text">
-            </div>
-        </div>
-        <div class="form-group">
-            <label class="col-sm-3 control-label">男士报名费
-                :</label>
-            <div class="col-sm-8">
-                <input name="nanMoney" th:field="*{nanMoney}" class="form-control" maxlength="20"
-                       type="text">
-            </div>
-        </div>
-        <div class="form-group">
-            <label class="col-sm-3 control-label">女士报名费
-                :</label>
-            <div class="col-sm-8">
-                <input name="nvMoney" th:field="*{nvMoney}" class="form-control" maxlength="20"
-                       type="text">
-            </div>
-        </div>
-        <div class="form-group">
-            <label class="col-sm-3 control-label">活动开始时间
-                :</label>
-            <div class="col-sm-8">
-                <div class="input-group date">
-                    <input name="activityStartDate"
-                           th:value="${#dates.format(xhnActivityInfo.activityStartDate, 'yyyy-MM-dd')}"
-                           class="form-control" placeholder="yyyy-MM-dd"
+            <div class="form-group">
+                <label class="col-sm-3 control-label">男士报名费
+                    :</label>
+                <div class="col-sm-8">
+                    <input name="nanMoney" th:field="*{nanMoney}" class="form-control" maxlength="20"
                            type="text">
-                    <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
                 </div>
             </div>
-        </div>
-        <div class="form-group">
-            <label class="col-sm-3 control-label">活动结束时间
-                :</label>
-            <div class="col-sm-8">
-                <div class="input-group date">
-                    <input name="activityEndDate"
-                           th:value="${#dates.format(xhnActivityInfo.activityEndDate, 'yyyy-MM-dd')}"
-                           class="form-control" placeholder="yyyy-MM-dd"
+            <div class="form-group">
+                <label class="col-sm-3 control-label">女士报名费
+                    :</label>
+                <div class="col-sm-8">
+                    <input name="nvMoney" th:field="*{nvMoney}" class="form-control" maxlength="20"
                            type="text">
-                    <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
                 </div>
             </div>
-        </div>
-        <div class="form-group">
-            <label class="col-sm-3 control-label">活动内容
-                :</label>
-            <div class="col-sm-8">
-                <input type="hidden" class="form-control" maxlength="20"  th:field="*{activityContent}">
-                <div class="summernote" id="activityContent"></div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">活动开始时间
+                    :</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <input name="activityStartDate"
+                               th:value="${#dates.format(xhnActivityInfo.activityStartDate, 'yyyy-MM-dd')}"
+                               class="form-control" placeholder="yyyy-MM-dd"
+                               type="text">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                    </div>
+                </div>
             </div>
-        </div>
-        <div class="form-group">
-            <label class="col-sm-3 control-label">活动地点
-                :</label>
-            <div class="col-sm-8">
-                <input name="activityAddress" th:field="*{activityAddress}" class="form-control" maxlength="20"
-                       type="text">
+            <div class="form-group">
+                <label class="col-sm-3 control-label">活动结束时间
+                    :</label>
+                <div class="col-sm-8">
+                    <div class="input-group date">
+                        <input name="activityEndDate"
+                               th:value="${#dates.format(xhnActivityInfo.activityEndDate, 'yyyy-MM-dd')}"
+                               class="form-control" placeholder="yyyy-MM-dd"
+                               type="text">
+                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                    </div>
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">活动内容
+                    :</label>
+                <div class="col-sm-8">
+                    <input type="hidden" class="form-control" maxlength="20"  th:field="*{activityContent}">
+                    <div class="summernote" id="activityContent"></div>
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">活动地点
+                    :</label>
+                <div class="col-sm-8">
+                    <input name="activityAddress" th:field="*{activityAddress}" class="form-control" maxlength="20"
+                           type="text">
+                </div>
             </div>
         </div>
     </form>
@@ -119,15 +121,14 @@
 <script th:inline="javascript">
     var local = window.location.href.substring(0,window.location.href.indexOf(window.location.pathname));//附件用,获取网址
     var prefix = ctx + "xhnnotsingle/activityInfo";
-    var fileP=$("input[name='nrPath']").val();
     var fileZ=$("input[name='zsPath']").val();
+    // var fileN=$("input[name='nrPath']").val();
     $("#form-activityInfo-edit").validate({
         focusCleanup: true
     });
 
     function submitHandler() {
         if ($.validate.form()) {
-            $("input[name='nrPath']").val(getImgUrl());
             $("input[name='zsPath']").val(getImgUrl());
             $.operate.save(prefix + "/edit", $('#form-activityInfo-edit').serialize());
 
@@ -183,35 +184,51 @@
             });
             var content = $("input[name='" + this.id + "']").val();
             $('#' + this.id).summernote('code', content);
-        })
+        });
+        $(".file-upload").click(function(){
+            if (nowImgTotal() > 1) {
+                $('#jlrdFileObject').attr('disabled', 'disabled');
+                $.modal.alert("图片允许上传的最大数值为1,请删除需要被替换的图片后再进行上传操作!")
+                return;
+            } else {
+                $('#jlrdFileObject').removeAttr("disabled");
+            }
+        });
+        // $(".file-upload1").click(function(){
+        //     if (nowImgTotal() > 1) {
+        //         $('#jlrdFileObject').attr('disabled', 'disabled');
+        //         $.modal.alert("图片允许上传的最大数值为1,请删除需要被替换的图片后再进行上传操作!")
+        //         return;
+        //     } else {
+        //         $('#jlrdFileObject').removeAttr("disabled");
+        //     }
+        // });
     });
 
     //f附件用,通用,只需要更改文件参数===============Start
     var newFilePs = []; //图片回显
     var imgConfig = []; //预览参数
     var uploadImageArray = [];//所有已上传的图片路径
+    var urlsArr = ($("input[name='zsPath']").val()).split(",");
 
-    // var urlsArr = ($("input[name='nrPash']").val()).split(",");
-    // for (var i in urlsArr) {
-    //     if (urlsArr[i] != "") {
-    //         uploadImageArray.push(urlsArr[i]);
-    //         newFilePs[i] = local + urlsArr[i];
-    //         var fileType = urlsArr[i].substr(urlsArr[i].lastIndexOf(".") + 1, urlsArr[i].length - 1);
-    //         var ftype = "image"; //文件类型
-    //         if (fileType == "pdf") {
-    //             ftype = "pdf";
-    //         }
-    //         imgConfig[i] = {
-    //             url: ctx + "common/removeFile",
-    //             downloadUrl: local + urlsArr[i], //下载路径,此项不设置的话下载按钮不显示
-    //             type: ftype,             //文件类型
-    //             key: urlsArr[i],        //参数,用于文件删除向后台传参
-    //             caption: urlsArr[i].substr(urlsArr[i].lastIndexOf("/") + 1, urlsArr[i].length - 1)    //文件名,用于预览文件显示的文件名
-    //         };
-    //     }
-    // }
-
-
+    for (var i in urlsArr) {
+        if (urlsArr[i] != "") {
+            uploadImageArray.push(urlsArr[i]);
+            newFilePs[i] = local + urlsArr[i];
+            var fileType = urlsArr[i].substr(urlsArr[i].lastIndexOf(".")+1,urlsArr[i].length-1);
+            var ftype ="image"; //文件类型
+            if(fileType=="pdf"){
+                ftype = "pdf";
+            }
+            imgConfig.push({
+                url: ctx + "common/removeFile",
+                downloadUrl:local+urlsArr[i], //下载路径,此项不设置的话下载按钮不显示
+                type:ftype,             //文件类型
+                key: urlsArr[i],        //参数,用于文件删除向后台传参
+                caption:urlsArr[i].substr(urlsArr[i].lastIndexOf("/")+1,urlsArr[i].length-1)    //文件名,用于预览文件显示的文件名
+            });
+        }
+    }
     $(".file-upload").each(function (i) {
         $(this).fileinput({
             language: 'zh', //设置语言
@@ -272,7 +289,6 @@
                 }
             }
         }).on('fileuploaded', function (event, data, previewId, index) {
-            fileP += data.response.fileName + ",";
             fileZ += data.response.fileName + ",";
             $('#zoom-' + previewId).find(".kv-preview-data").attr("src", data.response.fileName);//上传成功后替换文件路径(替换为实际数据库的存储路径)
         }).on("filebatchselected", function (event, previewId, files) {//选中文件后执行
@@ -291,6 +307,108 @@
         $(this).fileinput('_initFileActions');
     });
 
+//     var newFilePsnr = []; //图片回显
+//     var imgConfignr = []; //预览参数
+//     var urlsArrnr = ($("input[name='nrPath']").val()).split(",");
+//     for (var i in urlsArrnr) {
+//         if (urlsArrnr[i] != "") {
+//             newFilePsnr.push(urlsArrnr[i]);
+//             imgConfignr.push({
+//                 url: ctx + "common/removeFile",
+//                 key: urlsArrnr[i],        //参数,用于文件删除向后台传参
+//             });
+//         }
+//     }
+//
+//     $(".file-upload1").each(function (i) {
+//         $(this).fileinput({
+//             language: 'zh', //设置语言
+//             uploadUrl: ctx + 'common/upload',
+//             deleteUrl: ctx + 'common/removeFile',
+//             allowedFileExtensions: ['jpg', 'png', 'pdf', 'docx', 'xlsx', 'doc', 'xls'],//接收的文件后缀
+// //                allowedFileExtensions: ['jpg', 'png','pdf','docx','xlsx','doc','xls'],//接收的文件后缀
+//             showUpload: false, //是否显示上传按钮
+//             showRemove: false, //显示移除按钮
+//             showPreview: true, //是否显示预览
+//             showCaption: false,//是否显示标题
+//             browseClass: "btn btn-primary", //按钮样式
+//             dropZoneEnabled: true,//是否显示拖拽区域
+//             initialPreviewAsData: true,
+//             enctype: 'multipart/form-data',
+//             initialPreview: newFilePsnr,
+// //                initialPreviewFileType: ['pdf','image'],
+//             uploadAsync: true, //默认异步上传(true),回调fileuploaded,false为同步上传,回调filebatchuploadsuccess
+//             maxFileCount: 1,
+//             overwriteInitial: false,    //不覆盖已存在的图片
+//             initialPreviewConfig: imgConfignr, //配置预览的参数
+//             autoReplace: true,
+//             preferIconicPreview: true,// 强制缩略图显示以下文件扩展名的图标
+//             previewFileIconSettings: {
+//                 'doc': '<i class="fa fa-file-word-o text-primary"></i>',
+//                 'xls': '<i class="fa fa-file-excel-o text-success"></i>',
+//                 'ppt': '<i class="fa fa-file-powerpoint-o text-danger"></i>',
+//                 'zip': '<i class="fa fa-file-archive-o text-muted"></i>',
+//                 'htm': '<i class="fa fa-file-code-o text-info"></i>',
+//                 'txt': '<i class="fa fa-file-text-o text-info"></i>',
+//                 'mov': '<i class="fa fa-file-movie-o text-warning"></i>',
+//                 'mp3': '<i class="fa fa-file-audio-o text-warning"></i>',
+//             },
+//             previewFileExtSettings: { // configure the logic for determining icon file extensions
+//                 'doc': function (ext) {
+//                     return ext.match(/(doc|docx)$/i);
+//                 },
+//                 'xls': function (ext) {
+//                     return ext.match(/(xls|xlsx)$/i);
+//                 },
+//                 'ppt': function (ext) {
+//                     return ext.match(/(ppt|pptx)$/i);
+//                 },
+//                 'zip': function (ext) {
+//                     return ext.match(/(zip|rar|tar|gzip|gz|7z)$/i);
+//                 },
+//                 'htm': function (ext) {
+//                     return ext.match(/(htm|html)$/i);
+//                 },
+//                 'txt': function (ext) {
+//                     return ext.match(/(txt|ini|csv|java|php|js|css)$/i);
+//                 },
+//                 'mov': function (ext) {
+//                     return ext.match(/(avi|mpg|mkv|mov|mp4|3gp|webm|wmv)$/i);
+//                 },
+//                 'mp3': function (ext) {
+//                     return ext.match(/(mp3|wav)$/i);
+//                 }
+//             }
+//         }).on('fileuploaded', function (event, data, previewId, index) {
+//             fileN += data.response.fileName + ",";
+//             $('#zoom-' + previewId).find(".kv-preview-data").attr("src", data.response.fileName);//上传成功后替换文件路径(替换为实际数据库的存储路径)
+//             getMeg();
+//         }).on("filebatchselected", function (event, previewId, files) {//选中文件后执行
+//             getMeg();
+//             $(".file-upload").fileinput("upload");
+//         }).on('fileremoved', function (event, id, index) {//预览时点击缩略图上的删除按钮才能触发的
+//             console.log('fileremoved');
+//             getMeg();
+//         }).on("filepredelete", function (event, key, jqXHR, data) {   //预览图片删除
+//             console.log('filepredelete')
+//             getMeg();
+//         }).on("filesuccessremove", function (event, id) {   //使用缩略图删除按钮删除成功上传的缩略图后
+//             console.log('filesuccessremove')
+//             getMeg();
+//         })
+//         $(this).fileinput('_initFileActions');
+//
+//     });
+    // $(".file-upload").click(function(){
+    //     if (nowImgTotal() > 1) {
+    //         $('#jlrdFileObject').attr('disabled', 'disabled');
+    //         $.modal.alert("图片允许上传的最大数值为1,请删除需要被替换的图片后再进行上传操作!")
+    //         return false;
+    //     } else {
+    //         $('#jlrdFileObject').removeAttr("disabled");
+    //     }
+    // });
+
     function nowImgTotal() {
         return $(".file-preview-thumbnails").find('.file-preview-frame').length / 2;
     }
@@ -308,13 +426,13 @@
     /*
         获取当前页面图片附件的存储路径
      */
-    function getImgUrl() {
+    function getImgUrl(){
         var initFileDiv = $(".kv-zoom-cache");
         var imgUrl = [];
-        initFileDiv.each(function (i, e) {
+        initFileDiv.each(function(i,e){
             var fullPath = $(this).find(".kv-preview-data").attr("src");
-            if (fullPath.length >= 2)
-                imgUrl[i] = "/profile/upload/" + (fullPath.split("upload/", fullPath.length - 1))[1];
+            if(fullPath.length>=2)
+                imgUrl[i]="/profile/upload/"+(fullPath.split("upload/",fullPath.length-1))[1];
         });
         return imgUrl;
     }

+ 1 - 1
mybusiness/src/main/resources/templates/xhnnotsingle/gift/gift.html

@@ -88,7 +88,7 @@
                             }
                         },
                         {
-                            field: 'giftNum',
+                            field: 'giftPath',
                             title: '礼物图标',
                             formatter: function (value, row, index) {
                                 var html ='<img src=\"' + value + '\" width=\"30\" height=\"30\">';

+ 5 - 3
mybusiness/src/main/resources/templates/xhnnotsingle/registeruser/registeruser.html

@@ -322,10 +322,12 @@
                     formatter: function (value, row, index) {
                         var actions = [];
                         if(row.delisting==0){
-                            actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="tuodan(\'' + row.openid + '\',\'1\')"><i class="fa fa-edit"></i>脱单</a> ');
+                            actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="tuodan(\'' + row.openid + '\',\'1\')"><i class="fa fa-edit"></i>脱单</a> ');
                         }
-                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.openid + '\')"><i class="fa fa-edit"></i>审批</a> ');
-                            // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.openid + '\')"><i class="fa fa-remove"></i>删除</a>');
+                        // if(row.approval == '1'){
+                        //     actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.openid + '\')"><i class="fa fa-edit"></i>审批</a> ');
+                        // }
+
                         return actions.join('');
                     }
 

+ 0 - 28
ruoyi-admin/ruoyi-admin.iml

@@ -20,34 +20,6 @@
     </content>
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" name="Maven: com.github.wechatpay-apiv3:wechatpay-apache-httpclient:0.4.4" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.httpcomponents:httpmime:4.5.13" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.5.14" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:2.5.11" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:2.5.11" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.5.11" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.3.20" level="project" />
-    <orderEntry type="library" name="Maven: io.lettuce:lettuce-core:6.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-common:4.1.77.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.77.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.77.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.77.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.77.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.77.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.4.18" level="project" />
-    <orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.3" level="project" />
-    <orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-core:4.0.6" level="project" />
-    <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.9" level="project" />
-    <orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
-    <orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
-    <orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.1.14" level="project" />
-    <orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-impl:2.1" level="project" />
-    <orderEntry type="library" name="Maven: javax.activation:activation:1.1.1" level="project" />
-    <orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-dysmsapi:1.1.0" level="project" />
-    <orderEntry type="library" name="Maven: com.google.zxing:core:3.3.0" level="project" />
-    <orderEntry type="library" name="Maven: com.google.zxing:javase:3.3.0" level="project" />
-    <orderEntry type="library" name="Maven: com.beust:jcommander:1.48" level="project" />
-    <orderEntry type="library" name="Maven: com.github.jai-imageio:jai-imageio-core:1.3.1" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-thymeleaf:2.5.14" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.5.14" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.5.14" level="project" />

BIN
ruoyi-admin/src/main/resources/apiclient_cert.p12


+ 21 - 19
ruoyi-admin/src/main/resources/apiclient_cert.pem

@@ -1,23 +1,25 @@
 -----BEGIN CERTIFICATE-----
-MIID6TCCAtGgAwIBAgIUL1ilzCX9F2CEDxqkztHsYbWS6Q4wDQYJKoZIhvcNAQEL
+MIIEKDCCAxCgAwIBAgIULfCwmpGMoV91G2yiurfJzEL20LswDQYJKoZIhvcNAQEL
 BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT
 FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg
-Q0EwHhcNMjIxMTIzMDkyMjU3WhcNMjcxMTIyMDkyMjU3WjB7MRMwEQYDVQQDDAox
-NTQwODEzMDkxMRswGQYDVQQKDBLlvq7kv6HllYbmiLfns7vnu58xJzAlBgNVBAsM
-HumVv+aYpemmluS9s+enkeaKgOaciemZkOWFrOWPuDELMAkGA1UEBgwCQ04xETAP
-BgNVBAcMCFNoZW5aaGVuMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
-m9FkUcstckSKHE7hH0OKsZsSukWol3diFm/fRZjEz7NGMNc/K5iFDu5lQ+NBHr0s
-T5v5BzdfILdzJNE2pAFFWs6D/aVJBuZPAtsChUIfFZJsHbsUnaFSP+5NJU4GTDwJ
-5BGwxD9chYmyF3LpQbCDRkxoUu97qfH3cvjyaZRqYgdwO25hIXoQEbEa0gq1iTDd
-opy3kDAjCZlgYun7Pl63sUvghtdcRc8Nr5Ix5C26F5ViAymSkuKPD0y9GyqX9FrP
-bOisTpDKb/wcAdJxuf+pxmwghcNWK6wEo8img4UEL1AV1RAGM1kydspYy8LppqlB
-83enn/hcTTjuT5uF6QwmeQIDAQABo4GBMH8wCQYDVR0TBAIwADALBgNVHQ8EBAMC
-A/gwZQYDVR0fBF4wXDBaoFigVoZUaHR0cDovL2V2Y2EuaXRydXMuY29tLmNuL3B1
-YmxpYy9pdHJ1c2NybD9DQT0xQkQ0MjIwRTUwREJDMDRCMDZBRDM5NzU0OTg0NkMw
-MUMzRThFQkQyMA0GCSqGSIb3DQEBCwUAA4IBAQAvBJvqvZIByBTp3p1RzUkLGz4/
-iErOYkb+6Fp6zfKNqj+C6e+O7Fv6bOLuhNyfphHObD2DB0Tl3wWDo0xzfnfp6X2G
-aSympDljEeRuAbOipsmabRIT4ivilLddASHr2Dl1Dxx7iOziOI22jN/Aqu5/xUVi
-qhAsbm2mi1v4IbJXHUy/uuIchgzwUjZt05VScMhm4eKCzH+52a2kwHerG/kS8HmN
-ZRKVB6vOLLrnM8JH+2Lq03S0HqCR9otrgFMOBXTnkyi1lGv+WUDspTfDcr/ZBeUj
-wCZmsGy4IXZQKmK8VSlbyIyc3NxvyelDOzcXtMH5Ix5s6WTEESaKQ9fRWOwe
+Q0EwHhcNMjMwMjA3MDMzMjE5WhcNMjgwMjA2MDMzMjE5WjCBgTETMBEGA1UEAwwK
+MTYzNzc1MTU1NDEbMBkGA1UECgwS5b6u5L+h5ZWG5oi357O757ufMS0wKwYDVQQL
+DCTlkInmnpfnnIHpgYfop4HniLHkvKDlqpLmnInpmZDlhazlj7gxCzAJBgNVBAYM
+AkNOMREwDwYDVQQHDAhTaGVuWmhlbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBAMgyfqH6t1JIg3Fq1ydKdzvZt/4NJfzZ9Byn5jGqSajGSP3dz9J7BQ6E
+Q3E5nYNbn6LjgEjAoFpYXpVo9WjsyuDbjMbWc3PYjnGZvqhLs8yvtsWsSZvMNwOn
+A6T8Wj3FiovjgPZzsny79cCx81Djb8P6jIC9cHL60p4mxXzu0YpNPqh5o7I8VaBo
+H7MHSczIrjH8AsATXZwC4NcPahdNC1ZbH/utr9yd8FkEOyRaFIIq5FlKTt7xpH7r
+Cl849w/AjAm6s+oI2zfd7+xG+5tNwCmNM0oRfdnKC5wNwyeI2Ep8AiZFYQexcr41
+j9qna4jaC1Q4Xr8BbFjK5Iqxep5iryUCAwEAAaOBuTCBtjAJBgNVHRMEAjAAMAsG
+A1UdDwQEAwID+DCBmwYDVR0fBIGTMIGQMIGNoIGKoIGHhoGEaHR0cDovL2V2Y2Eu
+aXRydXMuY29tLmNuL3B1YmxpYy9pdHJ1c2NybD9DQT0xQkQ0MjIwRTUwREJDMDRC
+MDZBRDM5NzU0OTg0NkMwMUMzRThFQkQyJnNnPUhBQ0M0NzFCNjU0MjJFMTJCMjdB
+OUQzM0E4N0FEMUNERjU5MjZFMTQwMzcxMA0GCSqGSIb3DQEBCwUAA4IBAQCJQM2i
+JXHUmDR2RZ3O161f2obNx8LPoUMv+aYVrVcMS9F+47wBHiQ1u7oimTr4NDcyVa1d
++fAZyPgDwX/KcbfHbUDTyvCzDRTSfr5arL+oMeHtrd0+0eOz3ExURTrDNr/9FM9O
+EKCjqY4RELDAPb2ESRGIMSmQbcYLrHnsTfoO6P9z4J8D9ldWJAGww6vFLwqr8Q5C
+J0ZwRXQlsbcY+mi4XrjAFSGRkEN7YRF93i4rc1tGFoWzIc3CISRjHv80r6DAoeQ/
+9auqMGcs+PUsRvW5/Ngnmn7GgTmpXWUX/bpH2wWOuNYSYVlNu7tXhucqghJIisGb
+yvvleVXAZjJXHDpz
 -----END CERTIFICATE-----

+ 26 - 26
ruoyi-admin/src/main/resources/apiclient_key.pem

@@ -1,28 +1,28 @@
 -----BEGIN PRIVATE KEY-----
-MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCb0WRRyy1yRIoc
-TuEfQ4qxmxK6RaiXd2IWb99FmMTPs0Yw1z8rmIUO7mVD40EevSxPm/kHN18gt3Mk
-0TakAUVazoP9pUkG5k8C2wKFQh8VkmwduxSdoVI/7k0lTgZMPAnkEbDEP1yFibIX
-culBsINGTGhS73up8fdy+PJplGpiB3A7bmEhehARsRrSCrWJMN2inLeQMCMJmWBi
-6fs+XrexS+CG11xFzw2vkjHkLboXlWIDKZKS4o8PTL0bKpf0Ws9s6KxOkMpv/BwB
-0nG5/6nGbCCFw1YrrASjyKaDhQQvUBXVEAYzWTJ2yljLwummqUHzd6ef+FxNOO5P
-m4XpDCZ5AgMBAAECggEAUnEYhhpdIk9XT6EAhZ0j3dKxtvKyP+m/cSWh2V36C/bL
-lX3dg4CALiU+WQv9YXkv37MjsIjAgTvu5TT4lw/BFUmdFnAEUm06ssUT8VPJxI0j
-PRvFzZ0UOpUoJivBM0a06QHfKAZqOpFfM/7toX72BhTZQcBKCuHmTeOfxvLq0pBP
-lnqN49yRWbEmBUTnBwYIFAxBJtIyIhLZMZqLwA5LpeDwSHf8AnEnbJ8l/diQNuzC
-KHwbO0XxdIoij+n8DbV7nfyItMKeNqXNhfFgpF4fkcqC/wFEqKJx6BPnhC9wzERR
-0ktApITeJshJD8xo+6FZFO3FFq9/qyfWFUeqBvMyrQKBgQDLBImZm0jvoW2hdREo
-z80BAEHEUMdmSy97dVHwP8MkQOVUvIU7G7/UPX7CEB6qq2cAkEpMEcKe/BEI3YTu
-DaDrYVL05vRI6/HEUZP1HQ/7l/q25U7n67CGr1RW5CIb3KzdkTGTdqYwTfbkKWPT
-M0Bv4U4DWApfYC/SDpoDsTo24wKBgQDEe3jJsRFsWNOl95vlbBOYSIS2pDJ1f1W1
-JJzeY+/WprJwwjwQ6zzYDYZYoaq2VIqg7pWgVCADfQor/XiwCebC5JC+HvY47uCb
-J5xPm+8VNafL0nbXByYFQ4TBb5FpgoldSvxGfG2H7KNKhZyeLx2g5E0yhdZ6eUL0
-Altild5P8wKBgQCrWjoVl1Z5Q4Q32YpRKws6BBB+dTvH4D/EcWJmaDr513h5C+Fb
-4XEI35qki1yG6sK2XBMJn5fn/pMWK3puPryKzwtov6KCBft6muxJ32zFCyLGykbO
-Q0UseMGz0Tvkzl5taIYyk9tzO+rd6v1hnomNpNnmwqGGnLXgEwj1gtnCxwKBgATC
-BKvFqOlZwU5Mj67fjh3q66PMmBg2TCoFx/Kustkc0kdevLugJqoIsc8low+lPnIl
-NORcBSZwebWU/r4sjzT6+fJQp5+7UR8Qt31KBmEaGoUaBJyyZJ5OA0H35KqMaa0j
-qrY+PxzCgzXDxIYkF/CUdrYZfZcbpp5oDDR38pk3AoGBAIU7SZLWL4xN2cBMDOSQ
-hdtu68yMBAEOa3CWoL6FUzXrl0cWLCyC1yMu8GPwK1aV9yB2lJkrCb3ebb9KSoqe
-hxJsUOL6FYFhcC93TGCPdPyXD/v4+SnGD2GVexP5pYquDlT+838QWzg5KdppOvLk
-fi544DxB4gSiMmDiPMPo4Dm5
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDIMn6h+rdSSINx
+atcnSnc72bf+DSX82fQcp+Yxqkmoxkj93c/SewUOhENxOZ2DW5+i44BIwKBaWF6V
+aPVo7Mrg24zG1nNz2I5xmb6oS7PMr7bFrEmbzDcDpwOk/Fo9xYqL44D2c7J8u/XA
+sfNQ42/D+oyAvXBy+tKeJsV87tGKTT6oeaOyPFWgaB+zB0nMyK4x/ALAE12cAuDX
+D2oXTQtWWx/7ra/cnfBZBDskWhSCKuRZSk7e8aR+6wpfOPcPwIwJurPqCNs33e/s
+RvubTcApjTNKEX3ZygucDcMniNhKfAImRWEHsXK+NY/ap2uI2gtUOF6/AWxYyuSK
+sXqeYq8lAgMBAAECggEAULDBh6oVH64ohJtKkwSZoF71oQlNqWdz0+T8jEIVpFgf
+bWts62o4NIys3kMZsKtKYY4O08QIHcIGhXQjjiH697ymNjKToDrF1xXf2deBZdvg
+8DWsCYa7GdbESkiIWuN3H0EYZr1lUI8103AmIRE6qCQhY3Z3j3B3WdVIvj1H6dTX
+cQ+6LQGpDF5yI/fyGzeGhF/UNP5gBM9dKFUgjHrd53p8aBcKiJydN+I/mF9aTjVr
+Mzjc7vu9fSI27fPJ1HfF6exL7WjaTGk4/kOG6HgkXjPk2JZamHBjfdJw012G6lbh
+JwmALOft8vIBn+pcIq8j7EhTH/7m/2kbR42NS4xzIQKBgQD15ojM+gIndNj9xOcr
+oQrFpyT9Efy+lXxpD86AP9MsOpFoPSik6dkfH2WOuWtx3fv1GQMc9gKsKiytALLn
+U4MOYO9aV2ggDu+Bu1VXrmRRKdVxHSwd1SnBh0DYLrkyv4DxAclG4S2LANrSOOIN
+oirNfDQt/j25jy33vusS8FLx/QKBgQDQa2xnER5z2fs08NkRqtRdto4FPGbgRry4
+lBH4GgX3s78O6dEa4mr6pD2jT7gTVAclrBDh6wUym2WyaQM4GQe1kApRGHgWglIE
+GBIQ+UwLudSDOYMo9n8Ccxlbm6THUaXkxCA8FgT1Sh+WlfUMXcy1GlUonmXz8y28
+4nvXIXrGSQKBgQC2CUfUlm/pzbKlipKn1bwnvii/wAUfAYLsM+tnPdiSsXjbdgsU
+qpk1VQTVt6Y20WKoey+2zNgFo+MW36GRZl1q04/djT9kHCpqG8h99HgHLbT42+PA
+4gDbZ8k1QMGRM/u8btoWQrR4ZtWXMs0F0rtlC0GFmuUO7VPWR9u2VXrR8QKBgH1U
+vAFWqAtev9NcKgyXv9EC4HCBnBOuNfqBADVD4ObNrkzXiikyksZaUb6NR9JHq2ya
+BiT04VFHZWZeA9OOKbajAbE2l7BhedSAbQzL/VDn1MV8pkTRxhrBADS4aeR6Uto4
+nnHDhAPFKS2yy4M+PMWDKkacyg5i49Q8FeCOf3gRAoGAaxheeTlEc7AXr5OxPBYh
+9t0YreF6VhuMv/aWTNW4S4VDI+yAezQp9mjeZooJC9csgcOntDgwqXfB29GM4OKI
+Ql9YmGbAVeFqbrD4gOcF/9YKqvy9/x9lfELCqFOrsHrI3rjlBFqTCPRatbFk4hN6
+8EkOlz+Ijix/VBHBmvmieyY=
 -----END PRIVATE KEY-----

+ 1 - 1
ruoyi-admin/src/main/resources/application.yml

@@ -16,7 +16,7 @@ ruoyi:
 # 开发环境配置
 server:
   # 服务器的HTTP端口,默认为80
-  port: 80
+  port: 8080
   servlet:
     # 应用的访问路径
     context-path: /

+ 1 - 0
ruoyi-admin/src/main/resources/static/MP_verify_JUUxm3DA9GYaDUXI.txt

@@ -0,0 +1 @@
+JUUxm3DA9GYaDUXI

+ 0 - 1
ruoyi-admin/src/main/resources/static/MP_verify_gA4G3oGfXoY3rFmg.txt

@@ -1 +0,0 @@
-gA4G3oGfXoY3rFmg

+ 18 - 12
ruoyi-admin/src/main/resources/static/tuodanweb/css/main.css

@@ -80,7 +80,7 @@ html {
 	padding: 0;
 	box-sizing: border-box;
 }
-body,button, input, select, textarea,h1 ,h2, h3, h4, h5, h6 { 
+body,button, input, select, textarea,h1 ,h2, h3, h4, h5, h6 {
 	font-family: Microsoft YaHei,'宋体' , Tahoma, Helvetica, Arial, "\5b8b\4f53", sans-serif;
 }
 h1 ,h2, h3, h4, h5, h6{
@@ -115,10 +115,10 @@ textarea{
 	outline: none;
 }
 .clearfix:after {
-	content: "."; 
-	display: block; 
-	height:0; 
-	clear:both; 
+	content: ".";
+	display: block;
+	height:0;
+	clear:both;
 	visibility: hidden;
 }
 .clearfix{
@@ -303,10 +303,10 @@ textarea{
 	margin-right: 15px;
 }
 .nan{
-	background: linear-gradient(to right, #fdeefd , #e5f4fd); 
+	background: linear-gradient(to right, #fdeefd , #e5f4fd);
 }
 .nv{
-	background: linear-gradient(to right, #e5f4fd , #fdeefd); 
+	background: linear-gradient(to right, #e5f4fd , #fdeefd);
 }
 .rz{
 	border: 1.5px solid #ffbf44;
@@ -419,7 +419,7 @@ textarea{
 	text-align: left;
 	font-size: 1.4rem;
 	padding: 5px 0px;
-	
+
 }
 .w3{
 	width: 31.3%;
@@ -430,7 +430,7 @@ textarea{
 	margin: 1%;
 }
 .sx_k label{
-	
+
 	border: 0px;
 	background: #eaeaea;
 	text-align: center;
@@ -709,7 +709,7 @@ textarea{
 	line-height: 50px;
 	display: flex;
 	flex-direction: row;
-	
+
 }
 .nav_tit span{
 	font-size: 1.4rem;
@@ -939,7 +939,7 @@ textarea{
  	 font-size: 1.6rem;
 	 color: #333;
 	 font-weight: 900;
-	 
+
  }
  .tx_li{
 	 display: flex;
@@ -1200,7 +1200,7 @@ margin: 0px auto;
 .ctmh_hei{
 	height: 20rem;
 	overflow: hidden;
-	
+
 }
 .ctmh_div2{
 	margin: 3% 3%;
@@ -1655,5 +1655,11 @@ margin: 0px auto;
 .qd_btn {
     bottom: 9%;
 }
+
+.file_add {
+	background: url("../images/fileadd.png") no-repeat left;
+	width: 10rem;
+	height: 10rem;
+}
 }
 

BIN
ruoyi-admin/src/main/resources/static/tuodanweb/images/fileadd.png


Файловите разлики са ограничени, защото са твърде много
+ 376 - 263
ruoyi-admin/src/main/resources/static/tuodanweb/js/index.js


+ 3 - 3
ruoyi-admin/src/main/resources/templates/index.html

@@ -212,9 +212,9 @@
                     </a>
                 </div>
                 <ul class="nav navbar-top-links navbar-right welcome-message">
-                    <li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="开发文档"
-                           href="http://doc.ruoyi.vip/ruoyi" target="_blank"><i class="fa fa-question-circle"></i>
-                        文档</a></li>
+                    <!--<li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="开发文档"-->
+                           <!--href="http://doc.ruoyi.vip/ruoyi" target="_blank"><i class="fa fa-question-circle"></i>-->
+                        <!--文档</a></li>-->
                     <li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="锁定屏幕" href="#"
                            id="lockScreen"><i class="fa fa-lock"></i> 锁屏</a></li>
                     <li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="全屏显示" href="#"

Файловите разлики са ограничени, защото са твърде много
+ 1635 - 1635
ruoyi-admin/src/main/resources/templates/main.html


+ 0 - 28
ruoyi-framework/ruoyi-framework.iml

@@ -19,34 +19,6 @@
     </content>
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" name="Maven: com.github.wechatpay-apiv3:wechatpay-apache-httpclient:0.4.4" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.httpcomponents:httpmime:4.5.13" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.5.14" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:2.5.11" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:2.5.11" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.5.11" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.3.20" level="project" />
-    <orderEntry type="library" name="Maven: io.lettuce:lettuce-core:6.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-common:4.1.77.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.77.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.77.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.77.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.77.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.77.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.4.18" level="project" />
-    <orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.3" level="project" />
-    <orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-core:4.0.6" level="project" />
-    <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.9" level="project" />
-    <orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
-    <orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
-    <orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.1.14" level="project" />
-    <orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-impl:2.1" level="project" />
-    <orderEntry type="library" name="Maven: javax.activation:activation:1.1.1" level="project" />
-    <orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-dysmsapi:1.1.0" level="project" />
-    <orderEntry type="library" name="Maven: com.google.zxing:core:3.3.0" level="project" />
-    <orderEntry type="library" name="Maven: com.google.zxing:javase:3.3.0" level="project" />
-    <orderEntry type="library" name="Maven: com.beust:jcommander:1.48" level="project" />
-    <orderEntry type="library" name="Maven: com.github.jai-imageio:jai-imageio-core:1.3.1" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.5.14" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.5.14" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.5.14" level="project" />

+ 1 - 1
ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java

@@ -261,7 +261,7 @@ public class ShiroConfig {
         LinkedHashMap<String, String> filterChainDefinitionMap = new LinkedHashMap<>();
         // 对静态资源设置匿名访问
         filterChainDefinitionMap.put("/favicon.ico**" , "anon");
-        filterChainDefinitionMap.put("/MP_verify_gA4G3oGfXoY3rFmg.txt**" , "anon");
+        filterChainDefinitionMap.put("/MP_verify_JUUxm3DA9GYaDUXI.txt**" , "anon");
         filterChainDefinitionMap.put("/ruoyi.png**" , "anon");
         filterChainDefinitionMap.put("/html/**" , "anon");
         filterChainDefinitionMap.put("/css/**" , "anon");