BUGFIX:便利查询

This commit is contained in:
2024-04-22 13:09:44 +08:00
parent 540d2a4e28
commit a749c5dd2e
3 changed files with 60 additions and 22 deletions

View File

@@ -7,12 +7,15 @@ import com.ai.da.mapper.primary.DesignMapper;
import com.ai.da.mapper.primary.TrialOrderMapper; import com.ai.da.mapper.primary.TrialOrderMapper;
import com.ai.da.mapper.primary.entity.TrialOrder; import com.ai.da.mapper.primary.entity.TrialOrder;
import com.ai.da.model.dto.UserDesignStatisticDTO; import com.ai.da.model.dto.UserDesignStatisticDTO;
import io.netty.util.internal.StringUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List; import java.util.List;
@Api(tags = "便利查询") @Api(tags = "便利查询")
@@ -31,7 +34,7 @@ public class ConvenientInquiryController {
@GetMapping("/getTrial") @GetMapping("/getTrial")
public Response<List<TrialOrder>> getTrial(){ public Response<List<TrialOrder>> getTrial(){
Long accountId = UserContext.getUserHolder().getId(); Long accountId = UserContext.getUserHolder().getId();
if (accountId.equals(31L) || accountId.equals(87L) || accountId.equals(83L)){ if (accountId.equals(31L) || accountId.equals(87L) || accountId.equals(83L) || accountId.equals(6L)){
List<TrialOrder> trialOrders = trialOrderMapper.selectList(null); List<TrialOrder> trialOrders = trialOrderMapper.selectList(null);
return Response.success(trialOrders); return Response.success(trialOrders);
}else { }else {
@@ -43,7 +46,13 @@ public class ConvenientInquiryController {
@GetMapping("/getDesignStatistic") @GetMapping("/getDesignStatistic")
public Response<List<UserDesignStatisticDTO>> getDesignStatistic(@RequestParam String startTime,@RequestParam String endTime){ public Response<List<UserDesignStatisticDTO>> getDesignStatistic(@RequestParam String startTime,@RequestParam String endTime){
Long accountId = UserContext.getUserHolder().getId(); Long accountId = UserContext.getUserHolder().getId();
if (accountId.equals(31L) || accountId.equals(87L) || accountId.equals(83L)){ if (accountId.equals(31L) || accountId.equals(87L) || accountId.equals(83L) || accountId.equals(6L)){
if (StringUtil.isNullOrEmpty(startTime)) startTime = "2024-02-01 00:00:00";
if (StringUtil.isNullOrEmpty(endTime)){
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date = new Date();
endTime = simpleDateFormat.format(date);
}
List<UserDesignStatisticDTO> designStatistic = designMapper.getDesignStatistic(startTime, endTime); List<UserDesignStatisticDTO> designStatistic = designMapper.getDesignStatistic(startTime, endTime);
return Response.success(designStatistic); return Response.success(designStatistic);
}else { }else {

View File

@@ -7,11 +7,25 @@ public class UserDesignStatisticDTO {
private Long accountId; private Long accountId;
private Long useDesignTimes; private Long designTimes;
private String userEmail; private String userEmail;
private String userName; private String userName;
private String isTrial; private String isTrial;
private String trialOrderId;
private String title;
private String surname;
private String givenName;
private String country;
private String occupation;
private String createTime;
} }

View File

@@ -4,30 +4,45 @@
<!-- 通用查询映射结果 --> <!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.ai.da.mapper.primary.entity.Design"> <resultMap id="BaseResultMap" type="com.ai.da.mapper.primary.entity.Design">
<id column="id" property="id" /> <id column="id" property="id"/>
<result column="account_id" property="accountId" /> <result column="account_id" property="accountId"/>
<result column="collection_id" property="collectionId" /> <result column="collection_id" property="collectionId"/>
<result column="system_scale" property="systemScale" /> <result column="system_scale" property="systemScale"/>
<result column="single_overall" property="singleOverall" /> <result column="single_overall" property="singleOverall"/>
<result column="switch_category" property="switchCategory" /> <result column="switch_category" property="switchCategory"/>
<result column="create_date" property="createDate" /> <result column="create_date" property="createDate"/>
<result column="update_date" property="updateDate" /> <result column="update_date" property="updateDate"/>
</resultMap> </resultMap>
<insert id="insertDesign" parameterType="com.ai.da.mapper.primary.entity.Design" useGeneratedKeys="true" keyProperty="id" keyColumn="id"> <insert id="insertDesign" parameterType="com.ai.da.mapper.primary.entity.Design" useGeneratedKeys="true"
keyProperty="id" keyColumn="id">
insert into t_design insert into t_design
(account_id,collection_id,system_scale,single_overall,switch_category,create_date) (account_id, collection_id, system_scale, single_overall, switch_category, create_date)
values( values (#{accountId},
#{accountId}, #{collectionId},
#{collectionId}, #{systemScale},
#{systemScale}, #{singleOverall},
#{singleOverall}, #{switchCategory},
#{switchCategory}, #{createDate});
#{createDate});
</insert> </insert>
<select id="getDesignStatistic" resultType="com.ai.da.model.dto.UserDesignStatisticDTO" parameterType="String"> <select id="getDesignStatistic" resultType="com.ai.da.model.dto.UserDesignStatisticDTO" parameterType="String">
select a.account_id,count(a.account_id) use_design_times,b.user_email,b.user_name,b.is_trial select d.*,c.id trialOrderId, c.title,c.surname,c.given_name,c.country,c.occupation,c.create_time
from (
select b.account_id,count(b.account_id) design_times,a.user_name,a.user_email,a.is_trial
from t_account a
left join t_design b on a.id = b.account_id
<where>
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
b.create_date between #{startTime} and #{endTime}
</if>
</where>
and b.create_date not like '%:01'
and b.create_date not like '%:02'
GROUP BY b.account_id
ORDER BY b.account_id asc) d
left join trial_order c on d.user_email = c.email
<!--select a.account_id,count(a.account_id) use_design_times,b.user_email,b.user_name,b.is_trial
from `t_account` b from `t_account` b
left join t_design a left join t_design a
on a.account_id = b.id on a.account_id = b.id
@@ -37,7 +52,7 @@
</if> </if>
</where> </where>
GROUP BY a.account_id GROUP BY a.account_id
ORDER BY a.account_id ASC; ORDER BY a.account_id ASC;-->
</select> </select>
</mapper> </mapper>