Commit 77adbcaf authored by jiaorz's avatar jiaorz

Merge remote-tracking branch 'origin/dev' into dev

parents 56f64146 f5d73408
...@@ -7,7 +7,7 @@ target/ ...@@ -7,7 +7,7 @@ target/
.settings/ .settings/
.classpath .classpath
ace-modules/ace-tool/src/main/resources/application-dev.yml ace-modules/ace-tool/src/main/resources/application-dev.yml
src/main/test/** /src/main/test/**
logs/** logs/**
xx-order/xx-order-server/logs/** xx-order/xx-order-server/logs/**
*.log *.log
......
...@@ -68,7 +68,8 @@ public class TokenAop { ...@@ -68,7 +68,8 @@ public class TokenAop {
if (AppUserDTO.class.equals(parameter.getType())){ if (AppUserDTO.class.equals(parameter.getType())){
//token为空 //token为空
if (StringUtils.isEmpty(token)){ if (StringUtils.isEmpty(token)){
return ObjectRestResponse.createFailedResult(4004,"token不能为空"); // return ObjectRestResponse.createFailedResult(4004,"token不能为空");
args[i]= new AppUserDTO();
} }
args[i]= userFeign.userDetailByToken(token).getData(); args[i]= userFeign.userDetailByToken(token).getData();
break; break;
......
...@@ -20,7 +20,7 @@ import java.io.Serializable; ...@@ -20,7 +20,7 @@ import java.io.Serializable;
@JobHandler(value = "walletHandler") @JobHandler(value = "walletHandler")
@Component @Component
@Slf4j @Slf4j
public class RentDepositJobHandler extends IJobHandler { public class WalletJobHandler extends IJobHandler {
@Autowired @Autowired
MyWaterBiz myWaterBiz; MyWaterBiz myWaterBiz;
......
...@@ -153,7 +153,7 @@ public class AppUserController extends CommonBaseController{ ...@@ -153,7 +153,7 @@ public class AppUserController extends CommonBaseController{
UserMemberVo memberVo=userMemberBiz.getMemberInfoByUserId(userid); UserMemberVo memberVo=userMemberBiz.getMemberInfoByUserId(userid);
if(memberVo!=null){ if(memberVo!=null){
BeanUtils.copyProperties(userDTO,memberVo); BeanUtils.copyProperties(userDTO,memberVo);
userDTO.setPayCount(orderFeign.baseOrderCount(SYS_TRUE, "1,4,5,6,7", null, userid).getData()); userDTO.setPayCount(orderFeign.baseOrderCount(SYS_TRUE, "4,5,6,7", null, userid).getData());
Integer level=memberVo.getMemberLevel(); Integer level=memberVo.getMemberLevel();
BaseUserMemberLevel memberLevel=userMemberLevelBiz.getLevel(level); BaseUserMemberLevel memberLevel=userMemberLevelBiz.getLevel(level);
if (memberLevel!=null){ if (memberLevel!=null){
......
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
<module>xx-im</module> <module>xx-im</module>
<module>xx-campsite</module> <module>xx-campsite</module>
<module>xx-activity</module> <module>xx-activity</module>
<module>xx-user-behavior-collect</module>
</modules> </modules>
<packaging>pom</packaging> <packaging>pom</packaging>
<developers> <developers>
......
...@@ -169,4 +169,10 @@ public class OrderDepositRefundRecordBiz extends BaseBiz<DepositRefundRecordMapp ...@@ -169,4 +169,10 @@ public class OrderDepositRefundRecordBiz extends BaseBiz<DepositRefundRecordMapp
} }
} }
public void completeRecordStatus(Integer crosstownId, DepositRefundStatus depositRefundStatus) {
DepositRefundRecord depositRefundRecord = findByCrossIdAndStatus(crosstownId, depositRefundStatus.getCode());
depositRefundRecord.setIscomplete(Boolean.TRUE);
updateSelectiveById(depositRefundRecord);
}
} }
...@@ -28,7 +28,6 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz; ...@@ -28,7 +28,6 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
...@@ -82,14 +81,14 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> { ...@@ -82,14 +81,14 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
//未退还, 进行挂起保留违章预备金 的退还 //未退还, 进行挂起保留违章预备金 的退还
if(RefundStatusEnum.NONE.getCode().equals(orderMQDTO.getRefundStatus())) { if(RefundStatusEnum.NONE.getCode().equals(orderMQDTO.getRefundStatus())) {
Integer crosstownTypeEnum; Integer crosstownTypeEnum;
Integer depositRefundRecordStatus; DepositRefundStatus depositRefundRecordStatus;
//判断是否定损过 //判断是否定损过
if(SYS_TRUE.equals(orderMQDTO.getOrderRentVehicleDetail().getFixedLossStatus())) { if(SYS_TRUE.equals(orderMQDTO.getOrderRentVehicleDetail().getFixedLossStatus())) {
crosstownTypeEnum = CrosstownTypeEnum.FIXED_LOSS.getCode(); crosstownTypeEnum = CrosstownTypeEnum.FIXED_LOSS.getCode();
depositRefundRecordStatus = DepositRefundStatus.FIXLOSSREFUND.getCode(); depositRefundRecordStatus = DepositRefundStatus.FIXLOSSREFUND;
}else { }else {
crosstownTypeEnum = CrosstownTypeEnum.ARRIVE.getCode(); crosstownTypeEnum = CrosstownTypeEnum.ARRIVE.getCode();
depositRefundRecordStatus = DepositRefundStatus.REFUNDARRIVAL.getCode(); depositRefundRecordStatus = DepositRefundStatus.REFUNDARRIVAL;
} }
OrderVehicleCrosstown crosstown = crosstownBiz.selectOne(new OrderVehicleCrosstown(){{ OrderVehicleCrosstown crosstown = crosstownBiz.selectOne(new OrderVehicleCrosstown(){{
setOrderId(orderMQDTO.getId()); setOrderId(orderMQDTO.getId());
...@@ -122,10 +121,10 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> { ...@@ -122,10 +121,10 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
refundDesc += ")"; refundDesc += ")";
refundTrigger(orderMQDTO, orderMQDTO.getOrderRentVehicleDetail(), illegalReserve, originalRefundAmount, refundAmont, refundDesc, RefundStatusEnum.RESIDUE_ILLEGAL.getCode(), RefundTypeEnum.PART_DEPOSIT); refundTrigger(orderMQDTO, orderMQDTO.getOrderRentVehicleDetail(), illegalReserve, originalRefundAmount, refundAmont, refundDesc, RefundStatusEnum.RESIDUE_ILLEGAL.getCode(), RefundTypeEnum.PART_DEPOSIT);
DepositRefundRecord depositRefundRecord = orderDepositRefundRecordBiz.findByCrossIdAndStatus(crosstown.getId(), depositRefundRecordStatus); // DepositRefundRecord depositRefundRecord = orderDepositRefundRecordBiz.findByCrossIdAndStatus(crosstown.getId(), depositRefundRecordStatus);
depositRefundRecord.setIscomplete(Boolean.TRUE); // depositRefundRecord.setIscomplete(Boolean.TRUE);
orderDepositRefundRecordBiz.updateSelectiveById(depositRefundRecord); // orderDepositRefundRecordBiz.updateSelectiveById(depositRefundRecord);
orderDepositRefundRecordBiz.completeRecordStatus(crosstown.getId(), depositRefundRecordStatus);
orderMsgBiz.handelMsgDeposit(orderMQDTO.getOrderRentVehicleDetail(), orderMQDTO, userFeign.userDetailById(orderMQDTO.getUserId()).getData()); orderMsgBiz.handelMsgDeposit(orderMQDTO.getOrderRentVehicleDetail(), orderMQDTO, userFeign.userDetailById(orderMQDTO.getUserId()).getData());
} }
// else { // else {
......
...@@ -52,6 +52,9 @@ public class RentDepositJobHandler extends IJobHandler { ...@@ -52,6 +52,9 @@ public class RentDepositJobHandler extends IJobHandler {
@Autowired @Autowired
OrderVehicleCrosstownBiz crosstownBiz; OrderVehicleCrosstownBiz crosstownBiz;
@Autowired
OrderDepositRefundRecordBiz orderDepositRefundRecordBiz;
@Autowired @Autowired
OrderViolationBiz orderViolationBiz; OrderViolationBiz orderViolationBiz;
...@@ -78,9 +81,9 @@ public class RentDepositJobHandler extends IJobHandler { ...@@ -78,9 +81,9 @@ public class RentDepositJobHandler extends IJobHandler {
//三十天 //三十天
List<BaseOrder> lists = baseOrderBiz.selectByExample(new Example.Builder(BaseOrder.class) List<BaseOrder> lists = baseOrderBiz.selectByExample(new Example.Builder(BaseOrder.class)
//订单已完成的租车订单 //订单已完成的租车订单
.where(WeekendSqls.<BaseOrder>custom().andEqualTo(BaseOrder::getType, OrderTypeEnum.RENT_VEHICLE) .where(WeekendSqls.<BaseOrder>custom().andEqualTo(BaseOrder::getType, OrderTypeEnum.RENT_VEHICLE.getCode())
.andEqualTo(BaseOrder::getStatus, OrderStatusEnum.ORDER_FINISH) //已完成的订单 .andEqualTo(BaseOrder::getStatus, OrderStatusEnum.ORDER_FINISH.getCode()) //已完成的订单
.andEqualTo(BaseOrder::getRefundStatus, RefundStatusEnum.RESIDUE_ILLEGAL) //已归还了部分押金 .andEqualTo(BaseOrder::getRefundStatus, RefundStatusEnum.RESIDUE_ILLEGAL.getCode()) //已归还了部分押金
.andLessThanOrEqualTo(BaseOrder::getCrtTime, DateUtil.date(System.currentTimeMillis() - (rentDepositAutoRefundTime * 60 * 1000))) .andLessThanOrEqualTo(BaseOrder::getCrtTime, DateUtil.date(System.currentTimeMillis() - (rentDepositAutoRefundTime * 60 * 1000)))
// .andLike(BaseOrder::getId, "%"+ i) // .andLike(BaseOrder::getId, "%"+ i)
).build()); ).build());
...@@ -109,14 +112,20 @@ public class RentDepositJobHandler extends IJobHandler { ...@@ -109,14 +112,20 @@ public class RentDepositJobHandler extends IJobHandler {
setIsDel(SYS_FALSE); setIsDel(SYS_FALSE);
}}); }});
String refundDesc = "退还押金:";
BigDecimal refundAmont;
if(null != orderViolation) { if(null != orderViolation) {
//还车扣除款 剩余的 钱,再减去违章预备金 //还车扣除款 剩余的 钱,再减去违章预备金
BigDecimal refundAmont = orvd.getReturnPayResidue().subtract(orderViolation.getPrice()); refundAmont = orvd.getReturnPayResidue().subtract(orderViolation.getPrice());
String refundDesc = "退还押金:"+ refundAmont.toString()+ "(已扣除 违章扣款:"+ refundAmont.toString(); refundDesc += refundAmont.toString()+ "(已扣除 违章扣款:"+ refundAmont.toString();
refundDesc += ")"; refundDesc += ")";
orderRefundBiz.refundTrigger(baseOrder, orvd, BigDecimal.ZERO, orvd.getReturnPayResidue(), refundAmont, refundDesc, RefundStatusEnum.REFUND_DEPOSIT.getCode(), RefundTypeEnum.RESIDUE_DEPOSIT); }else {
orderMsgBiz.handelMsgDeposit(orvd, baseOrder, userFeign.userDetailById(baseOrder.getUserId()).getData()); refundAmont = orvd.getReturnPayResidue();
refundDesc += refundAmont.toString();
} }
orderRefundBiz.refundTrigger(baseOrder, orvd, BigDecimal.ZERO, orvd.getReturnPayResidue(), refundAmont, refundDesc, RefundStatusEnum.REFUND_DEPOSIT.getCode(), RefundTypeEnum.RESIDUE_DEPOSIT);
orderDepositRefundRecordBiz.completeRecordStatus(crosstown.getId(), DepositRefundStatus.VIOLATIONARRIVAL);
orderMsgBiz.handelMsgDeposit(orvd, baseOrder, userFeign.userDetailById(baseOrder.getUserId()).getData());
} }
//获取交车时间 //获取交车时间
......
...@@ -36,7 +36,7 @@ public class TourGoodController extends BaseController<TourGoodBiz, TourGood> { ...@@ -36,7 +36,7 @@ public class TourGoodController extends BaseController<TourGoodBiz, TourGood> {
public ObjectRestResponse<TourGood> getGoodList(@RequestParam(value = "page", required = true) Integer page, @RequestParam(value = "limit",defaultValue = "10") Integer limit, public ObjectRestResponse<TourGood> getGoodList(@RequestParam(value = "page", required = true) Integer page, @RequestParam(value = "limit",defaultValue = "10") Integer limit,
@RequestParam(value = "query", required = false) String query, @RequestParam(value = "latitude", required = false) Double latitude, @RequestParam(value = "query", required = false) String query, @RequestParam(value = "latitude", required = false) Double latitude,
@RequestParam(value = "longitude", required = false) Double longitude, @RequestParam(value = "tagId", required = false) Integer tagId, @RequestParam(value = "longitude", required = false) Double longitude, @RequestParam(value = "tagId", required = false) Integer tagId,
@RequestParam(value = "distance", defaultValue = "100.00") Double distance) { @RequestParam(value = "distance", defaultValue = "0.00") Double distance) {
return baseBiz.getGoodList(page, limit, query, latitude, longitude, tagId, distance); return baseBiz.getGoodList(page, limit, query, latitude, longitude, tagId, distance);
} }
......
...@@ -59,7 +59,10 @@ ...@@ -59,7 +59,10 @@
IFNULL(ROUND(( (2 * ASIN( SQRT( POW( SIN((latitude * PI() / 180.0- #{params.latitude}* PI() / 180.0)/2), 2)+COS( latitude * PI() / 180.0)*COS( #{params.latitude} * PI() / 180.0) IFNULL(ROUND(( (2 * ASIN( SQRT( POW( SIN((latitude * PI() / 180.0- #{params.latitude}* PI() / 180.0)/2), 2)+COS( latitude * PI() / 180.0)*COS( #{params.latitude} * PI() / 180.0)
*POW(SIN((longitude * PI() / 180.0 - #{params.longitude}* PI() /180.0)/2),2))))*6378.137)*10000)/10000 ,0 ) AS distance *POW(SIN((longitude * PI() / 180.0 - #{params.longitude}* PI() /180.0)/2),2))))*6378.137)*10000)/10000 ,0 ) AS distance
FROM tour_good_site WHERE type=2 ) gs ON t.id=gs.good_id FROM tour_good_site WHERE type=2 ) gs ON t.id=gs.good_id
where t.is_del=0 AND t.status=1 and gs.distance &lt; #{params.distance} where t.is_del=0 AND t.status=1
<if test="params.distance != null and params.distance != ''and params.distance >0">
and gs.distance &lt; #{params.distance}
</if>
<if test="params.query != null and params.query != ''"> <if test="params.query != null and params.query != ''">
and (t.`name` like CONCAT('%',#{params.query},'%') or t.introduce like CONCAT('%',#{params.query},'%')) and (t.`name` like CONCAT('%',#{params.query},'%') or t.introduce like CONCAT('%',#{params.query},'%'))
</if> </if>
......
...@@ -9,4 +9,11 @@ ...@@ -9,4 +9,11 @@
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>xx-user-behavior-api</artifactId> <artifactId>xx-user-behavior-api</artifactId>
<dependencies>
<dependency>
<groupId>com.xxfc.common</groupId>
<artifactId>xx-common-platform</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project> </project>
\ No newline at end of file
package com.xxfc.platform.user.behavior.common;
/**
* @author libin
* @version 1.0
* @description 用户行为枚举
* @data 2019/8/12 14:57
*/
public enum BehaviorEnum {
/**
* 弹窗曝光
*/
DIALOG_WINDOW(0, "弹窗曝光"),
/**
* 立即前往(弹窗)
*/
DIALOG_WINDOW_TO(1, "立即前往"),
/**
* banner 点击
*/
BANNER_CLICK(2, "banner点击"),
/**
* 精彩活动点击
*/
WONDERFUL_ACTIVITY_CLICK(3, "精彩活动点击"),
/**
* 注册
*/
REGISTRY(4, "注册"),
/**
* 领取任务
*/
CLAIM_TASK(5, "领取任务"),
/**
* 分享
*/
SHARE(6, "分享"),
/**
* 邀请
*/
INVITATION(7, "邀请");
BehaviorEnum(int code, String name) {
this.code = code;
this.name = name;
}
private int code;
private String name;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.xxfc.platform.user.behavior.common;
/**
* @author libin
* @version 1.0
* @description 身份枚举
* @data 2019/8/12 14:53
*/
public enum IdentityEnum {
/**
* 游客
*/
VISITOR(1),
/**
* app用户
*/
USER(2);
private int code;
IdentityEnum(int code){
this.code = code;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
}
package com.xxfc.platform.user.behavior.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/12 14:13
*/
@Data
public class CustomerBehaviorNoteDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("主键id")
private Integer id;
@ApiModelProperty(value = "用户id")
private String customerId;
/**
* 访问者身份 {@link com.xxfc.platform.user.behavior.common.IdentityEnum}
*/
@ApiModelProperty(value = "1-游客;2-用户")
private Integer customerType;
/**
* 行为类型 {@link com.xxfc.platform.user.behavior.common.BehaviorEnum}
*/
@ApiModelProperty(value = "行为类型(见枚举)")
private Integer type;
@ApiModelProperty(value = "类型id")
private Integer typeId;
@ApiModelProperty(value = "请求id")
private String requestId;
}
package com.xxfc.platform.user.behavior.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
/**
* 用户行为记录表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-08-12 14:03:55
*/
@Data
@Table(name = "customer_behavior_notes")
public class CustomerBehaviorNotes implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键id")
private Integer id;
@Column(name = "customer_id")
@ApiModelProperty(value = "用户id")
private String customerId;
/**
* 访问者身份 {@link com.xxfc.platform.user.behavior.common.IdentityEnum}
*/
@Column(name = "customer_type")
@ApiModelProperty(value = "1-游客;2-用户")
private Integer customerType;
/**
* 行为类型 {@link com.xxfc.platform.user.behavior.common.BehaviorEnum}
*/
@Column(name = "type")
@ApiModelProperty(value = "行为类型")
private Integer type;
@Column(name = "type_id")
@ApiModelProperty(value = "类型id")
private Integer typeId;
@Column(name = "crt_time")
@ApiModelProperty(value = "创建时间", hidden = true)
private Long crtTime;
@Column(name = "request_id")
@ApiModelProperty(value = "请求id")
private String requestId;
}
...@@ -20,5 +20,10 @@ ...@@ -20,5 +20,10 @@
<artifactId>ace-admin-api</artifactId> <artifactId>ace-admin-api</artifactId>
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency>
<groupId>com.github.wxiaoqi</groupId>
<artifactId>xx-user-behavior-api</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
</dependencies> </dependencies>
</project> </project>
\ No newline at end of file
package com.xxfc.platform.user.behavior.biz;
import com.xxfc.platform.user.behavior.dto.CustomerBehaviorNoteDTO;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import com.xxfc.platform.user.behavior.entity.CustomerBehaviorNotes;
import com.xxfc.platform.user.behavior.mapper.CustomerBehaviorNotesMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import java.time.Instant;
/**
* 用户行为记录表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-08-12 14:03:55
*/
@Service
public class CustomerBehaviorNotesBiz extends BaseBiz<CustomerBehaviorNotesMapper,CustomerBehaviorNotes> {
public void saveCustomerBehavior(CustomerBehaviorNoteDTO customerBehaviorNoteDTO) {
CustomerBehaviorNotes customerBehaviorNotes = new CustomerBehaviorNotes();
BeanUtils.copyProperties(customerBehaviorNoteDTO,customerBehaviorNotes);
customerBehaviorNotes.setCrtTime(Instant.now().toEpochMilli());
mapper.insertSelective(customerBehaviorNotes);
}
}
\ No newline at end of file
package com.xxfc.platform.user.behavior.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.schema.ModelRef;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Parameter;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.ArrayList;
import java.util.List;
/**
* @Description : swagger配置配置
* @Author : Mars
* @Date : 2017年9月6日
*/
@Configuration
@EnableSwagger2
public class SwaggerConfig {
/**
* Every Docket bean is picked up by the swagger-mvc framework - allowing for multiple
* swagger groups i.e. same code base multiple swagger resource listings.
*/
@Bean
public Docket customDocket() {
ParameterBuilder ticketPar = new ParameterBuilder();
List<Parameter> pars = new ArrayList<Parameter>();
ticketPar.name("Authorization").description("user Authorization")
.modelRef(new ModelRef("string")).parameterType("header")
//header中的ticket参数非必填,传空也可以
.required(false).build();
//根据每个方法名也知道当前方法在设置什么参数
pars.add(ticketPar.build());
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("com.xxfc.platform.activity.rest"))
.build()
.globalOperationParameters(pars)
.apiInfo(apiInfo());
}
ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("api swagger document")
.description("前后端联调swagger api 文档")
.version("2.1.5.5")
.build();
}
}
\ No newline at end of file
package com.xxfc.platform.user.behavior.config;
import com.github.wxiaoqi.security.common.handler.GlobalExceptionHandler;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/12 15:27
*/
@Configuration("campsiteWebConfig")
@Primary
public class WebConfiguration implements WebMvcConfigurer {
@Bean
GlobalExceptionHandler getGlobalExceptionHandler() {
return new GlobalExceptionHandler();
}
}
package com.xxfc.platform.user.behavior.mapper;
import com.xxfc.platform.user.behavior.entity.CustomerBehaviorNotes;
import tk.mybatis.mapper.common.Mapper;
/**
* 用户行为记录表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-08-12 14:03:55
*/
public interface CustomerBehaviorNotesMapper extends Mapper<CustomerBehaviorNotes> {
}
package com.xxfc.platform.user.behavior.rest;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.user.behavior.biz.CustomerBehaviorNotesBiz;
import com.xxfc.platform.user.behavior.common.IdentityEnum;
import com.xxfc.platform.user.behavior.dto.CustomerBehaviorNoteDTO;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Objects;
/**
* @author libin
* @version 1.0
* @description 用户行为日志*记录
* @data 2019/8/12 14:14
*/
@RestController
@RequestMapping("customerBehaviorNotes")
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class CustomerBehaviorNotesController {
private final CustomerBehaviorNotesBiz customerBehaviorNotesBiz;
@PostMapping("app/unauth/save")
public ObjectRestResponse<Void> saveCustomerBehavior(@RequestBody CustomerBehaviorNoteDTO customerBehaviorNoteDTO, AppUserDTO appUserDTO) {
if (Objects.nonNull(appUserDTO.getUserid())) {
customerBehaviorNoteDTO.setCustomerId(String.valueOf(appUserDTO.getUserid()));
customerBehaviorNoteDTO.setCustomerType(IdentityEnum.USER.getCode());
}else {
customerBehaviorNoteDTO.setCustomerType(IdentityEnum.VISITOR.getCode());
}
customerBehaviorNotesBiz.saveCustomerBehavior(customerBehaviorNoteDTO);
return ObjectRestResponse.succ();
}
}
\ No newline at end of file
package com.xxfc.platform.user.behavior.rest.admin;
import com.xxfc.platform.user.behavior.biz.CustomerBehaviorNotesBiz;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author libin
* @version 1.0
* @description 用户行为日志*后台统计
* @data 2019/8/12 15:16
*/
@RestController
@RequestMapping("/admin/customerBehaviorNotes")
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class CustomerBehaviorNotesAdminController {
private final CustomerBehaviorNotesBiz customerBehaviorNotesBiz;
}
...@@ -16,7 +16,7 @@ spring: ...@@ -16,7 +16,7 @@ spring:
config: config:
server-addr: 127.0.0.1:8848 server-addr: 127.0.0.1:8848
#共用配置,暂定一个 #共用配置,暂定一个
shared-dataids: common-dev.yaml shared-dataids: common-dev.yaml,mongodb-log-dev.yaml
--- ---
spring: spring:
profiles: pro profiles: pro
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xxfc.platform.user.behavior.mapper.CustomerBehaviorNotesMapper">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.xxfc.platform.user.behavior.entity.CustomerBehaviorNotes" id="customerBehaviorNotesMap">
<result property="id" column="id"/>
<result property="customerId" column="customer_id"/>
<result property="customerType" column="customer_type"/>
<result property="type" column="type"/>
<result property="typeId" column="type_id"/>
<result property="crtTime" column="crt_time"/>
</resultMap>
</mapper>
\ No newline at end of file
...@@ -2,6 +2,8 @@ package com.xxfc.platform.vehicle.pojo; ...@@ -2,6 +2,8 @@ package com.xxfc.platform.vehicle.pojo;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
@Data @Data
public class AddOrUpdateAccompanyingItem { public class AddOrUpdateAccompanyingItem {
...@@ -17,6 +19,7 @@ public class AddOrUpdateAccompanyingItem { ...@@ -17,6 +19,7 @@ public class AddOrUpdateAccompanyingItem {
*/ */
private Integer type; private Integer type;
private BigDecimal price;
/** /**
* 备注 * 备注
......
package com.xxfc.platform.vehicle.pojo.dto;
import com.github.wxiaoqi.security.common.vo.PageParam;
import lombok.Data;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/12 16:08
*/
@Data
public class AccompanyingItemFindDTO extends PageParam {
private String name;
private Integer type;
}
...@@ -13,7 +13,7 @@ import com.xxfc.platform.vehicle.constant.RedisKey; ...@@ -13,7 +13,7 @@ import com.xxfc.platform.vehicle.constant.RedisKey;
import com.xxfc.platform.vehicle.entity.AccompanyingItem; import com.xxfc.platform.vehicle.entity.AccompanyingItem;
import com.xxfc.platform.vehicle.mapper.AccompanyingItemMapper; import com.xxfc.platform.vehicle.mapper.AccompanyingItemMapper;
import com.xxfc.platform.vehicle.pojo.AddOrUpdateAccompanyingItem; import com.xxfc.platform.vehicle.pojo.AddOrUpdateAccompanyingItem;
import com.xxfc.platform.vehicle.pojo.QueryAccompanyItemVo; import com.xxfc.platform.vehicle.pojo.dto.AccompanyingItemFindDTO;
import com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo; import com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
...@@ -29,7 +29,6 @@ import javax.annotation.Resource; ...@@ -29,7 +29,6 @@ import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service @Service
...@@ -69,15 +68,12 @@ public class AccompanyingItemBiz extends BaseBiz<AccompanyingItemMapper, Accompa ...@@ -69,15 +68,12 @@ public class AccompanyingItemBiz extends BaseBiz<AccompanyingItemMapper, Accompa
/** /**
* 按页查询, * 按页查询,
* 注意,此处一共名称的模糊查询是预测其数据量较少,有变化后考虑加入全文索引
* @param queryAccompanyItemVo
* @return * @return
* @throws Exception * @throws Exception
*/ */
public PageDataVO<AccompanyingItem> getByPage(QueryAccompanyItemVo queryAccompanyItemVo) throws Exception{ public PageDataVO<AccompanyingItem> getByPage(AccompanyingItemFindDTO accompanyingItemFindDTO){
Map<String,String> params = BeanUtils.describe(queryAccompanyItemVo); PageHelper.startPage(accompanyingItemFindDTO.getPage(),accompanyingItemFindDTO.getLimit());
PageHelper.startPage(queryAccompanyItemVo.getPage(),queryAccompanyItemVo.getLimit()); List<AccompanyingItem> accompanyingItems = mapper.getAllPageByNameOrType(accompanyingItemFindDTO.getName(),accompanyingItemFindDTO.getType());
List<AccompanyingItem> accompanyingItems = mapper.getAllByPage(params);
PageInfo<AccompanyingItem> accompanyingItemsPageInfo = new PageInfo<>(accompanyingItems); PageInfo<AccompanyingItem> accompanyingItemsPageInfo = new PageInfo<>(accompanyingItems);
return PageDataVO.pageInfo(accompanyingItemsPageInfo); return PageDataVO.pageInfo(accompanyingItemsPageInfo);
} }
......
package com.xxfc.platform.vehicle.mapper; package com.xxfc.platform.vehicle.mapper;
import com.xxfc.platform.vehicle.entity.AccompanyingItem; import com.xxfc.platform.vehicle.entity.AccompanyingItem;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.util.List; import java.util.List;
import java.util.Map;
public interface AccompanyingItemMapper extends Mapper<AccompanyingItem> { public interface AccompanyingItemMapper extends Mapper<AccompanyingItem> {
public List<AccompanyingItem> getAllByPage(Map<String, String> params); List<AccompanyingItem> getAllPageByNameOrType(@Param("name") String name, @Param("type") Integer type);
public List<AccompanyingItem> getByIdList(List<Integer> idList);
public Integer updateStatusById(AccompanyingItem accompanyingItem);
List<AccompanyingItem> getByIdList(List<Integer> idList);
} }
package com.xxfc.platform.vehicle.rest; package com.xxfc.platform.vehicle.rest;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONException;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken; import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.vehicle.biz.AccompanyingItemBiz; import com.xxfc.platform.vehicle.biz.AccompanyingItemBiz;
import com.xxfc.platform.vehicle.common.BaseController; import com.xxfc.platform.vehicle.common.BaseController;
import com.xxfc.platform.vehicle.common.CustomIllegalParamException;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.entity.AccompanyingItem; import com.xxfc.platform.vehicle.entity.AccompanyingItem;
import com.xxfc.platform.vehicle.pojo.AddOrUpdateAccompanyingItem; import com.xxfc.platform.vehicle.pojo.AddOrUpdateAccompanyingItem;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.xxfc.platform.vehicle.pojo.dto.AccompanyingItemFindDTO;
import com.xxfc.platform.vehicle.pojo.QueryAccompanyItemVo;
import com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo; import com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -46,17 +42,9 @@ public class AccompanyingItemController extends BaseController<AccompanyingItemB ...@@ -46,17 +42,9 @@ public class AccompanyingItemController extends BaseController<AccompanyingItemB
} }
@RequestMapping(value ="/page",method = RequestMethod.GET) @RequestMapping(value ="/page",method = RequestMethod.POST)
public RestResponse<PageDataVO<AccompanyingItem>> getByPage(@RequestParam String queryAccompanyItemVoJson) throws Exception{ public RestResponse<PageDataVO<AccompanyingItem>> getByPage(@RequestBody AccompanyingItemFindDTO accompanyingItemFindDTO){
QueryAccompanyItemVo queryAccompanyItemVo = null; return RestResponse.data(baseBiz.getByPage(accompanyingItemFindDTO));
try {
queryAccompanyItemVo = JSON.parseObject(queryAccompanyItemVoJson,QueryAccompanyItemVo.class);
return RestResponse.data(baseBiz.getByPage(queryAccompanyItemVo));
} catch (JSONException ex) {
return RestResponse.code(ResCode.INVALID_REST_REQ_PARAM.getCode());
} catch (CustomIllegalParamException ex){
return RestResponse.code(ResCode.INVALID_REST_REQ_PARAM.getCode());
}
} }
@RequestMapping(value ="",method = RequestMethod.POST) @RequestMapping(value ="",method = RequestMethod.POST)
......
...@@ -2,11 +2,11 @@ ...@@ -2,11 +2,11 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xxfc.platform.vehicle.mapper.AccompanyingItemMapper"> <mapper namespace="com.xxfc.platform.vehicle.mapper.AccompanyingItemMapper">
<select id="getAllByPage" parameterType="java.util.Map" resultType="com.xxfc.platform.vehicle.entity.AccompanyingItem"> <select id="getAllPageByNameOrType" parameterType="java.util.Map" resultType="com.xxfc.platform.vehicle.entity.AccompanyingItem">
select select
`id`, `type`, `name`, `remark`, `create_time`, `update_time` `id`, `type`, `name`, `remark`,`price`, `create_time`, `update_time`
from from
vehicle.accompanying_item `accompanying_item`
where where
1 = 1 1 = 1
<if test="name != null and name != ''"> <if test="name != null and name != ''">
...@@ -24,9 +24,9 @@ ...@@ -24,9 +24,9 @@
<select id="getByIdList" parameterType="java.util.List" resultType="com.xxfc.platform.vehicle.entity.AccompanyingItem"> <select id="getByIdList" parameterType="java.util.List" resultType="com.xxfc.platform.vehicle.entity.AccompanyingItem">
select select
`id`, `type`, `name`, `remark`, `create_time`, `update_time` `id`, `type`, `name`,`price`,`remark`, `create_time`, `update_time`
from from
vehicle.accompanying_item accompanying_item
where `id` in where `id` in
<foreach collection="list" index="i" item="item" open="(" close=")" separator=","> <foreach collection="list" index="i" item="item" open="(" close=")" separator=",">
#{item} #{item}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment