suochencheng hace 6 años
padre
commit
77235058fc

+ 5 - 3
src/main/java/com/izouma/awesomeadmin/dao/ActivityInfoMapper.java

@@ -8,10 +8,10 @@ import java.util.Map;
 
 
 /**
-*  Dao接口
-*/
+ * Dao接口
+ */
 @Repository("com.zoumaframe.dao.ActivityInfoMapper")
-public interface ActivityInfoMapper{
+public interface ActivityInfoMapper {
 
     int deleteByPrimaryKey(Integer id);
 
@@ -32,5 +32,7 @@ public interface ActivityInfoMapper{
     List<ActivityInfo> query(ActivityInfo record);
 
     ActivityInfo queryUsedActivityInfo(ActivityInfo record);
+
+    List<ActivityInfo> queryUsedManJianActivityInfo(ActivityInfo record);
 }
 

+ 62 - 0
src/main/java/com/izouma/awesomeadmin/dao/ActivityInfoMapper.xml

@@ -596,6 +596,68 @@
         ORDER BY id DESC
         LIMIT 1
     </select>
+    <select id="queryUsedManJianActivityInfo" parameterType="java.util.Map"
+            resultMap="ActivityInfoWithType">
+        select
+        <include refid="Base_Column_List"/>
+        from activity_info
+        <where>
+            and del_flag = 'N'
+            and use_flag = 'Y'
+            <![CDATA[ AND  begin_time < NOW() AND  end_time > NOW() ]]>
+
+            <if test="id != null and !&quot;&quot;.equals(id)">
+                and id = #{id}
+            </if>
+            <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and del_flag = #{delFlag}
+            </if>
+            <if test="updateTime != null and !&quot;&quot;.equals(updateTime)">
+                and update_time = #{updateTime}
+            </if>
+            <if test="updateUser != null and !&quot;&quot;.equals(updateUser)">
+                and update_user = #{updateUser}
+            </if>
+            <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and create_time = #{createTime}
+            </if>
+            <if test="createUser != null and !&quot;&quot;.equals(createUser)">
+                and create_user = #{createUser}
+            </if>
+            <if test="name != null and !&quot;&quot;.equals(name)">
+                and name = #{name}
+            </if>
+            <if test="typeId != null and !&quot;&quot;.equals(typeId)">
+                and type_id = #{typeId}
+            </if>
+            <if test="minValue != null and !&quot;&quot;.equals(minValue)">
+                and min_value = #{minValue}
+            </if>
+            <if test="maxValue != null and !&quot;&quot;.equals(maxValue)">
+                and max_value = #{maxValue}
+            </if>
+            <if test="ratio != null and !&quot;&quot;.equals(ratio)">
+                and ratio = #{ratio}
+            </if>
+            <if test="beginTime != null and !&quot;&quot;.equals(beginTime)">
+                and begin_time = #{beginTime}
+            </if>
+            <if test="endTime != null and !&quot;&quot;.equals(endTime)">
+                and end_time = #{endTime}
+            </if>
+            <if test="remark != null and !&quot;&quot;.equals(remark)">
+                and remark = #{remark}
+            </if>
+            <if test="limitNum != null and !&quot;&quot;.equals(limitNum)">
+                and limit_num = #{limitNum}
+            </if>
+            <if test="useFlag != null and !&quot;&quot;.equals(useFlag)">
+                and use_flag = #{useFlag}
+            </if>
+
+        </where>
+        ORDER BY id DESC
+    </select>
     <update id="delete">
         UPDATE activity_info SET del_flag = 'Y'
         where

+ 2 - 0
src/main/java/com/izouma/awesomeadmin/service/ActivityInfoService.java

@@ -68,5 +68,7 @@ public interface ActivityInfoService {
     BigDecimal manjianActivity(BigDecimal orderMoney);
 
     boolean manjianActivityLog(UserOrder record);
+
+    List<ActivityInfo> getUsedManJianActivityInfo(ActivityInfo record);
 }
 

+ 40 - 8
src/main/java/com/izouma/awesomeadmin/service/impl/ActivityInfoServiceImpl.java

@@ -111,6 +111,20 @@ public class ActivityInfoServiceImpl implements ActivityInfoService {
         return null;
     }
 
+    @Override
+    public List<ActivityInfo> getUsedManJianActivityInfo(ActivityInfo record) {
+
+        logger.info("getUsedManJianActivityInfo");
+        try {
+
+            return activityInfoMapper.queryUsedManJianActivityInfo(record);
+        } catch (Exception e) {
+            logger.error("getUsedManJianActivityInfo", e);
+        }
+
+        return null;
+    }
+
     @Override
     public boolean createActivityInfo(ActivityInfo record) {
 
@@ -261,14 +275,23 @@ public class ActivityInfoServiceImpl implements ActivityInfoService {
 
             ActivityInfo activityInfo = new ActivityInfo();
             activityInfo.setTypeId(6);
-            activityInfo = activityInfoMapper.queryUsedActivityInfo(activityInfo);
+            List<ActivityInfo> activityInfoList = activityInfoMapper.queryUsedManJianActivityInfo(activityInfo);
 
-            if (activityInfo != null) {
+            if (activityInfoList != null) {
+
+                ActivityInfo manjian = new ActivityInfo();
+
+                for (ActivityInfo temp : activityInfoList) {
+                    BigDecimal tempMax = BigDecimal.valueOf(Double.valueOf(activityInfo.getMaxValue()));
+                    if (userOrder.getTotlePrice().compareTo(tempMax) > 0) {
+                        manjian = temp;
+                    }
+                }
 
 
                 ActivityLog activityLog = new ActivityLog();
-                activityLog.setActivityId(String.valueOf(activityInfo.getId()));
-                activityLog.setTypeId(String.valueOf(activityInfo.getTypeId()));
+                activityLog.setActivityId(String.valueOf(manjian.getId()));
+                activityLog.setTypeId(String.valueOf(manjian.getTypeId()));
                 activityLog.setUserId(String.valueOf(userOrder.getUserId()));
                 activityLog.setTotalPrice(String.valueOf(userOrder.getTotlePrice()));
                 activityLog.setOrderId(String.valueOf(userOrder.getId()));
@@ -297,14 +320,23 @@ public class ActivityInfoServiceImpl implements ActivityInfoService {
 
             ActivityInfo activityInfo = new ActivityInfo();
             activityInfo.setTypeId(6);
-            activityInfo = activityInfoMapper.queryUsedActivityInfo(activityInfo);
+            List<ActivityInfo> activityInfoList = activityInfoMapper.queryUsedManJianActivityInfo(activityInfo);
 
-            if (activityInfo != null) {
+            if (activityInfoList != null) {
+
+                ActivityInfo manjian = new ActivityInfo();
+
+                for (ActivityInfo temp : activityInfoList) {
+                    BigDecimal tempMax = BigDecimal.valueOf(Double.valueOf(activityInfo.getMaxValue()));
+                    if (orderMoney.compareTo(tempMax) > 0) {
+                        manjian = temp;
+                    }
+                }
 
                 //减免金额
-                BigDecimal minValue = BigDecimal.valueOf(Double.valueOf(activityInfo.getMinValue()));
+                BigDecimal minValue = BigDecimal.valueOf(Double.valueOf(manjian.getMinValue()));
 
-                BigDecimal maxValue = BigDecimal.valueOf(Double.valueOf(activityInfo.getMaxValue()));
+                BigDecimal maxValue = BigDecimal.valueOf(Double.valueOf(manjian.getMaxValue()));
 
                 if (orderMoney.compareTo(maxValue) > 0) {//如果消费金额大于要求,可用减免
 

+ 7 - 0
src/main/java/com/izouma/awesomeadmin/web/ActivityInfoController.java

@@ -75,6 +75,13 @@ public class ActivityInfoController {
         return new Result(true, data);
     }
 
+    @RequestMapping(value = "/getUsedManJian", method = RequestMethod.GET)
+    @ResponseBody
+    public Result getUsedManJian(ActivityInfo record) {
+        List<ActivityInfo> data = activityInfoService.getUsedManJianActivityInfo(record);
+        return new Result(true, data);
+    }
+
 
     /**
      * <p>分页查询。</p>