Commit c4ddba09 authored by libin's avatar libin

优惠券

parent 91c9966b
......@@ -16,7 +16,7 @@ public class UserCouponFindDTO extends PageParam {
private String phone;
private String title;
private Integer couponId;
private BigDecimal usedAmount;
......
......@@ -20,7 +20,8 @@ import tk.mybatis.spring.annotation.MapperScan;
@SpringBootApplication(scanBasePackages = {
"com.xxfc.platform",
"com.github.wxiaoqi.security.common.handler",
"com.github.wxiaoqi.security.common.log"
"com.github.wxiaoqi.security.common.log",
"com.github.wxiaoqi.security.admin.support.aop"
})
@EnableDiscoveryClient
@EnableScheduling
......
......@@ -50,7 +50,7 @@ public class CouponBiz extends BaseBiz<CouponMapper, Coupon> {
Example example = new Example(Coupon.class);
Example.Criteria criteria = example.createCriteria();
if (!StringUtils.isEmpty(couponFindDTO.getTitle())){
criteria.andLike("title",couponFindDTO.getTitle());
criteria.andLike("title",String.format("%%%s%%",couponFindDTO.getTitle()));
}
if (Objects.nonNull(couponFindDTO.getChannel())){
criteria.andEqualTo("channel",couponFindDTO.getChannel());
......@@ -74,7 +74,7 @@ public class CouponBiz extends BaseBiz<CouponMapper, Coupon> {
CouponPagVo coupon ;
for (Coupon coup : data) {
coupon = new CouponPagVo();
BeanUtils.copyProperties(coupon,coup);
BeanUtils.copyProperties(coup,coupon);
couponPagVos.add(coupon);
}
couponPagVo.setPageNum(couponPage.getPageNum());
......
......@@ -300,7 +300,7 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> {
userCoupon.setExpireTime(couponVo.getValidEndTime());
userCoupons.add(userCoupon);
}
return mapper.insertList(userCoupons);
return mapper.inserBatch(userCoupons);
}
public long importUserCoupon(Integer couponId,List<String[]> userCounponData) {
......@@ -316,10 +316,11 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> {
userCoupon.setCouponId(couponId);
userCoupon.setStartTime(couponVo.getValidStartTime());
userCoupon.setExpireTime(couponVo.getValidEndTime());
userCoupon.setCrtTime(Instant.now().toEpochMilli());
userCoupon.setUserId(phoneAndAppUserLoginMap.get(userCounponData.get(i)[0]));
userCoupons.add(userCoupon);
}
return mapper.insertList(userCoupons);
return mapper.inserBatch(userCoupons);
}
}
\ No newline at end of file
......@@ -49,10 +49,9 @@ public class SwaggerConfig {
pars.add(ticketPar2.build());
return new Docket(DocumentationType.SWAGGER_2)
.host("10.1.37.248:8765/api/activity")
.select()
.apis(RequestHandlerSelectors.basePackage("com.xxfc.platform.activity"))
//.apis(RequestHandlerSelectors.any())
.apis(RequestHandlerSelectors.any())
.build()
.globalOperationParameters(pars)
.apiInfo(apiInfo());
......
......@@ -32,4 +32,6 @@ public interface UserCouponMapper extends Mapper<UserCoupon> , InsertListMapper<
List<UserCouponDTO> findUserCoupons(UserCouponFindDTO userCouponFindDTO);
int inserBatch(@Param("userCoupons") List<UserCoupon> userCoupons);
}
\ No newline at end of file
package com.xxfc.platform.activity.rest.admin;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
......
package com.xxfc.platform.activity.rest.admin;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.excel.ExcelImport;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
......@@ -54,11 +56,6 @@ public class UserCouponAdminController {
if (userCounponData.size() < 1) {
return ObjectRestResponse.createFailedResult(1001, "导入不能没数据!!!");
}
for (String[] userCounponDateNum : userCounponData) {
if (userCounponDateNum.length!=4){
return ObjectRestResponse.createFailedResult(1002, "数据不完整!!!");
}
}
userCounponData.remove(0);
userCouponBiz.importUserCoupon(couponId,userCounponData);
return ObjectRestResponse.succ();
......@@ -66,12 +63,12 @@ public class UserCouponAdminController {
@ApiOperation("用户劵excel模板下载")
@GetMapping("/excel_model/dowload")
public ResponseEntity<byte[]> dowloadUserMemberExcelModel(HttpServletResponse response){
public ResponseEntity<byte[]> dowloadUserMemberExcelModel(HttpServletResponse response) {
// 重置response
response.reset();
response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data");
response.addHeader("Content-Disposition", "attachment;filename=usermember.xlsx");
response.addHeader("Content-Disposition", "attachment;filename=usercoupon.xlsx");
InputStream inputStream = ActivityApplication.class.getClassLoader().getResourceAsStream("file/usercoupon.xlsx");
try {
byte[] bytes = IOUtils.toByteArray(inputStream);
......@@ -81,5 +78,4 @@ public class UserCouponAdminController {
}
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
}
}
......@@ -37,7 +37,7 @@
<result property="isDel" column="is_del"/>
</resultMap>
<select id="selectTitles" resultType="string">
<select id="selectTitles" resultType="com.xxfc.platform.activity.vo.CouponTitleVo">
select `id`,`title` from `coupon` where `is_del`=0
</select>
</mapper>
\ No newline at end of file
......@@ -85,21 +85,28 @@
uc.expire_time AS `expireTime`,
uc.use_time AS `useTime`
FROM
( SELECT `id`, coupon_id, `user_id`, `is_use`, `crt_time`, `expire_time`, `use_time` FROM user_coupon WHERE
( SELECT `id`, `coupon_id`, `user_id`, `is_use`, `crt_time`, `expire_time`, `use_time` FROM `user_coupon` WHERE
`is_del` = 0
<if test="userId != null">
`user_id`=#{userId}
AND `user_id`=#{userId}
</if>
<if test="status != null">
`is_use`=#{status}
AND `is_use`=#{status}
</if>) AS `uc`
INNER JOIN ( SELECT `id`, `title`, `used_amount` FROM `coupon` WHERE 1=1
<if test="title != null and title != ''">
AND `title`=#{title}
<if test="couponId != null">
AND `id`=#{couponId}
</if>
<if test="usedAmount != null">
AND `used_amount`=#{usedAmount}
</if>
) AS `cp` ON uc.coupon_id = cp.id;
) AS `cp` ON uc.coupon_id = cp.id order by `crtTime` DESC
</select>
<insert id="inserBatch">
INSERT INTO `user_coupon`(`user_id`,`coupon_id`,`start_time`,`expire_time`,`crt_time`) VALUES
<foreach collection="userCoupons" item="userCoupon" separator=",">
(#{userCoupon.userId},#{userCoupon.couponId},#{userCoupon.startTime},#{userCoupon.expireTime},#{userCoupon.crtTime} )
</foreach>
</insert>
</mapper>
\ No newline at end of file
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