From b74277583bf9b2b89247061bf08c17a03b71c76e Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 10 四月 2025 14:16:43 +0800
Subject: [PATCH] 惠民卡代码

---
 cloud-server-activity/src/main/resources/mapper/HuiminCardMapper.xml                                          |   15 +++
 cloud-server-activity/src/main/java/com/dsh/activity/model/response/MyHuiminCardVO.java                       |    2 
 cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java                     |    6 -
 cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/SiteClient.java                        |   10 ++
 cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminAgreement.java                             |    9 ++
 cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java                         |   79 +++++++++++++++++--
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/account/StudentClient.java |    4 +
 cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java           |   21 +++++
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/THuiminCardController.java  |   27 ++++++
 cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java                                 |   19 ++++
 cloud-server-activity/src/main/java/com/dsh/activity/util/PayMoneyUtil.java                                   |    6 +
 cloud-server-activity/src/main/java/com/dsh/activity/mapper/HuiminCardMapper.java                             |    1 
 cloud-server-activity/src/main/java/com/dsh/activity/service/HuiminCardService.java                           |    1 
 cloud-server-activity/src/main/java/com/dsh/activity/service/impl/HuiminCardServiceImpl.java                  |    4 +
 cloud-server-competition/src/main/java/com/dsh/competition/feignclient/account/StudentClient.java             |    8 ++
 cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminCard.java                                  |    2 
 cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/THuiminCard.java              |    2 
 17 files changed, 196 insertions(+), 20 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
index 8aca9b6..4886a1c 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
@@ -260,13 +260,10 @@
                     vo.setStuPhone(ToolUtil.isEmpty(sts.getPhone()) ? "" : sts.getPhone());
                     vo.setIdCard(ToolUtil.isEmpty(sts.getIdCard()) ? "" : sts.getIdCard());
                     SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
-                    vo.setBirthday(simpleDateFormat.format(sts.getBirthday()));
                     vo.setStuName(sts.getName());
                     if (sts.getBirthday()!=null){
                         vo.setStuAge(DateUtil.age(sts.getBirthday()));
-
-                    }else{
-                        vo.setStuAge(18);
+                        vo.setBirthday(simpleDateFormat.format(sts.getBirthday()));
                     }
                     vo.setStuHeight(sts.getHeight());
                     vo.setStuWeight(sts.getWeight());
@@ -278,6 +275,7 @@
             }
             return ResultUtil.success(stuListVos);
         } catch (Exception e) {
+            e.printStackTrace();
             return ResultUtil.runErr();
         }
     }
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java
index f6ae5b0..588136b 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java
@@ -17,10 +17,7 @@
 import com.dsh.activity.feignclient.other.RegionClient;
 import com.dsh.activity.feignclient.other.SiteClient;
 import com.dsh.activity.feignclient.other.StoreClient;
-import com.dsh.activity.feignclient.other.model.CityDataAndProvinceDataVo;
-import com.dsh.activity.feignclient.other.model.Store;
-import com.dsh.activity.feignclient.other.model.StoreInfoDto;
-import com.dsh.activity.feignclient.other.model.TOperatorCity;
+import com.dsh.activity.feignclient.other.model.*;
 import com.dsh.activity.model.CouponListVo;
 import com.dsh.activity.model.CouponRecordQuery;
 import com.dsh.activity.model.request.CommodityRequest;
@@ -103,6 +100,20 @@
                 return ResultUtil.tokenErr();
             }
             THuiminCard huiminCard = huiminCardService.getById(id);
+            if (huiminCard.getGrantCount()!=null){
+                if (huiminCard.getGrantCount()<=payHuiminService.lambdaQuery().eq(TPayHuimin::getCardId, huiminCard.getId())
+                        .eq(TPayHuimin::getStatus,2).count()){
+                    return ResultUtil.error("该惠民卡已售完");
+                }
+            }
+            if (huiminCard.getLimitCount()!=null){
+                if (huiminCard.getLimitCount()<=payHuiminService.lambdaQuery().eq(TPayHuimin::getCardId, huiminCard.getId())
+                        .eq(TPayHuimin::getStatus,2)
+                        .eq(TPayHuimin::getAppUserId, uid)
+                        .count()){
+                    return ResultUtil.error("该惠民卡购买次数已达上限");
+                }
+            }
             TPayHuimin tPayHuimin = new TPayHuimin();
             tPayHuimin.setSalesMoney(huiminCard.getSalesMoney());
             tPayHuimin.setAppUserId(uid);
