Explorar el Código

fix: 大屏增加动效

周玉环 hace 6 días
padre
commit
50dfa1f86c

+ 4 - 1
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/member/front/advich/MemberEmailActiveController.java

@@ -21,6 +21,7 @@ import com.slodon.b2b2c.model.member.advich.MemberRegisterActiveModel;
 import com.slodon.b2b2c.model.seller.VendorModel;
 import com.slodon.b2b2c.seller.dto.VendorRegisterDTO;
 import com.slodon.b2b2c.system.dto.CountryAreaApiDto;
+import com.slodon.b2b2c.vo.member.MemberDetailVO;
 import io.swagger.annotations.Api;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.redis.core.StringRedisTemplate;
@@ -621,8 +622,10 @@ public class MemberEmailActiveController extends BaseController {
             memberNew.setMemberId(memberInfo.getMemberId());
             memberNew.setLoginPwd(Md5.getMd5String(loginPwd));
             memberNew.setUpdateTime(new Date());
+            Member member = memberModel.getMemberByMemberId(memberInfo.getMemberId());
+            String newPassword =member.getLoginPwd();
+            AssertUtil.isTrue(Md5.getMd5String(loginPwd).equals(newPassword), "新密码不能与上次密码一致!");
             memberModel.updateMember(memberNew);
-
             // 删除Redis中的验证码
             stringRedisTemplate.delete(redisKey);
 

+ 4 - 1
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/seller/seller/SellerVendorController.java

@@ -217,6 +217,8 @@ public class SellerVendorController extends BaseController {
 
         AssertUtil.isTrue(!Md5.getMd5String(oldPwd).equals(vendorDb.getVendorPassword()), "输入原密码不正确");
         AssertUtil.isTrue(!newPwd.equals(confirmPwd), "新密码与确认密码不一致");
+        String newPassword = Md5.getMd5String(confirmPwd);
+        AssertUtil.isTrue(vendorDb.getVendorPassword().equals(newPassword), "新密码不能与上次密码一致!");
         Vendor vendorUpdate = new Vendor();
         vendorUpdate.setVendorId(vendor.getVendorId());
         vendorUpdate.setVendorPassword(Md5.getMd5String(newPwd));
@@ -264,10 +266,11 @@ public class SellerVendorController extends BaseController {
         String smsNumber = stringRedisTemplate.opsForValue().get(mobile);
         AssertUtil.isTrue(smsNumber == null
                 || !smsNumber.equalsIgnoreCase(smsCode), "短信验证码不正确");
-
         AssertUtil.isTrue(!newPwd.equals(confirmPwd), "新密码与确认密码不一致");
         Vendor vendorUpdate = new Vendor();
         vendorUpdate.setVendorId(allVendorList.get(0).getVendorId());
+        String vendorPassword = allVendorList.get(0).getVendorPassword();
+        AssertUtil.isTrue(vendorPassword.equals(Md5.getMd5String(newPwd)), "新密码不能与上次密码一致!");
         vendorUpdate.setVendorPassword(Md5.getMd5String(newPwd));
         vendorModel.updateVendor(vendorUpdate);
         stringRedisTemplate.delete(mobile);

+ 8 - 2
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/statistics/screen/ScreenAnalysisController.java

@@ -38,6 +38,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 @Api(tags = "screen-大屏")
@@ -307,8 +308,13 @@ public class ScreenAnalysisController extends BaseController {
      */
     @GetMapping("memberTrend")
     @ApiOperation("会员新增趋势")
-    public JsonResult<List<ScreenMemberTrendVO>> memberTrend(HttpServletRequest request,@RequestParam(value = "webSite", required = false, defaultValue = "1") String webSite) {
-        return SldResponse.success(memberModel.getMemberTrend(webSite));
+    public JsonResult<List<ScreenMemberTrendVO>> memberTrend(HttpServletRequest request,
+                                                             @RequestParam(value = "webSite", required = false, defaultValue = "1") String webSite,
+                                                             @RequestParam(value = "startTime", required = true) Date startTime,
+                                                             @RequestParam(value = "endTime", required = true) Date endTime) {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd mm:HH:ss");
+
+        return SldResponse.success(memberModel.getMemberTrend(webSite,sdf.format(startTime),sdf.format(endTime)));
     }
 
 

+ 3 - 1
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/dao/read/member/MemberReadMapper.java

@@ -13,5 +13,7 @@ public interface MemberReadMapper extends BaseReadMapper<Member, MemberExample>
 
     List<ScreenMemberDistribution> getMemberDistribution(@Param("webSite") String webSite);
 
-    List<ScreenMemberTrendVO> getMemberTrend(@Param("webSite")String webSite);
+    List<ScreenMemberTrendVO> getMemberTrend(@Param("webSite")String webSite,
+                                             @Param("startTime")String startTime,
+                                             @Param("endTime")String endTime);
 }

+ 2 - 2
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/model/member/MemberModel.java

@@ -387,7 +387,7 @@ public class MemberModel {
      * @param webSite
      * @return
      */
-    public List<ScreenMemberTrendVO> getMemberTrend(String webSite) {
-        return memberReadMapper.getMemberTrend(webSite);
+    public List<ScreenMemberTrendVO> getMemberTrend(String webSite,String startTime,String endTime) {
+        return memberReadMapper.getMemberTrend(webSite,startTime,endTime);
     }
 }

+ 1 - 1
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/vo/statistics/ScreenMemberTrendVO.java

@@ -12,7 +12,7 @@ import lombok.Data;
 public class ScreenMemberTrendVO {
 
     @ApiModelProperty("年月")
-    private String month;
+    private String day;
 
     @ApiModelProperty("新增会员数")
     private String newMemberNum;

+ 18 - 19
xinkeaboard-server/b2b2c-web/src/main/resources/mapper/read/member/MemberReadMapper.xml

@@ -335,24 +335,23 @@
     </select>
 
     <select id="getMemberTrend" resultType="com.slodon.b2b2c.vo.statistics.ScreenMemberTrendVO">
-        SELECT DATE_FORMAT(months.month_date, '%Y-%m') as month,
-        COALESCE(COUNT(m.member_id), 0) as newMemberNum
-        FROM (
-            SELECT DATE_SUB(CURDATE(), INTERVAL (a.a + (10 * b.a)) MONTH) as month_date
-            FROM (SELECT 0 as a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
-            UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7
-            UNION ALL SELECT 8 UNION ALL SELECT 9) as a
-            CROSS JOIN (SELECT 0 as a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
-            UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7
-            UNION ALL SELECT 8 UNION ALL SELECT 9) as b
-            ) months
-            LEFT JOIN member m
-        ON DATE_FORMAT(m.register_time, '%Y-%m') = DATE_FORMAT(months.month_date, '%Y-%m')
-            AND m.web_site = #{webSite}
-        WHERE months.month_date <![CDATA[ >= ]]> DATE_SUB(CURDATE()
-            , INTERVAL 6 MONTH)
-          AND months.month_date<![CDATA[ <= ]]> CURDATE()
-        GROUP BY months.month_date
-        ORDER BY months.month_date;
+        WITH RECURSIVE dates AS (
+        SELECT DATE(#{startTime}) AS day
+        UNION ALL
+        SELECT DATE_ADD(day, INTERVAL 1 DAY)
+        FROM dates
+        WHERE day  &lt; DATE(#{endTime})  -- 优化终止条件,减少一次计算
+        )
+        SELECT
+        d.day,
+        COALESCE(COUNT(m.member_id), 0) AS newMemberNum
+        FROM dates d
+        LEFT JOIN member m
+        ON DATE(m.register_time) = d.day
+        AND m.register_time BETWEEN #{startTime} AND #{endTime}
+        AND m.web_site = #{webSite}  -- 将web_site条件移到JOIN中
+        GROUP BY d.day
+        ORDER BY d.day;
+
     </select>
 </mapper>