The following issues were found

litemall-db/src/main/java/org/linlinjava/litemall/db/dao/LitemallStorageMapper.java
2 issues
This class has too many methods, consider refactoring it.
Design

Line: 8

              import org.linlinjava.litemall.db.domain.LitemallStorage;
import org.linlinjava.litemall.db.domain.LitemallStorageExample;

public interface LitemallStorageMapper {
    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table litemall_storage
     *
     * @mbg.generated

            

Reported by PMD.

The String literal 'example' appears 5 times in this file; the first occurrence is on line 63
Error

Line: 63

                   *
     * @mbg.generated
     */
    LitemallStorage selectOneByExampleSelective(@Param("example") LitemallStorageExample example, @Param("selective") LitemallStorage.Column ... selective);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table litemall_storage
     *

            

Reported by PMD.

litemall-db/src/main/java/org/linlinjava/litemall/db/dao/LitemallRoleMapper.java
2 issues
This class has too many methods, consider refactoring it.
Design

Line: 8

              import org.linlinjava.litemall.db.domain.LitemallRole;
import org.linlinjava.litemall.db.domain.LitemallRoleExample;

public interface LitemallRoleMapper {
    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table litemall_role
     *
     * @mbg.generated

            

Reported by PMD.

The String literal 'example' appears 5 times in this file; the first occurrence is on line 63
Error

Line: 63

                   *
     * @mbg.generated
     */
    LitemallRole selectOneByExampleSelective(@Param("example") LitemallRoleExample example, @Param("selective") LitemallRole.Column ... selective);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table litemall_role
     *

            

Reported by PMD.

litemall-db/src/main/java/org/linlinjava/litemall/db/util/GrouponConstant.java
1 issues
Avoid unused imports such as 'org.linlinjava.litemall.db.domain.LitemallOrder'
Design

Line: 3

              package org.linlinjava.litemall.db.util;

import org.linlinjava.litemall.db.domain.LitemallOrder;

public class GrouponConstant {
    public static final Short RULE_STATUS_ON = 0;
    public static final Short RULE_STATUS_DOWN_EXPIRE = 1;
    public static final Short RULE_STATUS_DOWN_ADMIN = 2;


            

Reported by PMD.

litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/service/UserTokenManager.java
1 issues
All methods are static. Consider using a utility class instead. Alternatively, you could add a private constructor or make the class abstract to silence this warning.
Design

Line: 8

              /**
 * 维护用户token
 */
public class UserTokenManager {
	public static String generateToken(Integer id) {
        JwtHelper jwtHelper = new JwtHelper();
        return jwtHelper.createToken(id);
    }
    public static Integer getUserId(String token) {

            

Reported by PMD.

litemall-db/src/main/java/org/linlinjava/litemall/db/service/StatService.java
1 issues
Found non-transient, non-static member. Please mark as transient or provide accessors.
Error

Line: 13

              @Service
public class StatService {
    @Resource
    private StatMapper statMapper;


    public List<Map> statUser() {
        return statMapper.statUser();
    }

            

Reported by PMD.

litemall-all-war/src/main/java/org/linlinjava/litemall/Application.java
1 issues
A method/constructor should not explicitly throw java.lang.Exception
Design

Line: 17

              @EnableScheduling
public class Application extends SpringBootServletInitializer {

    public static void main(String[] args) throws Exception {
        SpringApplication.run(Application.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {

            

Reported by PMD.

litemall-core/src/main/java/org/linlinjava/litemall/core/config/WxConfig.java
1 issues
Found non-transient, non-static member. Please mark as transient or provide accessors.
Error

Line: 17

              @Configuration
public class WxConfig {
    @Autowired
    private WxProperties properties;

    @Bean
    public WxMaConfig wxMaConfig() {
        WxMaInMemoryConfig config = new WxMaInMemoryConfig();
        config.setAppid(properties.getAppId());

            

Reported by PMD.

litemall-core/src/main/java/org/linlinjava/litemall/core/config/WxProperties.java
1 issues
The class 'WxProperties' is suspected to be a Data Class (WOC=0.000%, NOPA=0, NOAM=12, WMC=12)
Design

Line: 8

              
@Configuration
@ConfigurationProperties(prefix = "litemall.wx")
public class WxProperties {

    private String appId;

    private String appSecret;


            

Reported by PMD.

litemall-core/src/main/java/org/linlinjava/litemall/core/express/config/ExpressAutoConfiguration.java
1 issues
Found non-transient, non-static member. Please mark as transient or provide accessors.
Error

Line: 12

              @EnableConfigurationProperties(ExpressProperties.class)
public class ExpressAutoConfiguration {

    private final ExpressProperties properties;

    public ExpressAutoConfiguration(ExpressProperties properties) {
        this.properties = properties;
    }


            

Reported by PMD.

litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/vo/CouponVo.java
1 issues
The class 'CouponVo' is suspected to be a Data Class (WOC=0.000%, NOPA=0, NOAM=20, WMC=20)
Design

Line: 6

              import java.math.BigDecimal;
import java.time.LocalDateTime;

public class CouponVo {
    private Integer id;
    private Integer cid;
    private String name;
    private String desc;
    private String tag;

            

Reported by PMD.