@@ -136,12 +147,14 @@
             tPayHuimin.setCode(sdf.format(new Date()) + UUIDUtil.getNumberRandom(5));
             System.err.println("支付数据"+tPayHuimin);
             payHuiminService.save(tPayHuimin);
+            BigDecimal bigDecimal = new BigDecimal(studentIds.split(",").length);
             switch (payType){
                 case 1:
-                    return payMoneyUtil.weixinpay("购买惠民卡"+"-"+0, "", tPayHuimin.getCode(), tPayHuimin.getSalesMoney().toString(),
+                    return payMoneyUtil.weixinpay("购买惠民卡"+"-"+0, "", tPayHuimin.getCode(), tPayHuimin.getSalesMoney().multiply(bigDecimal).toString(),
                             "/base/huimin/callBack/weixinPayHuiminCallback", "APP", "");
                 case 2:
-                    return payMoneyUtil.alipay(smid,"购买惠民卡", "购买惠民卡", "", tPayHuimin.getCode(), tPayHuimin.getSalesMoney().toString(),
+                    String string = tPayHuimin.getSalesMoney().multiply(bigDecimal).setScale(2).toString();
+                    return payMoneyUtil.alipay(smid,"购买惠民卡", "购买惠民卡", "", tPayHuimin.getCode(), string,
                             "/base/huimin/callBack/aliPayHuiminCallback");
             }
 
@@ -239,7 +252,8 @@
             pageNo = (pageNo - 1) * pageSize;
             HuiminAgreementVO huiminAgreementVO = new HuiminAgreementVO();
             List<THuiminCard> cardList = huiminCardService.getHuiminAgreementAndList(pageNo,pageSize,storeId);
-            if (cardList.isEmpty()){
+            List<THuiminCard> cardListNolimit = huiminCardService.getHuiminAgreementAndListNolimit(storeId);
+            if (cardListNolimit.isEmpty()){
                 // 没有配置惠民卡 展示富文本内容
                 huiminAgreementVO.setShowType(1);
             }else{
@@ -369,7 +383,20 @@
             }
             if (tPayHuimin.getStatus()==3 && tPayHuimin.getRefundStatus()!=1){
                 return ResultUtil.error("不可重复退款");
-
+            }
+            if (tPayHuimin.getEndTime().before(new Date())){
+                // 已过期
+                return ResultUtil.error("惠民卡已过期,不可退款");
+            }
+            int count = huiminRecordService.count(new LambdaQueryWrapper<THuiminRecord>()
+                    .eq(THuiminRecord::getHuiminCardId, tPayHuimin.getCardId()));
+            // 购卡7日内没有使用记录可退款。超过7日不管有没有使用记录都不能退款
+            if (new Date().after(DateUtil.addDay(tPayHuimin.getPaymentTime(),7))){
+                // 超过七天不可退款
+                return ResultUtil.error("惠民卡购买超过七天,不可退款");
+            }else if (count>=7){
+                // 使用记录大于等于7次不可退款
+                return ResultUtil.error("惠民卡使用记录大于等于7次,不可退款");
             }
             if (tPayHuimin.getPaymentType()==1){
                 Map<String, String> map = payMoneyUtil.wxRefund(tPayHuimin.getOrderNumber(), tPayHuimin.getCode(),
@@ -421,8 +448,17 @@
             }
             THuiminCard byId = huiminCardService.getById(tPayHuimin.getCardId());
             MyHuiminCardDetailVO myHuiminCardDetailVO = new MyHuiminCardDetailVO();
-            String storeIds = byId.getStoreIds();
-            String temp ="{\"storeIds\":\"" +storeIds+"\","+"\"useWeeks:\"\""+byId.getUseWeeks()+"\","+"\"useTimes:\""+byId.getUseTimes()+"\","+"\"unUseTimes:\""+byId.getUnUseTimes()+"\"}";
+            String siteIds = "";
+            if (byId.getUseScope()==2){
+                siteIds = byId.getUseIds();
+            }else{
+                siteIds = siteClient.querySiteByStoreIds(byId.getStoreIds())
+                        .stream()
+                        .map(Site::getId)
+                        .map(String::valueOf)
+                        .collect(Collectors.joining(","));
+            }
+            String temp ="{\"siteIds\":\"" +siteIds+"\","+"\"useTimes:\"\""+byId.getUseWeeks()+"\","+"\"unUseTimes:\""+byId.getUnUseTimes()+"\"}";
             myHuiminCardDetailVO.setQrCode(temp);
             myHuiminCardDetailVO.setCardId(tPayHuimin.getCardId());
             myHuiminCardDetailVO.setHuiminCard(byId);
@@ -437,5 +473,28 @@
             return ResultUtil.success(new MyHuiminCardDetailVO());
         }
     }
+    /**
+     * 获取添加人员、选择人员说明文案
+     */
+    @ResponseBody
+    @PostMapping("/getContentForStudent")
+    @ApiOperation(value = "获取添加人员、选择人员说明文案")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResultUtil<THuiminAgreement> getContentForStudent() {
+        try {
+            Integer uid = tokenUtil.getUserIdFormRedis();
+            if (null == uid) {
+                return ResultUtil.tokenErr();
+            }
+            THuiminAgreement one = huiminAgreementService.lambdaQuery()
+                    .isNull(THuiminAgreement::getOperatorId).last("limit 1").one();
+            return ResultUtil.success(one);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResultUtil.success(new THuiminAgreement());
+        }
+    }
 
 }
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminAgreement.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminAgreement.java
index b3bba16..6a11d14 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminAgreement.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminAgreement.java
@@ -5,6 +5,8 @@
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -23,6 +25,7 @@
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
 @TableName("t_huimin_agreement")
+@ApiModel(value = "THuiminAgreement对象", description = "惠民卡协议管理")
 public class THuiminAgreement extends Model<THuiminAgreement> {
     private static final long serialVersionUID = 1L;
     /**
@@ -34,21 +37,27 @@
      * 运营商id 选择默认传null
      */
     @TableField("operatorId")
+    @ApiModelProperty("运营商id")
+
     private Integer operatorId;
     /**
      *添加人员说明文案
      */
     @TableField("addUserRemark")
+    @ApiModelProperty("添加人员说明文案")
     private String addUserRemark;
     /**
      *选择人员说明文案
      */
+    @ApiModelProperty("选择人员说明文案")
     @TableField("selectUserRemark")
     private String selectUserRemark;
     /**
      * 门店无惠民卡介绍页
      */
     @TableField("storeNoHuiminCardIntro")
+    @ApiModelProperty("门店无惠民卡介绍页")
+
     private String storeNoHuiminCardIntro;
 
     @TableField(exist = false)
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminCard.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminCard.java
index 4ad7c50..3c49174 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminCard.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminCard.java
@@ -159,7 +159,7 @@
      */
     @ApiModelProperty(value = "排序")
     @TableField("sort")
-    private String sort;
+    private Integer sort;
 
     /**
      *门店id 当使用范围为场地的时候存储门店id
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/SiteClient.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/SiteClient.java
index b5dae4c..92237fd 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/SiteClient.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/SiteClient.java
@@ -4,6 +4,8 @@
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 
+import java.util.List;
+
 /**
  * @author zhibing.pu
  * @Date 2023/7/18 11:38
@@ -20,4 +22,12 @@
      */
     @PostMapping("/site/querySiteById")
     Site querySiteById(Integer id);
+    /**
+     * 根据id获取场地数据
+     *
+     * @param ids
+     * @return
+     */
+    @PostMapping("/site/querySiteByStoreIds")
+    List<Site> querySiteByStoreIds(String ids);
 }
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/HuiminCardMapper.java b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/HuiminCardMapper.java
index b84268c..38c4437 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/HuiminCardMapper.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/HuiminCardMapper.java
@@ -16,6 +16,7 @@
 public interface HuiminCardMapper extends BaseMapper<THuiminCard> {
 
     List<THuiminCard> getHuiminAgreementAndList(@Param("pageNo") Integer pageNo,@Param("pageSize") Integer pageSize , @Param("storeId")Integer storeId);
+    List<THuiminCard> getHuiminAgreementAndListNolimit(@Param("storeId")Integer storeId);
 
     List<MyHuiminCardVO> getMyHuiminCardList(@Param("pageNo") Integer pageNo,@Param("pageSize") Integer pageSize ,@Param("appUserId")Integer appUserId);
 }
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/model/response/MyHuiminCardVO.java b/cloud-server-activity/src/main/java/com/dsh/activity/model/response/MyHuiminCardVO.java
index ab297a5..0374b06 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/model/response/MyHuiminCardVO.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/model/response/MyHuiminCardVO.java
@@ -27,7 +27,7 @@
     private Integer isExpire;
     @ApiModelProperty("是否可以退款 0否1是")
     private Integer isRefund;
-    @ApiModelProperty("状态 前端忽略")
+    @ApiModelProperty("状态1待支付2使用中3已退款")
     private Integer status;
     @ApiModelProperty("有效期至")
     @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/HuiminCardService.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/HuiminCardService.java
index 87bf8cb..59c3dd1 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/HuiminCardService.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/HuiminCardService.java
@@ -22,6 +22,7 @@
 public interface HuiminCardService extends IService<THuiminCard> {
 
     List<THuiminCard> getHuiminAgreementAndList(Integer pageNo, Integer pageSize, Integer storeId);
+    List<THuiminCard> getHuiminAgreementAndListNolimit(Integer storeId);
 
     List<MyHuiminCardVO> getMyHuiminCardList(Integer pageNo, Integer pageSize, Integer appUserId);
 }
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/HuiminCardServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/HuiminCardServiceImpl.java
index cff2ff1..82f4200 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/HuiminCardServiceImpl.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/HuiminCardServiceImpl.java
@@ -28,6 +28,10 @@
     public List<THuiminCard> getHuiminAgreementAndList(Integer pageNo, Integer pageSize, Integer storeId) {
         return this.baseMapper.getHuiminAgreementAndList(pageNo,pageSize,storeId);
     }
+    @Override
+    public List<THuiminCard> getHuiminAgreementAndListNolimit(Integer storeId) {
+        return this.baseMapper.getHuiminAgreementAndListNolimit(storeId);
+    }
 
     @Override
     public List<MyHuiminCardVO> getMyHuiminCardList(Integer pageNo, Integer pageSize,Integer appUserId) {
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/util/PayMoneyUtil.java b/cloud-server-activity/src/main/java/com/dsh/activity/util/PayMoneyUtil.java
index abc7fb4..bf624af 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/util/PayMoneyUtil.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/util/PayMoneyUtil.java
@@ -157,6 +157,9 @@
     /**
      * 支付宝支付
      */
+    /**
+     * 支付宝支付
+     */
     public ResultUtil alipay(String smid,String body, String subject, String passbackParams, String outTradeNo, String amount, String notifyUrl) {
 //        //构造client
 //        CertAlipayRequest certAlipayRequest = new CertAlipayRequest ();
@@ -208,6 +211,8 @@
 //        }  catch (AlipayApiException e ) {
 //            e.printStackTrace();
 //        }
+
+
         //实例化客户端
         AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", aliAppid, appPrivateKey, "json", "UTF-8", alipay_public_key, "RSA2");
         //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
@@ -238,6 +243,7 @@
         model.setExtendParams(extendParams);
         request.setBizModel(model);
         request.setNotifyUrl(callbackPath + notifyUrl);
+
         try {
             //这里和普通的接口调用不同,使用的是sdkExecute
             AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);
diff --git a/cloud-server-activity/src/main/resources/mapper/HuiminCardMapper.xml b/cloud-server-activity/src/main/resources/mapper/HuiminCardMapper.xml
index a97e1d2..6722d27 100644
--- a/cloud-server-activity/src/main/resources/mapper/HuiminCardMapper.xml
+++ b/cloud-server-activity/src/main/resources/mapper/HuiminCardMapper.xml
@@ -14,10 +14,21 @@
             limit #{pageNo}, #{pageSize}
 
     </select>
+    <select id="getHuiminAgreementAndListNolimit" resultType="com.dsh.activity.entity.THuiminCard">
+        select t1.* from t_huimin_card t1
+        where
+            find_in_set(#{storeId},t1.storeIds)
+
+          and t1.endTime >= now()
+        and t1.status = 1
+            order by t1.sort desc
+    </select>
     <select id="getMyHuiminCardList" resultType="com.dsh.activity.model.response.MyHuiminCardVO">
         select t1.* from t_pay_huimin t1
-        where  t1.status = 2
-            and t1.appUserId = #{appUserId}
+        where
+            t1.status!=1
+            and
+            t1.appUserId = #{appUserId}
             limit #{pageNo}, #{pageSize}
 
     </select>
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/account/StudentClient.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/account/StudentClient.java
index 0ab70bd..fa118b7 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/account/StudentClient.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/feignclient/account/StudentClient.java
@@ -5,7 +5,9 @@
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -33,4 +35,6 @@
 
     @PostMapping("/student/queryById")
     TStudent queryById(Integer id);
+
+
 }
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/account/StudentClient.java b/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/account/StudentClient.java
index 0c3dbb1..349208e 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/account/StudentClient.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/feignclient/account/StudentClient.java
@@ -6,6 +6,7 @@
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
 
 import java.util.List;
 
@@ -34,4 +35,11 @@
 
     @PostMapping("/student/queryById")
     TStudent queryById(Integer id);
+    /**
+     * 添加学员
+     *
+     * @return
+     */
+    @RequestMapping("/base/student/addStudent")
+    public Object addStudent(@RequestBody TStudent student);
 }
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java
index 888ccea..efaa004 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java
@@ -23,6 +23,7 @@
 import com.dsh.competition.util.JuHeUtil;
 import com.dsh.competition.util.ResultUtil;
 import com.dsh.competition.util.ToolUtil;
+import io.undertow.util.DateUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -88,6 +89,26 @@
         participant.setState(1);
         participant.setInsertTime(new Date());
         this.save(participant);
+        TStudent tStudent = new TStudent();
+        tStudent.setAppUserId(uid);
+        tStudent.setName(addParticipant.getName());
+        tStudent.setPhone(addParticipant.getPhone());
+        if (ToolUtil.isNotEmpty(addParticipant.getBirthday())){
+            Date date = DateUtils.parseDate(addParticipant.getBirthday());
+            tStudent.setBirthday(date);
+        }else{
+                String birthDateStr = addParticipant.getIdcard().substring(6, 14);
+                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
+            Date parse = dateFormat.parse(birthDateStr);
+            tStudent.setBirthday(parse);
+        }
+        tStudent.setSex(addParticipant.getGender());
+        tStudent.setIdCard(addParticipant.getIdcard());
+        tStudent.setState(1);
+        tStudent.setInsertTime(new Date());
+        tStudent.setHeadImg(addParticipant.getHeadImg());
+        tStudent.setIsDefault(2);
+        studentClient.addStudent(tStudent);
         return ResultUtil.success();
     }
 
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/THuiminCard.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/THuiminCard.java
index 68fde36..dc31ff8 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/THuiminCard.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/THuiminCard.java
@@ -126,7 +126,7 @@
      *使用范围1门店2场地
      */
     @TableField("useScope")
-    private String useScope;
+    private Integer useScope;
     /**
      *根据适用范围,存储门店id或场地id,多个逗号分隔
      */
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/THuiminCardController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/THuiminCardController.java
index 8e7d2d2..d65ffc3 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/THuiminCardController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/THuiminCardController.java
@@ -184,12 +184,39 @@
     @PostMapping(value = "/add")
     @ResponseBody
     public Object add(THuiminCard tHuiminCard) {
+        int a = 0;
+        if (tHuiminCard.getUseScope()==1){
+            tHuiminCard.setStoreIds(tHuiminCard.getUseIds());
+        }else{
+            StringBuilder storeIds = new StringBuilder();
+            for (String s : tHuiminCard.getUseIds().split(",")) {
+                TSite site = tSiteService.getById(s);
+                if (site!=null){
+                    storeIds.append(site.getStoreId()).append(",");
+                }
+            }
+            StringBuilder stringBuilder = storeIds.deleteCharAt(storeIds.length() - 1);
+            tHuiminCard.setStoreIds(stringBuilder.toString());
+        }
         huiminCardClient.save(tHuiminCard);
         return SUCCESS_TIP;
     }
     @RequestMapping(value = "/update")
     @ResponseBody
     public Object update(THuiminCard tHuiminCard) {
+        if (tHuiminCard.getUseScope()==1){
+            tHuiminCard.setStoreIds(tHuiminCard.getUseIds());
+        }else{
+            StringBuilder storeIds = new StringBuilder();
+            for (String s : tHuiminCard.getUseIds().split(",")) {
+                TSite site = tSiteService.getById(s);
+                if (site!=null){
+                    storeIds.append(site.getStoreId()).append(",");
+                }
+            }
+            StringBuilder stringBuilder = storeIds.deleteCharAt(storeIds.length() - 1);
+            tHuiminCard.setStoreIds(stringBuilder.toString());
+        }
         huiminCardClient.updateById(tHuiminCard);
         return SUCCESS_TIP;
     }
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
index 1eb56f6..b1d4ebc 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
@@ -79,7 +79,8 @@
 
     @Resource
     private CourseRecordClient courseRecordClient;
-
+@Resource
+private StoreService storeService;
 
     @Autowired
     private RedisUtil redisUtil;
@@ -320,6 +321,22 @@
             return null;
         }
     }
+    /**
+     * 根据id获取数据
+     *
+     * @param ids
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/site/querySiteByStoreIds")
+    public List<Site> querySiteByStoreIds(@RequestBody String ids) {
+        try {
+            return siteService.lambdaQuery().in(Site::getStoreId,Arrays.asList(ids.split(","))).list();
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
 
 
     @ResponseBody

--
Gitblit v1.7.1